From 9f546da17c23bbc7cecd499651adada2a1423542 Mon Sep 17 00:00:00 2001 From: Meik Hellmund Date: Fri, 12 May 2023 20:12:56 +0200 Subject: [PATCH] first commit --- .gitignore | 1 + .luarc.json | 22 + .vscode/settings.json | 22 + _quarto.yml | 129 ++ css/dark.scss | 33 + css/light.scss | 17 + css/styles.css | 210 ++ deploy.sh | 7 + ...latin-ext_latin_greek_cyrillic-regular.eot | Bin 0 -> 58390 bytes ...latin-ext_latin_greek_cyrillic-regular.svg | 306 +++ ...latin-ext_latin_greek_cyrillic-regular.ttf | Bin 0 -> 127960 bytes ...atin-ext_latin_greek_cyrillic-regular.woff | Bin 0 -> 64588 bytes ...tin-ext_latin_greek_cyrillic-regular.woff2 | Bin 0 -> 49848 bytes ...latin-ext_latin_greek_cyrillic-regular.eot | Bin 0 -> 58591 bytes ...latin-ext_latin_greek_cyrillic-regular.svg | 308 +++ ...latin-ext_latin_greek_cyrillic-regular.ttf | Bin 0 -> 129584 bytes ...atin-ext_latin_greek_cyrillic-regular.woff | Bin 0 -> 65456 bytes ...tin-ext_latin_greek_cyrillic-regular.woff2 | Bin 0 -> 50476 bytes ...-IEEE_754_Double_Floating_Point_Format.png | Bin 0 -> 9929 bytes images/Int4.aux | 3 + images/Int4.log | 386 ++++ images/Int4.pdf | Bin 0 -> 25695 bytes images/Int4.png | Bin 0 -> 25140 bytes images/Int4.tex | 57 + images/TypeTree2.pdf | Bin 0 -> 26152 bytes images/TypeTree2.png | Bin 0 -> 92282 bytes images/TypeTree2.tex | 61 + images/TypeTree2old.png | Bin 0 -> 476948 bytes images/cache.png | Bin 0 -> 106871 bytes images/favicon-32x32.png | Bin 0 -> 1093 bytes images/julia-logo-color.svg | 10 + images/julia-logo-dark.svg | 10 + images/notebook001.png | Bin 0 -> 67142 bytes images/notebook002.png | Bin 0 -> 84301 bytes images/notebook003.png | Bin 0 -> 125645 bytes images/pi1.pdf | Bin 0 -> 1441 bytes images/pi1.png | Bin 0 -> 90088 bytes images/pi1.tex | 21 + images/pi2.pdf | Bin 0 -> 43905 bytes images/pi2.png | Bin 0 -> 19864 bytes images/pi2.tex | 39 + images/twos-complement-wheel.png | Bin 0 -> 40529 bytes js/plotly-latest.min.js | 8 + macros.tex | 53 + nb/10_Strings.ipynb | 987 ++++++++ nb/5_TricksHelp.ipynb | 562 +++++ nb/6_ArraysEtcP1.ipynb | 303 +++ nb/7_ArraysP2.ipynb | 2054 +++++++++++++++++ nb/9_functs.ipynb | 1142 +++++++++ nb/Erste_Bsp.ipynb | 341 +++ nb/Pi.ipynb | 233 ++ nb/Pi2.ipynb | 313 +++ nb/ablaufsteuerung.ipynb | 83 + nb/entwicklungsumgebungen.ipynb | 167 ++ nb/example.ipynb | 146 ++ nb/first_contact.ipynb | 628 +++++ nb/first_contact.nbconvert.ipynb | 493 ++++ nb/intro.ipynb | 114 + nb/makie.ipynb | 77 + nb/numerictypes.ipynb | 1407 +++++++++++ nb/pcomplex.ipynb | 746 ++++++ nb/script1.sh | 7 + nb/summary.ipynb | 167 ++ nb/syntax.ipynb | 1185 ++++++++++ nb/types.ipynb | 178 ++ notebooks/nb-types.ipynb | 182 ++ notebooks/nb-types.ipynb.html | 615 +++++ notebooks/nb-types.md | 87 + notebooks/nb1.ipynb | 55 + 69 files changed, 13975 insertions(+) create mode 100644 .gitignore create mode 100644 .luarc.json create mode 100644 .vscode/settings.json create mode 100644 _quarto.yml create mode 100644 css/dark.scss create mode 100644 css/light.scss create mode 100644 css/styles.css create mode 100755 deploy.sh create mode 100644 fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.eot create mode 100644 fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.svg create mode 100644 fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.ttf create mode 100644 fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.woff create mode 100644 fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.woff2 create mode 100644 fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.eot create mode 100644 fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.svg create mode 100644 fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.ttf create mode 100644 fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.woff create mode 100644 fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.woff2 create mode 100644 images/1024px-IEEE_754_Double_Floating_Point_Format.png create mode 100644 images/Int4.aux create mode 100644 images/Int4.log create mode 100644 images/Int4.pdf create mode 100644 images/Int4.png create mode 100644 images/Int4.tex create mode 100644 images/TypeTree2.pdf create mode 100644 images/TypeTree2.png create mode 100644 images/TypeTree2.tex create mode 100644 images/TypeTree2old.png create mode 100644 images/cache.png create mode 100644 images/favicon-32x32.png create mode 100644 images/julia-logo-color.svg create mode 100644 images/julia-logo-dark.svg create mode 100644 images/notebook001.png create mode 100644 images/notebook002.png create mode 100644 images/notebook003.png create mode 100644 images/pi1.pdf create mode 100644 images/pi1.png create mode 100644 images/pi1.tex create mode 100644 images/pi2.pdf create mode 100644 images/pi2.png create mode 100644 images/pi2.tex create mode 100644 images/twos-complement-wheel.png create mode 100644 js/plotly-latest.min.js create mode 100644 macros.tex create mode 100644 nb/10_Strings.ipynb create mode 100644 nb/5_TricksHelp.ipynb create mode 100644 nb/6_ArraysEtcP1.ipynb create mode 100644 nb/7_ArraysP2.ipynb create mode 100644 nb/9_functs.ipynb create mode 100644 nb/Erste_Bsp.ipynb create mode 100644 nb/Pi.ipynb create mode 100644 nb/Pi2.ipynb create mode 100644 nb/ablaufsteuerung.ipynb create mode 100644 nb/entwicklungsumgebungen.ipynb create mode 100644 nb/example.ipynb create mode 100644 nb/first_contact.ipynb create mode 100644 nb/first_contact.nbconvert.ipynb create mode 100644 nb/intro.ipynb create mode 100644 nb/makie.ipynb create mode 100644 nb/numerictypes.ipynb create mode 100644 nb/pcomplex.ipynb create mode 100755 nb/script1.sh create mode 100644 nb/summary.ipynb create mode 100644 nb/syntax.ipynb create mode 100644 nb/types.ipynb create mode 100644 notebooks/nb-types.ipynb create mode 100644 notebooks/nb-types.ipynb.html create mode 100644 notebooks/nb-types.md create mode 100644 notebooks/nb1.ipynb diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..075b254 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.quarto/ diff --git a/.luarc.json b/.luarc.json new file mode 100644 index 0000000..b0d5b85 --- /dev/null +++ b/.luarc.json @@ -0,0 +1,22 @@ +{ + "Generator": [ + "Quarto", + "This file provides type information for Lua completion and diagnostics.", + "Quarto will automatically update this file to reflect the current path", + "of your Quarto installation, and the file will also be added to .gitignore", + "since it points to the absolute path of Quarto on the local system.", + "Remove the 'Generator' key to manage this file's contents manually." + ], + "Lua.runtime.version": "Lua 5.3", + "Lua.workspace.checkThirdParty": false, + "Lua.workspace.library": [ + "/home/hellmund/W/quarto-cli/src/resources/lua-types" + ], + "Lua.runtime.plugin": "/home/hellmund/W/quarto-cli/src/resources/lua-plugin/plugin.lua", + "Lua.completion.showWord": "Disable", + "Lua.completion.keywordSnippet": "Both", + "Lua.diagnostics.disable": [ + "lowercase-global", + "trailing-space" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b8c5d67 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,22 @@ +{ + "julia.environmentPath": "/home/hellmund/Julia/23", + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/CVS": true, + "**/.DS_Store": true, + "**/Thumbs.db": true, + "**/*.ipynb": true, + "**/*.md": false + }, + "explorerExclude.backup": {}, + "ltex.enabled": false, + "ltex.language": "de-DE", + "ltex.markdown.nodes": { + "CodeBlock": "ignore", + "FencedCodeBlock": "ignore", + "AutoLink": "dummy", + "Code": "dummy" + } +} \ No newline at end of file diff --git a/_quarto.yml b/_quarto.yml new file mode 100644 index 0000000..ad07ef7 --- /dev/null +++ b/_quarto.yml @@ -0,0 +1,129 @@ +project: + type: book + resources: + - fonts/ + - js/ + - images/ + +lang: de +language: + title-block-published: "Updated" + title-block-author-single: "Autor" + toc-title-document: "Auf dieser Seite" + +book: + title: "Julia für Numerik" + subtitle: "Einführung in die wissenschaftliche Programmierung" + author: "Meik Hellmund" + site-url: "https://www.math.uni-leipzig.de/~hellmund/juliabook" + favicon: "images/favicon-32x32.png" + + sidebar: + logo: "images/julia-logo-color.svg" + tools: + - icon: download + href: "Julia-f%C3%BCr-Numerik.pdf" + + search: false + downloads: [pdf] + date: today + page-footer: + left: | + All content licenced under [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/). + right: | + Created with [Quarto](https://quarto.org/) + background: "#f8f9fa" + + chapters: + - index.qmd + - chapters/entwicklungsumgebungen.qmd + - chapters/first_contact.qmd + - chapters/Erste_Bsp.qmd + - chapters/syntax.qmd + - chapters/5_TricksHelp.qmd + - chapters/numerictypes.qmd + - chapters/Pi2.qmd + - chapters/types.qmd + - chapters/pcomplex.qmd + - chapters/9_functs.qmd + - chapters/6_ArraysEtcP1.qmd + - chapters/7_ArraysP2.qmd + - chapters/10_Strings.qmd + # - chapters/makie.qmd + # - chapters/ablaufsteuerung.qmd + # - chapters/example.qmd + # - chapters/intro.qmd + # - chapters/summary.qmd + + +format: + julia-html: + theme: + light: [cosmo, css/light.scss] + dark: [superhero, css/dark.scss] + css: + - css/styles.css + + highlight-style: github # arrow ????? + mainfont: "Roboto Condensed" # Ubuntu # "Atkinson Hyperlegible" # Ubuntu # Verdana #Quicksand + toc: true # change for Vorlesung + toc-depth: 3 + number-depth: 3 + email-obfuscation: javascript + smooth-scroll: false + grid: + sidebar-width: 250px + body-width: 1150px # 800 + margin-width: 250px + gutter-width: 1.5em + cap-location: bottom + + julia-pdf: + pdf-engine: xelatex + papersize: a4 + documentclass: scrreprt + classoption: [notitlepage,DIV=16,BCOR=5mm,10pt] + toc: false + number-depth: 2 + fig-cap-location: bottom + fig-pos: H + tbl-cap-location: bottom + hyperrefoptions: + - linktoc=all + colorlinks: true + linkcolor: "blue" + keep-tex: true + keep-ipynb: true + keep-md: true + code-block-bg: "#e0e0e0" + code-block-border-left: "#e0e0e0" + code-overflow: wrap + include-in-header: + - file: macros.tex + +latex-auto-install: false + + +execute: + cache: true + output: true + echo: true + warning: true + error: true + eval: true + freeze: auto + daemon: 3600 + +keep-ipynb: true +keep-tex: true +keep-md: true + + +jupyter: julia-1.8 + +filters: + - code-visibility + - julia + - latex-environment + +environments: [quote,indentb] diff --git a/css/dark.scss b/css/dark.scss new file mode 100644 index 0000000..1f384fb --- /dev/null +++ b/css/dark.scss @@ -0,0 +1,33 @@ + +/*-- scss:defaults --*/ + + +$border-radius: 0; + +/* bug in superhero theme? */ +h1,h2,h3,h4,h5,h6 {color: #f0f0f0 !important;} + +/* for output of ?help cells */ +.cell-output h1,h2,h3,h4,h5,h6 {color: #101010;} + +.cell-output code span {color: #000;} + +/*-- scss:rules --*/ +div.cell-output { background-color: #dbdbdb; } + +p code:not(.sourceCode), li code:not(sourceCode) { + background-color: #d9dbc4 !important; +} + +a code { + color: #7f36a3 !important; +} + +img.sidebar-logo { + /* display: none; */ + content: url("images/julia-logo-dark.svg"); +} +/* +img.sidebar-logo::after { + +}*/ \ No newline at end of file diff --git a/css/light.scss b/css/light.scss new file mode 100644 index 0000000..1662eff --- /dev/null +++ b/css/light.scss @@ -0,0 +1,17 @@ + +/*-- scss:defaults --*/ + +$border-radius: 0; +/* $code-block-border-left: #909090; */ +/* $code-block-bg: #f3f3f3; */ +$code-block-bg: #f7f7f7; + +/*-- scss:rules --*/ +div.cell-output { background-color: #ffffff; } +code {color: #202020;} + + +p code:not(.sourceCode), li code:not(sourceCode) { + background-color: #f3f3f3 !important; +} + \ No newline at end of file diff --git a/css/styles.css b/css/styles.css new file mode 100644 index 0000000..f83fcac --- /dev/null +++ b/css/styles.css @@ -0,0 +1,210 @@ + +/* https://google-webfonts-helper.herokuapp.com/fonts/ubuntu?subsets=cyrillic,greek,latin,latin-ext */ +/* ubuntu-regular - latin-ext_latin_greek_cyrillic */ +@font-face { + font-family: 'Ubuntu'; + font-style: normal; + font-weight: 400; + src: url('../fonts/ubuntu-v20-latin-ext_latin_greek_cyrillic-regular.eot'); /* IE9 Compat Modes */ + src: local(''), + url('../fonts/ubuntu-v20-latin-ext_latin_greek_cyrillic-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/ubuntu-v20-latin-ext_latin_greek_cyrillic-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/ubuntu-v20-latin-ext_latin_greek_cyrillic-regular.woff') format('woff'), /* Modern Browsers */ + url('../fonts/ubuntu-v20-latin-ext_latin_greek_cyrillic-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/ubuntu-v20-latin-ext_latin_greek_cyrillic-regular.svg#Ubuntu') format('svg'); /* Legacy iOS */ +} + + +/* roboto-condensed-regular - latin-ext_latin_greek_cyrillic */ +@font-face { + font-family: 'Roboto Condensed'; + font-style: normal; + font-weight: 400; + src: url('../fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.eot'); /* IE9 Compat Modes */ + src: local(''), + url('../fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.woff') format('woff'), /* Modern Browsers */ + url('../fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.svg#RobotoCondensed') format('svg'); /* Legacy iOS */ +} + +/* roboto-regular - latin-ext_latin_greek_cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url('../fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.eot'); /* IE9 Compat Modes */ + src: local(''), + url('../fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.woff') format('woff'), /* Modern Browsers */ + url('../fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.svg#Roboto') format('svg'); /* Legacy iOS */ +} +/* quicksand-regular - latin-ext_latin */ +@font-face { + font-family: 'Quicksand'; + font-style: normal; + font-weight: 400; + src: url('../fonts/quicksand-v30-latin-ext_latin-regular.eot'); /* IE9 Compat Modes */ + src: local(''), + url('../fonts/quicksand-v30-latin-ext_latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/quicksand-v30-latin-ext_latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/quicksand-v30-latin-ext_latin-regular.woff') format('woff'), /* Modern Browsers */ + url('../fonts/quicksand-v30-latin-ext_latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/quicksand-v30-latin-ext_latin-regular.svg#Quicksand') format('svg'); /* Legacy iOS */ +} + +/* atkinson-hyperlegible-regular - latin-ext_latin */ +@font-face { + font-family: 'Atkinson Hyperlegible'; + font-style: normal; + font-weight: 400; + src: url('../fonts/atkinson-hyperlegible-v10-latin-ext_latin-regular.eot'); /* IE9 Compat Modes */ + src: local(''), + url('../fonts/atkinson-hyperlegible-v10-latin-ext_latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/atkinson-hyperlegible-v10-latin-ext_latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/atkinson-hyperlegible-v10-latin-ext_latin-regular.woff') format('woff'), /* Modern Browsers */ + url('../fonts/atkinson-hyperlegible-v10-latin-ext_latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/atkinson-hyperlegible-v10-latin-ext_latin-regular.svg#AtkinsonHyperlegible') format('svg'); /* Legacy iOS */ +} + + + /* https://stackoverflow.com/questions/65480036/bootstrap-5-underline-default-changed */ + /* Bootstrap 5 tweak: do not underline links unless hovered over */ + +a:not([class*="btn"]) { + text-decoration: none; +} +a:not([class*="btn"]):hover { + text-decoration: underline; +} + +/* Code cells -------------------------------------------------- */ +pre, .cell-output { + color: #202020; +} + +pre.sourceCode { + font-size: 0.90em !important; +} + +div:has(pre.sourceCode.default) { /* not-julia cells */ + margin-bottom: 1.0em; +} + +div.cell { +/* border: 2px solid #f0f0f0!important; */ + margin-bottom: 1em; + border: 1px #ccc solid; + border-left-color: green; + border-left-width: medium; +} + +div.sourceCode{ + border-radius: 0; + margin: 0; +} + +div.cell-output { + margin-bottom: 0.4em; +/* font-family: JuliaMono; */ + padding-left:0.5em; +} + +.cell-output code { + padding-left: .5em; +} + + +.cell-output pre { + margin: 0; + padding-top: 0.3em; + font-size: 0.9em !important; +} + +code { + /* color: #202020; nur in light theme*/ + font-size: 0.9em !important; + font-variant-ligatures: no-contextual; +} + +p code:not(.sourceCode), li code:not(sourceCode) { + /* background-color: #f3f3f3 !important; */ + padding: 0.05em 0.2em 0.05em 0.2em !important; +} + +/* markdown: > text ---------------------------------- */ +.blockquote { + line-height: 120%; + margin-left: 0; + font-size: 0.925rem; +} + + +/* my own environment ------------------------------- */ +.indentb { + margin-left:3.5em; + font-size:.9rem; + border-left: 3px solid #f0f0f0; + padding-left:1em; +} + +/* class for callout header with non-bold title --------------*/ +.titlenormal div.callout-header { + font-weight: 400 !important; +} + +/* nehmen wir nicht wg Farbe in dark theme +kbd { + padding: 0.05rem !important; +} +*/ + +/* Julia ?name output 'Example' ------------------*/ +div.cell-output h6 { + font-weight: bold !important; + margin-left: 1em !important; + font-size: 0.9em !important; +} + +/* code cell in callout: no border -------*/ +div.callout .cell { + border-left-width: 0 !important; + border-right-width: 0 !important; + border-top-width: 0 !important; + border-bottom-width: 0 !important; +} + +/* code cells ```julia (ohne exec) */ +:not(.cell) div.sourceCode:not(.cell-code){ + margin-bottom: 1em; +} + +/* my own div, esp. for tables*/ +div.narrow { + width: 70%; + margin-left: auto; + margin-right: auto; +} + +/* my own div for phaistos */ +div.cellmerge div.cell:first-of-type { + margin-bottom: 0; + border-bottom: 0; +} + +div.cellmerge div.cell:nth-of-type(2) { + border-top: 0; +} + + +.math.inline .MathJax { + font-size: 100% !important; +} + +.math.display .MathJax { + font-size: 104% !important; +} + diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..a33d3af --- /dev/null +++ b/deploy.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# falls nicht richtig upgedated: +# rm -rf .quarto _freeze +# quarto render + +rsync -avch --delete _book/ ~/HTML/juliabook diff --git a/fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.eot b/fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..39bbda85c3e54f7a1b5c59f0147a97d92ee7ecab GIT binary patch literal 58390 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%0D^BhOg;YWuwhapZUst z|KwZ9rS5S&Vq2V}1D)8l!qUAI#Ta*$iOY=Beb#Yx<>SNybB`UAqLjQ);o|5~+wk!e z2Re^L7V*hcbSbw~M%gYrM0?yrXdn+9fe}Z1s*t{09*0zjTSlY}+CZ8gK{H(PU*;*; zoR~T3U0~b^;2uu5%nvac;-c@PF9y;RM8j)pVWe>>1awph&veE-pNN&|Na{t~xMlS+ z4dR6lYY*k*`Alk7*PFNEC<v>%6*69F4SswhQ=p1~u&1amTrS{Hi6gNQb{OIsH|%%&8ed?{Y`6HJlTt07-Bd94ijJUwkk(#A8*1xD3Xd$x)m9G zIUE;mFMP1z8#38j#CqjoQB4g*(>vfRicp;D7|IHmfIHt-vk9MI(|KLjCG`QHP#K53 z8gfNKOUK3vQFB%w#(9VnCLl1A>5a5zh%18v;-w`SI>2fQ_<^H9v&hW20R}KK-C{1S zK?E!OGo2+S6o)zlLD)Xr0U;5=dwoDuZcxLjV*8lmX~=y<{E)#?A{f;N-6`cWv0}9R zs40!DEW6#`EML!b`yrK}-}>n1v-7gEOucALp@2@zLtbb!!qjjMwUQJU&>ZoQRf+}S z7;zNU5yJTjJ94|;(Jo)YWNmL!VPZqYgim z3&sw(LZL@m#3?ERWIt+zOCvF(7F{89V!E4&&wWG!5FgUP3J`AjVI#mrByRG-&xops zMK%aN#Dm8O5DIFR@U(*iXgqL~1jaK&itb27Eeor{nB<144;5j&h(KR}dx*jmFc)A5 zD79Zq`i^y)H9n&o@_nOs15&&bYN&5!bd6$1R7U64cS!kHO*%pqIV7NLbk99~p z`wC~rk702vUmscoIT94ncV13nr}NI39oExH7{}{5+M>1eDA`rZ70e+-eM!(a7$|33 zXR9&Y2Kr9+`yw^9=`~UI|CAzUo3=fuwLtzt`lp^x0J1s@N4Dg)`~Xk^LXbL%p#+2T z$oO-z0(>LTg~v)(?*i6egnC9q{Q+o0`kfh7xuJ+x5tW^1m$)gZD-o>x>`RkXCe!8n z59KbjUPf2G0v!!6iqC&MwwnUeKhM-Og=^M=g;y_nN8|NQ!nUOZplMC{)>WTt=bRfp zM2m%Z9P|fy2}~@Eq0u^=FaMhKVl+2bY4XnJ8ZoKoTWM$D)U_S0Tu=KdCvLB#onfz3 zCO_rs(uY^D`(7uyflI{{3BjyOAX;(EDc8iW%9T3X#&yPuSw&b@J40Mj<66LdPbDm*{x@Nv`50d56XD~jdh!7$VZPGR-Rs_T zjZfI4=({2H8Vjo-!_eBRfAUr8A|LKCo?X6SXlDwcVJnCV{3C zqB-u{IF9)pA5uvr-E?9o0za;~g(OXRtH`CH-n+Eq0 zdkN{Ol$~P|25Y%);E^mbl2{%TDpdFrvXFav<6lnwNK#r)i z?QF)$lm-`I2({%0ii6B>7p0wL=wbp30V0t#3)7)2LL%lN5kMQnjKM7iRY7(HLuZja zm}?^<$}r1!zfbIRHI~#JCqEES9561eOSFhbv(`(b>Vx*of{CDJHL~ zJ--N@5LB~OlgsCBB9S>;Ko97YXvz6gKCOPgWf>jTi^{mIUbx(L_7`g%wTzB0|B+aB zBDqe(k^t!sG6;Ui!fyX0yu^xsqGC}sF;W9bmlU0>C*GW|Zj2vmga!42HIIRQ}! z#*?D0xW3>^LH#n@WZPpRiX;@1t1{&aZ`y#+g!vzM#AA}q6Pb{SvkvUD<% z+cVDcIjys@9(nugp-e98Zy`AR3Rwy9wk;@y6)ak|*utAs+N%NluBRXVe!ZLendaE& z|9oBy>ZKqGngWkjMeSykDS;pCzLDBQdD!rIW<Hk)pNA6_9UsS?$Ol?{Zp9}sZqOx zlt{zT9IMeZFTD}l|1Dz=;KE`_WM7L;y5+Hm6^eBkDm&BuD8K`B1!io*>K<}Xiz}?l zCh^QF2z`+Zq)ce>7E-c4Iy$MF4f&PS2sks>q^;ABenQ{N&1S_hcjjLWSx<+EjGvxR ze#bK+haUG3{vsN4fAUICa>-OnIKcKcY07@9_S8LYGm}!%0&kiMuA8z^tqva+o2p!D z6))s_k+bL8x9hV0c&{9~^}SZPj@6KI*pDTTen9QYXO!L5EZ@-4oYuK&KVkEmRSFS_Z$kxK8Vi_C9|C_57W6~x4Tc~Ypq`nLD_ zZ7r?kbiV1yK`wY&B3M@=Nnrr8 z>Jx~Vx0JqmS@1K7VIQx5kj)1c8ImhKEeePC4@I(#Rq4hXgbHIfK_j9c(?pPk!lY42 z1$Qca@_X{bC<@2Z*-2^N%Rfp@wZH6cgsnB;GYa#g;A>^?n|wNda+=<#>}C!NSDt>~ zH1Au0ve97^r5>8CzRTW95$^=?5+gf^@|Qw^=3ZCYbGnaZt>rwQH>Z#^$Mq3$3vNJ2 z=9*5}!hJ}m+u^+!;uH7h5lvZ0#c;c*yC~V;sdzIf>6dZRcWYeCObB6GdZ{FOY5S$r zev$jGgM<~dJ}pkmOO~3?l{5`8${6JKUC*RipY|2ZixgGiO_>{`N*6$;{t|3Ms_Rpj zR#DBtXMt3FS%fHeWRo_~5)QZ?tg@P06BBcm{MVSMZ1$|#J z{*bRefe-D652zcuuU1heelMWEhHz0wEMLdb97h%gbFacfJ_OTjDoaDEu7%nD|b&8jYz7I{G7+kt;FWwRLQz34xw(sSd zGBf)JUBu)^?J$V}y$3y;tW4cE3&*o~6V-wVr-)O(TvrWaPw9uu+EX zdwoA}=+a~5+jde{kXXotHjL+^Pz&3S+`dG**w$I#4vRzQ_sUw@3G>#S)bjOHPP{yjv<`gzTXr}5Wc z6+~M?8@y_!y?6#7LyR-Q$(}0x#?Km)5_$}tE~oRe!h>-=htb}9 zfAVBzvMx$yd@teON0V0*q`F4DxT&=4Ngr@H2>vAx@zOqy3W0GyWB!>u6c$K3Wx~d>CiH17D=C=_Oe~jYvSJSA1x03L>1>u z=^EOG`99UFYH|LRF|?E7{L`^S1q>+|jt!%udJ2xdJwND*xH5@Q{~&fb=@24%dx5j| zQ$~LabCwLjc~hjcg?9*T6J0gi)L1%B&QL1g3YF!!HuD3)Ls7l%hrS}k1Uvor^+1t6K-^)lYs2ordeMl&PoEdOQ6s z*H%vD>z0+>nhHp#k<-DeZ6{tP=Yi02jUXn!^xC~(-|{GEP~v%JC#1>jSu zi;)B|D%xJSzt?tj%0E&|6ApzWzA`44nCURseTh`u%i@spU2j77hKwhdQ2MAXWy+<% zyGcW#R)4X)W85iEKepi5U~xN0|14#v#*iYDjz?#u1sGb%M5D(~d+EQF)pR09FW+O9 zeH#<^cIu75Bx*IKt!{jQm!NnI>_>p9-*pEWpnqZG?pC`}m`1p2?%b;W33Qg$1|bpn-cp5& z*;}|@MlbD4Hp3;0Gs&mhO?eX+?II~7y?w@ zr1X*sSsX9zOA}edb5w8yP5C`mkrgZjjn2o1-SR+v_7~$0i5qG=??bqXl7BjJBCmVz zC;LpOpw_2dKf5X#d!o1Zw|&_M7)(jxLVs*h0@t~zgR7VK!Jn?In{SHkCE!1$++y=; zNX$Idy!$Gidu0F1_W$@FOe|4)R_@Wzh}RcamGF8bw|&jIZaeoeCgkSbuXfPWglhdzxO%a6<=ah4Hrv3flZAMnL@9){z@_AU53iBM*y(;VBfAY zCe={Pj`_f3cz_1(Wh|qdRs@%m~;5jc}_$ZEqh>H|dCNx7vOO)=-N7bN}I z#_a%6H7IJGY3%#;ZUjRR@jZEb9A4X2o&ST&??bn(O1ECREnAY-!6Ig2s_iF)AI$6w z_gCnB?FWupf8S&Dv{_m7Ts0b)TD|D}v=lbW_GTjb$nRF{5OJIBQ0D?eC#(Rmaw`|% zt)#|<@Qb8%pB?`$MCa^WYHXH`A0tKD?K-^y+IIC7tME@t&P1yN2v@mhIrhK$o8472 zG=;RPYZD(e07r`Yosv$$rSI2Irm9-w( zW#Bpw-5bXFZ0FleC)$ZBU$q>*a5pbvVP2mnEHw2uO{s*Sf5^qRE-2}f09Kx5D0ojw z_RuD-n6WRrXXkZyLs%A2Be4aN%#F|LW%6_UBteG+*`-2`? zbLAZZO-Whnd)e0uHPR*zjDD&r&yd64OXrXPy43>cZTu%rRv%C;z1mv%9(z}~ z{|ecP=0)$2@$-I5B)K7&8q}1cGq=L&`_NnmC_{Oyl#KblvZo$(dAiM)=OjueXWurjwK^Jc^*0vKihm(xBQpsA={GWf`fdVSu22Ys|=t&nAF1;da851HE zDE=b<+e|{2Uf&bupcvpREp)Qbs=>Bdoti<>-(!!Rv%&|Z%}oX-`%j5!SKEt8b3-Y| zyc&r~)OSE%Jba6hSFB3b^Q(Ra?+H7Z^0VYrN9Pj_tCPQ@MT!m~iBu*j(Kz@{xGiDm+?K_? zul8JJqejNs$d>zRk72H@TQD`N_GxohNc=Ql-7o=8v|H_M#!$1^Q0``uILfO6f2qh*Md4#n~l6Ip_G06Q`0$rhsP1axch0=8!2+L zm0{k`evFVCF+JmWLM7kQMPz_Vbt*150;8OTIL`tGSM~%f7cDe+?Y(&FM}XtI99r5& z!ro+DjZuJs#>#-nG$jLHZs+n9agEzcF%v!T#hN;|932+-Bef>;=@y5SodoG_%~Kqy z|KDAH?rusmg*z!Py3Ub22-g%+&}7SK`2rbD?aB>B<7@<&{(^(?*?n_Zh4=1Ww^BzVs+Ag(fx3B^l|(Iqf9(RDL5ZYUcXl+&ra^0^ zpN~>mNGX$0(>~$#+#_&jQiJ-(NCpkV-0S(g$Uf|2vQ_AGf-!A+{U#yoW=Rd-nA|hp zw;EaTn9zb!Dy~2(dIOJgtB}{C1+!CC8$FAaLlmIpN9XK5b2RPMC0G4e;>>Ql87{A8 zrAL~9vSXHaBd%#HT4?_##We8#-jM7MW02?WR7lZ(g$uhGE%Ev@y{;5Jju^WXY$BO& zNsoNn`?{W54!M*I2g@auV2}kE`kl0|cD0PIZ8aThcrB$&b|>Lcj`z2-)SJoQTG`tw ziA7jP8-~CXaH zK}&ZXASI}RQySuYdop_|Xk)n~$AsOp-W#Gz%>aBh4idpiI|gFiwRkA2_-pp!Aj-p{ zt*b331rn?Eqv6?J_mdQ-SAChuewefca5`iw;}_>S216te{hx9u28a+xZ^`1R3b6CHGer$af|<<2(Iae^{3mX-~(@kVi^u# z%OvSeHXMJSHho4-Lt1VakBGitMG%senj#3TLEs=M8=2vtDc?GeFUe|@s6B?L?S=CX z@;h#^o**0!4p6XT!U>`rkhKz^r#jLX|A4=&9x?96nJ$zx?$c&9ct~hc(WB0$i1XVd z$TkPZ*65CgFyRBgX{Xqp)FHQ#|CAOkrZTigJ==iUtA9-_Z_X&A-hjSUVPy2O_S}%L z(2ycgP&Az84QTeD$k_>NX_37qjhp4djNBIg%OlVum{CaqZ&T+9~9L2RU3;7N=vB?8|{h;dr z4BV-m4Gc=*^2@D)|K{%;d08crOM|QP;_vzGL0t~#*RuAP>_Kbp!4e=WqL=~4Z*2R4 z{oD1BIP+D(G2kM0#&Fy7`oRGM2XYDS;I|8_y!{^p?h;1aO5oOCv zpc+x%DmX4lQ6bd$tXMrEDWup7QJZPatG}=uuqoVnyb#5 z{ar)pDE0_uj)+ilJ;aaWDC@>RgHAWr3_E~I&_T@`b>d#WM)+C&?7|5u<82o zo9>Sxz)mHGd^4r}s;RtV_FOb7alpVmtahC?U^x$UT5&R@kDs>a-$zPIF25$+r}bCG zhd>t41}wO}gOh4Q138<>yA-Qr5fJ~iK~B3-Fme`o_h4c!_85O;)!BwHf+CYkoU$}C zU>zCc3Q_Atp;QwT8`S!1*fS`7YQM4o_qZh9r^oa=ALcu4O)s|^cs&wzq-uFqCM^u^ zz!I?D&qzMzT|~e)EWA1VY)rngfCm=`Qt7vLjOyI(S3-{t^U~cfrVTM5db~D#94~u1 zHafB9i!>O_p-+)>!uAn_W=J^=V^+pMqoU;V%UV7DY5a(Xn?TQ}DpH8aIpFNsCW3O+ z3dO+zVcKfBI@Wg@pKxKV_nYJgcD8tITWn;`jdWFNTW7r4!#)vOb%vN(vN}62{g9=D ztx_mJhi5D~i*KyRzA?j#_rdw3(bD34_X9HsgMo>g&8O6V`@UxG z;u{sZ$~^xebwnLj|EG3HHtfzStxZZrONFHA!Czq>(dmzPAz;hQWKADe;=4^YgnCJ` z6~36oo@{`?gFY2!xiFN=@RnA}17gWYs4M?INdvD9%50<1FCR4sqbRV6KnMY#LLJgC z@{39iv7B8PjtIUGuUL|WHzF6#T3PV5LFV2R?&8v7Wqyec8{N_p6M|Q4Ivt1-vm|I| z;BTAt@5Ej)*VA@qc*U-VB?lkL5k6JY6OTLKEyw%TrcNi!6kv5hAP~`w?w_Ch#hF~P5uO6)u7!mt+4e_*gmO6W zcpNrS67xpU3B`nTdlEavWxPVIrjvhlWZaI&Zf#*I#q`V^fQ=Q3auO1|?c}Af2o?_w z*h)$QTb`1rP=sH8O{>77+?gs6E&+w19u=gqaHN$5xykAU<7)q`55R>G$({6L8w0Qg- zAC)5PMc$WU`T(*HWE3B&)DbmH0ph@4^WnMmCU4dS+VNsj(9Wj8B$f!}f(eI6Z)kR2 zn6-gIfBE_&&>qW@Jf$E;L23q^g$yXsMB~gVLWuS`3qL;I#2B#A?mnG~EcOeL^b6^Y zTx4pzlZy=4Inh^$+a$BYHM&(GSj*HD8IRqr8?oClW%8 zBf+pR6FB_o&@5VP8K;CNMmK{2+rr_L_GFLGU1_uaxJrTsjY4d z64NiSqe=9DOzW;vfX(@2C16DJDW4$1_YHo(ZeF?6t0IJrR|!$@_oCd!WBXMfuHx&4 zS+|N~F%Ka{IiUpMamf*P(7ScsGAkuQ6ZP8Yh2q_3S?nnVANiQr)Z`*PTVtMYJM?KS z23*t-gjRg)STqAy(7;G@W93MMA@o>)_zfZF`pw4B|P>e*HzrwLBVJT8wa;&(c%KVmg@3 zDeU(EA9;*MGw8<({<6;TA`v;m=`Tgaxup}`g2T;?^UFh4VkX9J@N^J`AkU##L&Bjx z8v+!!o;x_94oM!V5N`!l0y2n*9yaZ}7uvkkG3wBij+ub5Xy+-gllMcvv84yCF`Ni0 z_#0X^31;e{M$wB}CCLvlN&Q{JnmL03OGB8e5u?y5WD#NtkeX6lNIneDw-@#%tO43g zQQv(oHheuaI#FDGBnnJq@Q=P3>6z+-Yt+}Sxyj*b9T~^qguS+b#ySyt=#@t3q&(GGNs`N@2M*{$E0(QP6nd0p!r-GDh z=vdc9q{kuBsbgT#`%-S5_KQrX2_nDavNg(#aclUa&7fE#R~;7!8kp!th=xKqi8`7Y zBSCANLLxs}%HKvpNQYz-CM0@ITNGN|k%=z8@ez^OW~Orv$8_-=mNxp+lIZFYr+gilH>siP z8(=ocH{~MHx9XfQT?@_5zp$!sAGc3I%DuQ|K?&s)P30v;PBwYjr3e(+B_y2Saeh8c zqFAj1TDg0e6blkWfKD6(2?Gx7WCb;%ya;ZhN)b;F>L) zKBV+=BytNYMU=p*xH|78Lw9~~#) zKpH|q1Tbx3kU#*rlyV@s0jr{CgDV82?j7+L{@aD^?h&NS3ruz z5DHwOR|Wp~sK-$2>)=mbhrvs)vpg@zAAM0OikL_NkPld?O!t*U1!*69(D;Lf{-Dvj2(`dT4_3NMtQutQ{TnZsg_&I zg{0ASR2&hC7*;X0m<>}9*TLi_5y6@C;!|#$JJW~9if>_dWGjCsLqBW=C@@M$u81tM zah*hxcJqUGq0$}}Uhad&`KscZK<<9-=nM<4s;%BYfb5ZG6$)uZ4>pl0#1<$40cN`+ ztHpZ%)!8GZKBr^y&pxeDBm}~h6^l2d_8^^O@+=XwJYba*?Pau)Y=p5{#~AfumrIy7 z9jH?bM;D?yB2sM^WHw2qZy-}Gn*i~!Bl6O*RswdwBOHpH6p1$w8yDb91n^Vrt>BIs zD`Rj$tD*2W2Y1zaOvscMA*-ZWS(w@aVTmD3TnE6t;7-2iQ>vN^Kdx$!@&wOAP<>KH z?-*dE{DGX9ul5M9Z>P!NAdiuhDpFLbr+`X~1*x)Fng$9@WH1(}?KwdspQ6;6;Cw?& z6M9`vOW^vSLNvl=1O00R1`NT_xy^>Y=+cu)O+tokO@c8`8+9fj7JQMQw+Yh|05MTb~X zGhjLk5fHDg`ze6J0fROw$&0LUSj-%G7Dv^zitYkhf-n>tU5ffDH1;)$hWOA|Ys@oHzM~Di@6aD+Fjg8 z2qP;3AIRLH84A%PjJZ8-EbQwkfcRkWXR;oG+5&~ZRkLQKAi7MmMftc;G*UNIER1S$ z`^BKWIF*ZLu?lk%bRYpXXMBmMc-jkHz%L##A~bG2WPT4x{&OOug%?n-tB#(cM>*(f z0yNC~_NJ1c_}qhMhA=AQHIh&Xp;NRS5s-u?qJTE2=OJQbBIKRg#JFHiY;qgnRVf+A z59xN4+m)_v8I*)~ijJD#Hu33Rb5POmnebt8d4kGqm9Qv}C=G5YU8)%ndNCLF2!vJy zJ=|al*db6$L6)6ERZ&>Ci!gxT#V;ZN$t~ghIrO zPa22B4ej(jw7ZFtu$y(OA~_6JaO5j-%MA)4k*P1VejPW4P3UnE8|DNM%U;<)Q)v`1r1Jd+awm{tA&`Ql z)h}`P0QcI6H5Hblu{RGsQ^G( zCR@D#?gJbmHu|Enmfj%17>P{}W)-1S${z#M%b?yo0j_l`1R^?2W^Eg5OA$+;rQK7m zESy=dX&?>@l}r{PqP5nr-JH|7WTqiSqg1_U2cm)WpqejErD~G-99Bp}Vg=&<8kcZ3 z9uyb=YUFZUx3>$h6HA-ANx{G}O%4pm^q^W?qR#H50Z2$dJGinL3ITawpsB1;Nr`-T zD^U!LcABUmmUBkvO}A_QerretRvJTZ{53}Mr(a>x;Y zB{a+TEv{??FkG;^O6UENq`A6wk`TDY#oN4?!x89gX-vg39EE7s8Lw+=VLu}ZlqEpL zfY>pIm4HN{&Q!;f!!B4QVaT)zyJ0{L0SXFg2`^_uMAWD`Yq_El#)Lymz{vbvNi339 z-ad#h@827e6DZUf1QQA1E9z?q&|w#WQ49ozyjB+N3F9gwi9m+piEhvlI{eb(mT0pR zjM(GdG?3$UP7XIf^v1)9#!QZojRM)s0Cr)zvZ=Xa7-ORZ|B|Ty0IH+}DbScsQ^}KJ z#F94D;8;D(!y=`kxdw}fm4!G8kPLDRA49rjVWp6cu{NbSEmO27xFE(tLy)aiJjoIi zDsK@>ZbXduSb=dTD2ph%SV8Ts%zV}>>4?IZS`{Xet^=x*l}=kFWvEF>$}1IuDX>k( zrXk$}q27TNSjI-JAT$euBxhSS6nK6VYA&|U&m`Rr0}(wV8keF?EWHwU8L1dfxV}w3 z!e1FS%tg7ql@fy#lTJ$_UIM}-{eaSz2eHSZfx(o@G-8@T(9O>5&9pMgcEx&-^VuGO zT9LX`9vG=kbhh(iP?*%9Ok-w7@}dI-IVBgRn5W6`b|B)?MdTwm=BvpSsxs;`!XGnp zaUhwwR!uL)tOS2C(v(rTVC>o@_nVt|QD*!wJX5^YbOi{hz?>s|3ejwY^bK9B57v@$ zRoc(9CL60T%F;qWVT@cymLy@!-)#Xg5uK3l9gT${XdoyOoAtA0#w7C{^9w;EeAGrM z^NXAJ7|>F(=t6QUK!5DUA*vk43r+jTY!sY@wn~kH!yr0>u?a!+~^WKvb1- ze>_S_7bVhGn?NN}<5cXm@}Fd2JisI%HppZ)TiWvpGK&BrQo|ZM7;8C=Ds5`c*NQWh zDcaNSm`P>y(VEtvO+Mu~_{8k?nCyHrQ)ZMu3{>&KIq|F|aZVCGS^_^o< z3alMR+FOOdvALm^OI8xM)J^febt9Z7HY!z;yD_n_ zp3Q;a+gl=*j$1C?(#4=*Kk#aajJ0jdvfl=$aoK4cIHdmgvf^#Sf_T#?;^gCHpP3iv%c6`-NfRFeJ zLp+HR*waW-_s^RNoqRgaOyvdyh`qybM(KgPkP2 zr^YQMSy$T-BG`_02~^$9V;!KtSyhl2oOWbxr4{t}7wdyQuTruYr5Ze@=#SS zY{w)o4aRx=azRGUu~CPy0WKU%DTHK(w{ijZ+#N*A(GgBOLBki+qKL#iWKKH;6>LiX zq<(1vIn_l}u}`2Yr67{ihgvX-xZg^Obu9#e-4P8aj)wJ6j6s)0N=S}6;q}21o9BBr zB4Jr1oyl%?GE*o}vC;&}g@j&BN{Y8j1z@WWPu&tjE7w&Tqe^8(rU1lzT3>GtGVW3o z4Lf5iB|G||UG+~@B>H!smCy!QiYu1PJx*)yb5zAJrc6-%D)fFLpt?O~jVgEid=8>1 zO!D@R74*$Wm-p4&Q>kCUV4i4ysI7_Q!`t2irqO+#o@Q+a* zN&Du(TjdOhqU$*U6=hl&M;XMBGcAgu+B58U6dEBJY2Q@fQKb=mQV`}9S6ouZb><*Y zfilM^Nmb3!ZWDH2I7%>EEU#sL3<1S((wyG2hbS4tg%pZVzJQvRP!Q(iB9_H1d-mHs z>Wb)+jxlj&rllou`@6ILhxgEk&Lv=4Xy*YIj7P7^ae1G7CVkntu%EW{YRv!=DR4V| z9DQ$=DlRU@Jc!@SDtW%3X-9>81x0D)K7!SV>0vWe1!#8Ot<;@@;6`Z-#9vW{e6tl) zSYIZ_WM)^|C`W*DCvjUbWeOabmIVjEQ+tjSF&DT>kuM2EEfg>jBuwKY(i>S9Ft09- zk47noG+-E|Cl(_>I56N#was!VPP};9#4yRw9?PYOuUdBe&5`cgUB6>Bl(#3er*m-T znZm~nh9dVQSXl^{>{@xi{O7eI7p$5HC0pkFnRC}7+z86+Tmra|m^7MpPA=w%VEm#i z=eHKZ{D-5S5m9opkzD4V7nuM{Std^KCZ7QU8g#^>0EhlpB-VI5M^VNh}nrpdTHdY?GXs>$*#(DN5NrWww*}L;e?b6 zOC)cf%)GgDc140(7TG6Ia0&!mscy6gxwz1ZProa&>a_MQWddPT)-d`gmyzMe z0NmM<^nVl!5`KYXAfjVC!&=leDEPimeozn>?K;%aCj}ldK+UmTxik4wnraID>wOlr z1ZiAmLR-a|y`&>i@ud=y8sHkHdaefto8@ds@Nfhw*ir1=ps_gXeKi*J+>}6mBjMln zkjEl4S`i*Ir@-A>_MFi%6lW7JVt?AnNVxD)s8QalSxS@CjFA^jSk|YPL`H4S4<$eb@5;9hy4wEZ zc{845r`8NeLynB~SOk;H3+b%I7__V?)!Ar#50`iWN6q_2JIZE&aRg!Wp9OY+Dz~en z>}42{s3cAjC6G7tm4W_sF3-s4rLFBNI7Wu zR}e6$Y4j*E8ZaZ218=0uswS*fY)M>ISIEqUEu-`tEtMls1ydKy>zDhEs_;q7&kz(% z>ECVzsRKJ6!1M*mmT6<49R<2dx~_{$7R1Q$4u*Xb(yAZ@Y+CBqfNTBWs}r^)z5>tx z>fy~&tDnqbJ#-4Qx&j#P(i2R(IwrWGVyr5GSCW?Gqlq-ZKQE}7h8KZqiV$z6_iih? zT0KXtW220nthVWGv?<mw44B#i5nwh)Jt5{G-3>j*Qt{~#vew~@niv5B*MR;(A|>Vh1Tf$&uo!| z(P!X%uffZ4R3oiDVHcCre*M@uN+0kBRFNYR{7eH6;ty75C|Ba!f#|BV)H@@_gJBNY zOoN?mkU6t(M0E9T8Hq^q0%!>mXVvIp{>MYYj%am0@qJvbKvx==E|E|zr3JLB2$XVi zf^TT@TN>L9`M0#Gy~-}o@d%wrrNWTt6S_rM%BnIkNk_Jv zx6&rf(tg~|`Z&#SkW3ssXoi|YCI}FQ))r))7K|{8r&ujq5f2@;!+S^6q!1hz&Rejs ziIjN;;#RfZ&V!h)Cjd>20o|vdI z)s1%RXuS02RUdSmXo{fVv8ClUGlh$0JAT)=0~{cEG3qw0=Z4iNapFW=#lNuAS26vd zD75O)Dl0fNg}xII4Q=MR#2ND~O~CVZ!pViOe$W9S_|z7d2k)11XY`lD|L&g>c(*@ShXfH9bMZR1Rmg8p{Za0~D(dHa7~&(zmdKz< z?9FRA8uL)XN^C+{&TZfQhl+}BtJ=_yf-c^%C>bzV`puWPTQG023_|$8l_}kb>aw7; zS~UOwtx%d6)^hdTSDqCX6hjEc+k~7Ih_zat4A;nPspRjHJjxfAw30 z=)=+Nex7_pO}g<}bTtWT_>R;K99YyR=QrrVLZLGJ;F1WsKu*5{C3gev6vv91X*njsyX4e~bij8n| zZJGoAvNMRm5O6U7sL9=_1$fXHj#W`^=i-|)(6n>q=o`st<*!hj3GbqAq@1NdvH}9G zpFfXEoe{>;Ud4z?dRm4gnvy>VxR>tN!Xn;Mc@XjXD=T^y0I*Vx^< zudK*KGhW(;IbI=|OHd`02Zyg}n&y%IIxlnRZxS*lj;y(Anr{jx(-sx(j7a0{m!ks? zxaES2PxsWLB>)(wFmkJ!jU^<*h zplJ{;g*#BgoJ2+@9Ec&di(U~>T0`&@buA6OkXJS0O3!4X8c-FZQRNyqo+mBX76GM1 zRJpMF2Blox>Lh|i$J8?fdJn}16Bm~W zR^0~?1@XpT!WUVfXV9M|m8FOs31cjZJa@C6_-2|3d}FWZ!VH-I(CUoc zcE+}xc%TU4t~>#I{CX)(39nu3B0ftYJ+YTgW{tQiKecL#AI5izXrKpA#B8lF@-VRA zvMiVh0;siOR!W{a+Qvg|f>Ddn(2yKiLZ$;fzlH-8-vEtV0v@bEHx?y`A!Z=nNTT|^ zOiF5_Q$Le2)v&oXTU&QjG{&|sFh&Kuv3o(vqEd}93RUP}`53yAOA$0Ht?Z@-FGwS( z)n1B$T&vt8IN=-Mrf1MCqMAfLZ^w>QN>u{-Ar1Pd0cDsoD3~`}CnJ0MU$Ca+e;FlJ z?xY5Vpgl%UZZp#is!?sEgHu{=@z{QgHLYcuq73bsTgPLlh8>iyX~G2vBF;ooXywke z0bA_RsyOxvIOxUeVv;{Y`o)kO#@T>j)SVj7ao|rAEC!Gk^2$K>(6W))T*InHL}ekal6ldTEB?viu)(nIJs`wLwK2#lQ0Wss z-7@(qeF-U_O%&D0thZ~j9K&R_fJzP$V@G17FeI}!;qE4uX|yD*;IU9j`&A}yl5~Om zGc;etn8eC0QD>EsF5W;`s;|*$e0#;ns*cJtpzl&V($RyROXLRSR*kMtI6vt4RI^WZO?0_^KdNmmjK9!F{e zl~@@JMugqJ-v&^E>LSv}+S+dJp~5>np(-KkxNJ>M2GNV9WB*tN&|`*bYnAAIoyasP zFMx@BUbKk+ifvjfDFDtsPi9%}| zBJ_tju8*+i0joRTT!I+a1{RCa$@yHzmiAY|^AqVAoYq%GMR^d96E&&-IdjMFUo3J{ z66^=Hi&Rh=TYI&jG3CPwDO=N`y%!fMxiA@&x&_6`Y!>hdx~)wQ32Go1+KlA2yU59X z9_DE?KnS|aOuK3BlrsxYl!sltuZ}^XZ_Q3!X?#@Ii~zyqYKn-(aeC%~-$PJ3`>iR6 zm3bx*xWJJhTP!slh%;^p1T3ah_vm8*^L?x<3^fOKyG7ZAt!f)|uO-+2BDWkdxqC>~ z^<5nkw|)fJ=q`?w#<{VECOfLKj+zbF81OQAb6-8HM<(7`qpCWq;gtw1maR&gm<*?2 z%$Unx1I9#p8u4Eg$;D#)*W`VRimi;DVf<0~cGx(c&h0KEn{*-CrNwP?Mo#H|X>=Ad z$q$a*B%v#_%wg^YhL=H+2UNQVDsgmu+EybPYAj@3zh*NYRtSa^ZL)<@+e0a3l7q|1 zn-B)9aj5o79)W{&EQbM+unkr!fOVaiSu7h~WymG6>yely;;e^DD=UWoW3ux|ZVd3y z&)f4;Mp6M5_0bH0Ffa+)nmFz=R^PzZ3CHDt!n^49kb~)P9rioRiY9nl6cO6d=2?2a+ zj#wQrz4aMg3d1wuxCUt{)+QK1KE0WZ?P_4_4MY1k1c2}cJ4gNtoDdKdn)C5vf&HUz zj@;pC=H^8n2W>j-b= z|4xcs8Hwl-7YgCdBJ{*Gb3R_!Q{;mCjE-#gossN;cF+y}5hBFN1UV{3-=#s>4*QU) zZPzHHhK#4ZQUozXv;tm}nA7h*wD=FAH<{*0_>mh!J6#bnKk!YC^X9qzz`%4B*!==+SFo% zX08KLk&)^|Q)@o}4J7!7Qr1%~FdSX3h8fsMI@cr4gFNHv2#Y%#ys#w$g~h24(|%c^ zcSZS%LL@)<+jSEm&l)SW0|-pvhm=Yn$sizte#Ixfoelyl7!D}kU)v4jBn1-;i@~LO zeKtIzcdyrmtZX}{pbN70^`R(6nleCLI30|FF~v!=>Tq=wKP?kDWn#d@G8scj;UfgL zd?T}zh)1{ZTS%zn=a9+Vg@9ekgliL`Muyl+{h&@w%x<=i`p<}CFS+F2x*at%W8S$lG+FM(@RCD-sfH5|TD{_%fx z8!s6I8o@4Mngu?>N^<~Mh{1rjc!(7kG;Rcna)=d>#zCc7i$T%9Swm~UMljpAy=Cb( zw7;1?`tk0#v_aybUc@p__6}J9bof*l)^LTiWEh6h!JrQ?2-3;`#sO%m40&6kpGORa`SL*>7;M34E6T8Y*9&k`+#VHy44c@cHWw=kzs$i1 zl3XpD-seeM%*lo{^yZ$Vp=tJk98JT|DuG1y=)04BU9QAv7di+GUdwBUk(e{#?V^j_ zoPdUS&f+akLM%f+!-Lq>45We=Vk;kSX*)%!QdOEaK&1K-c0NsgJ}gQ@;yedIkPqz+ zFG&2hPH_X$?I`xLL)Hi|Wx0|lxx_e5JQTd;JuJHu=v!io&oA=#xl83i3)8jMlpCa085(K?C_V1HSw*H7AEVUrjX#0qF>DNlOsECmo8v)Rb3U1ZGbx9f zXa$WdAdnS_%E`^5JYl@+k0M(&Ryi}HO4!q!0zD6$7$9P@V2b~YM55yH_MPpw$az>7 zpv$9u%Z-|tB08K9si27DIq(~Vci|&Kni=TGkqnB>^pxul{!y=~eRZHl6A0A#GT*~4 zoM92yrYUl1L6!$!9|yVD43iUPz|Oax#5gey78X8WN4S!Ulb%Wl6=A@5*=zC; zy!q%eKYqhhgsCxWoH{G$)HSTn5&oWEN7#ERyq$5ZW zsAeB^>r}{-z0_v`5J7nTjWWv^KC+DZY6FR|wgL~zJJpm1wiKMMcwgt53a^c=);uIqQP(b#HM z=-sLm z!>n-C44|F>SF;+?dR>Vo*Qlk)YWC%FmZ72jYs$KW!4Bx6j$}g!^VGa&m#$q3&D=aM zT6=TmXCuTBw&KOJCcgUQIOm}kcp!qvUxUXsB?;&(EgI%pB&q4Dns|g5McuNT z&JPP6!x~>ZpPZ+9w)GM~3Y!o^abiVPrT2iya4NA1M}dY8SvKX;RJ8lXC~ck5>p(Mv<2+~CL)%T9?U8N5T=?Zl2TgtEfRB#6oSExf~kGP213gu0k97+ih`;w z&?ms*D4b<}*sWYnH6iH?K&J_-83*7~N*X~`5g*$TEU5jE@eJ)bSubqV&M{Ifialhg zHW=`UY;>Z9cI|p$vn8YxQriA%lq=?a=oRsm(uBB>14S;PImhp$C?S&ASTPKy3M|SW zJ%B|*%PosAWn`ToY)yWW>ql7cM=ACYK?DqSw55n9j&ii@TVJhaELAcA2X+RnVz zrHYs&)pJfHU!V+L2v1rVFag24&&JyZ}`>=eY3V63#l=L0AlUaks^UzJgmbTtna z?Zs4J#Ewwg$BpvLKj-HwgliU*T07)q5P3zsBESgsO;@G$N3_u3(1%o{X%VfeBy#&i=Loq<0i2O5w1o^O z!e|G@bOUUNjcHNbfB^*CJfzUNs0!i;IKqU;N&#U|tNtiI0g|UbW2vQxuQE02Pz$4$ zmKsC=+m9;1Na#RAfy+0DkAUKn*E6K8RhQlzHZjYNIHZWknEzZp>+i+zrd z)=$`OToMUULz@z-pQjQ?EMW|UH|=hd<2`05?<9uD)2TWc+`TT35nz`UG&uN88J}oe z6;Pb6e|0^vL})s@m;dJapG-=ZOrWUHDJ3WyfyO*NSt?k84-|sLM71)0k_8{KA!9l9 z%nvMl6C-zf>neyhXZSH{5pa{;TZ%)p9c%Hcqd+RwDTNAyD@rW1lmHfqhP{u1A~`Dc z;x!rwA8}^cGZiyC4sL?M6rNg!cRBlz08$l5OyeJj6vlCqPs0u}o->Jvffu4QdQ?Uw zI4W7wn#5v#X|auD5A42~UJ1l~pTP88z;N2iIsOfW}rA=G|EFgbw~uxE85RtJd=(w^Zn!rGUHkAlz( zBz7o66r=#`$qVi+NzR=iY5JXZF>gs8$_<^~$TSOiv zrE=B?X(LuGBf@78yU064$dm&#OXf+8XX3r6E=zvkl0edjX z8K9)n4WvvbbHhR+G!K8t1l7jHzK5#;M{Kw<3Kw^No3;W7;xvaJmU-l3nfLt3yeNVs z1W^paG|Ux=&w}tXz;h2rbuqvOnM8sHX|;$n31fO(PLJS_B2f?fEt!NYODQ$Ylbu#+GHC60+d<2?10g?M2~fM8gH z2EsF-NN%7fPymoB$*6u439+k;N=b<)juR%h$CG0t9GOZu$2KG>J)(L>Lm0!vvk5He zcGv)HDGRDBPN+pVW$*yQnnaNq7^uZy${uJ2k-P@B?~TL>B>u4mMPW39YUN-GN&;C_ z1Hn(_`b9@TGCE5$IT8n$Gjag?qLT^Rgo~7(pdh%pgMF8m$h699vUP& zYJqf2Qba^)dKjEyo>gyO((?#V8y)HeP#zvHzAMl%s=~FbTD=~yX*GXxcF4m*D#=9b zha)~g${a@&WTIuee)JHJY$uYGc%np6O;U)KwV%)b)>z|aH2;y=tJs)M1h+!h1FHmI z#2sA8!_dS5OH@c|dm*DiK#;K-znv;VK*(SVVGQ6_$cbtp0X{h8RcAuX;W2#^9orJ? zzMCMf#g}k2ek7$fS_Q@Gq@uyWWX&(~Q~$*i%|WRkJZ(zgaaq?1Oco6XsCzNsVGeWR z{2wG|sZJSyFW7Ez%PlNHumEZN*3u`sei0iv*<_7?!i6C)-2e!CN)ZbHn4jfmXa0%n zDrG7$u_k(VTis@fc*9>|QZVI51D&taVB%6od(3+f4uFn#qjsDNJ_is`y#sPpz){5H z0OkT5`EohJf=l~S$_0bg?y#2ep9M58NFFjr0x^Wld$L+8;s%49eu73&V@yZWjwv~R zRbIRUU!GNn>i$Tg-tpLhIss2QGD_i+H0{t(gH`S4ilDusV%XaBqeX?R+k{dJqWB%0 zerpQNkoYtpcuGG0EwpiwheYo=uNZ~Fu*7S)KhxASw&<5YCdyoKC5=k!KME~SRYg?C&}H5_Io1TBD;N@h+SR3Crj%*pYSY-1Q4 zBO&M;-K96`i6^o^K(E%B1At+u3l<=TSdlU+PKY#71d%E(f<($P#Q+GcfH)MYRx^Y$ ztcgWM6GnT5Lf*cSI}B1lLB-a{l-07&ZvZFM_WnYKx5w7ui2UC)sC$QYz=4;0oWujI zf+avnu*WC*R3M${~OftGnhwsvfQ(4zDpYi*^b zMzGM+D5Km(r>$v-m{OHtyUMZU;&K|6E#uV}jd(_2m~bT2OoD|s!iMN!Lh#%4H{H5|t*^ZdT}7O~f0capyynLw!! z&3A3K)6f8Tle{f@3Uf$FKy{s6MP3Q zHY{*_2{wLK!{RpP?65papi5F=vXd5oZ-ny%Cd2xQIW|`yZ-ny%A!04GSszlTo(851 z3fxlFeTgB$6f)LfoXRwFhHdM&-mb0iL4ajSs1?#tO$p;-(zsK?w%nYzvi%_q;WfWj zMC3;52VD#WNM0_V9dDAT*B^2siZfA0IuVC{0*oSK=&uftvuS9bVNEDVp5o9~^$T_* z5>jvKa!)7*UYOz3h_P{xjY=MdIF(9Br(e;;bG9M3EP=@H9 zA^r?|hq;9J_6pS?c`9U;(aa&{u&YH8{Oj`}cz^2tfhRgo3z3ku#b8S0HO^Tc)KY!G zR)M?xxLP)`jN+5A;7cAM0HAP|n8>J=%P4>T;x{HuV)75zpF-d!iQkq6Yp4OXas#?!bbYm(7pfCjo zXyrYSOo{t|y|7+IfLOK3jx~`fZF3%$nHWmIIXJ|m1%V2f*K1A~fGE3Eqto-LL{mCf zA<~v!O*AEJb7J|(2%@X>?MhM(eH+(6|G;vBQz)kJBO4+TD)3IX15wJZZPvJmoP4(^ z18stBkr7D~Ib2)){FkuGQFOPRaGy8=PJ0h^q|+$-8sT_QVngXaHJQm{rbd{GotG*| zl&Ne&ttm!YHIb4?1EX}JD=|fiDzuTW7$4&F(PCtNQi)Jw{_`Q#i!HaAgr%B6E(&by z@e7Vm2*d4ZKr%o4h|nAgwRhsqBUumf<4a;2(Hekqq+~6=FdWrvn9DDPw@}WKc!VyX z)J2qvz+5Do2iF={oYVm68K2!d0YFA+7}|>a%6oI*!bOhjJQ%kksnNSyq+m@tqfxJ zkGEI!3!+0huSh=E@BB&j&8YS{L}6-u7| zoDT<*{^jsR0q}lamz~Y;Zo^wJAO#~-5jPW{x1eorrPrkty%Hb-`5L!fk3>%_STpWY zWw0CUU;^fM;H3uAdPN4<(>kH}jilDKHzLo!+555$2c(SBxCy|)!>%sA;r)yfrxmqp+^#fsb#hH32VAk2dIywJxJKBno-}GZiFD)>;(*X;?ssD=lkptI={A3cgY{CObNEOx_R~NyO3yI_d-RMC18%I#=4cjiqDA{c?eX5J_ zjya%b2`WmW{39Wp4#r+i7S;`Dk_bT$K4l|CsYi* z59GGw1g;Hz35D+#zC)R=>G*2T5F(!MRxV|HXCP-NJtP}&cFF#VpGJr-Cdnt49sKtLfHI!uKdPMsk%{WwPNUj*uk+%(r;Xz@CB|jU>E!;E zU};RtC<5f!yS8CSFduJkZ7LXvxt#&D;0NcZGqkMl0jpaxi4FXoXU;fJ>ES?yBZtW&lP z-w2lFYEZ&oauyN|OAXv@>J2?+{o`raIq#wi=Qw$YQ_#?(^5zZ z3G`vsEeR-Vv4i9d69cyS9=Q>Co}C+@E?p8xYK?<<1SZS?2WLYE2V;;F(%FJxfw{wy zns^vA;$T%FNC$`s1tvq#0Q4XgCS%LmgtKN--b{Rm?=`vYR6(m4#?jB6ZP=Xz*$b$VAvG zSOKNww`QQa<5OmN%CR?Uqu6d^`XpbY|F|XkK2vxET`9LM+FWoR#YK8tC3N|Yak5Rd^`v3 z$bF>b#a;R&aEqC^N8f*I!0<=>1J5_kA+ znrYz%gL*qZ0`Z9Q-+YjSHRhGqYTQG`Ja5qkg8eu-e>X3{?Y=@3v%=^(fbM+70;Ko- zPkn_~DM)a*g>|%DY3mKl1s}t6*ev;ebMh|9-Ed1s)NV^8Vpyy)5(Jh#@Das+_;TXou~|m=A@B8G%Qcgmn8^O!q-swGZSjVi^^81 z%b*oIS%^P?!>!^ID`M@eei>)5;c(@TQimn(&T}ffEsJjO@BD@72KwwKEd$)_; zx-MklF9j0l9PuH z2uV{+B)AV4Y?N40;V^tX0)iKO8-v0yo#7!k`@A)C>vVhX?Fg#w=lsAg?%jQATQ<~L zN{k6*S?E--mGrpiK9Z{#D8ifEO zGAmPBlDo`$wj@p@4wGbKG-LIV6{@l|0o@Cdh6Ll~{=zUK4sX1e6yP08UNYG6tnNcS z-vR=dAC`g{q3#(EXx0$f$#5TkavU35N<8%JOn^SO=njR9;MOItJyH$^1T6zzA%MsU9So4o@+xug;IgOcI-TMjpoy z2Fe6+Pb+;M1(w=*GU?dTkCxLgtmhR|t3Bx8T{+tVWE1m+h(IAAKo!T7B9M?YILP!x zYV-CFWJd&OZ?PW!jKm|g?fDSAO&buM-KGMzBwYT1R%Gdt5mSfJNOTlTawK@JE0f>-Ivjrd&w&mxp8` z!_aB8#eyswi+8VxI%we(2zJ5qB~tJ(9D-&_KOBG--04&s^R>Wg2shj_|EL4cA07Ad0*NOW7iL_#1p37p3X)KBxv>HbrwhJ8PhJa#7Ep`uqy}=7 za*WbKux0`u)j-C2z)OV~DxWz2d_l~>SPF_8C0Hs#N-z|dDE)l23iQPk{%=O!GICNq zT#NuC{H>3&VD?XWpjMC3%{uhp2DCe%43IL6KzGIDA*N|?Aq>XqTo8yKr%T-+DxZUZ zre6CNAsw=}Ug2nnPrz^dM!wELkt@qpiT8jbsvcu!pmBwy%TgDDb6eoow8dAmChIi! zaj^D>L@Nw73NiAm0#<4h%S+%0vhq-#bl6y84(03q0HRGgKDi!xgZlxF)73#ScOh5%v*y%;JV8Qa{A6xqt48Q#s(p z>SQk&3Ixd;nF`921|wl`=57({vSB3n@suZi3LS?#$S6!UA{?oOPLONJ?-AZ9HAOE zp}}s+sANOeOyM&~!8ipcf^{ymj52#cN~(m2l%8OEQ~^y6R5MHYTLH{c_pqgxX-mOU zRf3W=!P4@rsvxAFiA$okJc6BSmVBtjT|h1@7%>Fa>ZLRSxNm$@Xgpi*6H)a!YhE!S zF|QcRlprcyC62knUO!X|_%e%wPUGVaAc){d3gJ-RFd)(Egj5C<5G5%<>pVL79v`JF z2+D$MLEzBcB&DJ|lY(NVQkM_e&c47SPf(hkxHdRLbbUE@vNqusar8*EIoyLJ+D-AA zsdKQ5Lmx`pM7&|y^{RuSKvI?rmNcL`s>cuZC3fw0XMX;3*E?LzM(?I_iypmuOiRQ;6Y;TWzkZ6*1 zGYBF`dWq=cScmr3fEItN9j|~r4=!8Dh?6AvFi(D1LrQQz__ZraR%@#wMVeLok)a0_ zh?DQ6L*!)xUqKXfe_vY+gsMbn^Fq21w4k~SYs6DSX_y459Se)Debog5j+CE-JQroC z$_)e#E~I4^oF>X^i=@$%_B685dF-K}jk!^yf1lX~5*MQSV}{ga5@%dShBeEUxXQ%M<5u+w^ENwD#4@l)L6Zc%QNP|0_>BpS=9VJC z&@KC;0aa;pjqZ#w4JDlro_Wy;;78{8eva~m(%w|E$F;%art`j$^w?w@3BWCq8|up) zg_ah{nq$b8SxCwcg!UnU)|Yo!^|eqwPQ_kup2R6-Nud2Blq{-WSFs9ap>mD|NfhnW z3221?40BDLjxi;A{y`vPuohzKkB$|JEpirZra?I>&xCdVlt2W)t_T8xI{%l0FcSnM zQi7To^`{8UQ378Vee2=Vx)EH<(cV*lC&2?%YYwRuBCLl0ibYDzt$tW3%NBao2u+yq z=GE6BIwEkq$upByfeD~n#cBnl=!|IzhSgyJzDUQdVr=LII(YliO@(Y2@mZM!5;kH8 z;QNUq;rx7Q8IdP`7snth7*1~i3$Fn>kC_A|K_R$K9q95}vL2OCkGdo&01d%=7R>lz zBa6wwVVk;ui;RGHh!23U#jXV>xv4KIL)E?^=M|)P3!F};oTvRd#5T|?h6<3` zQQ5GW2DgfX0_*S-G7|swUYI{i`=G-p&*Ml}=TVy>?LU{6 zT6`*!*@y?Bj@tyRAW^Yq30Mh0t8l9pRh$g~DH2()fnl&RdX!p6s7oE209X-(b2 zXYIjv=L9~0ruD2JVQ+y+Q#pdwb1KRa8zXD(4>{6%PAd(DKoD|(!P;dA!tTW5C>AeK z!<68Z&Kj6u@1V&WmN_(sY9;4M#7WS0j5eagv4WZpJYAWhl`nDwK|CB6>F7#~3>QqB zYnrF2#(6)wa$~gty3K!&!6$%4@M@>(K~v0uc-4@p{3Hbsi-;0c8 z^dBrVLJ9FVpMN$VImB$Z(0#gT*UM9N%|AguWuU>(ln^HtWBAV^|r$f!U>*Eu_k>f?dC${j*y60l(^D&K{l6M zcrz5Hok*ug;=V9x3Zl8SO-cyxf|ndq)^SR15xHGx92gx<>FZdT2a$3BM(hPdk;GG` zsUPVHFmZSJ=*`gkgc0CviY~{Ykp%Yz@%@edb!ev32t#r*^JQVN81527$zR6NaQT23 zoJ1Zktq>g!{;6>wVY$THL|lV!-;R-B!0r(djfIB~J&Hu4kZ%Z(mTDv`(vlod$X-Bz zPTU(fm_zBO2ynl*va{ij)0@3df`a%cDYAsV`qq1#`e|Yy0IVuRAZfONQ@~)=P%AQ; z63HTaI_dNU7Qt2ykc^!xyzQvg8W>v`9orEZbp(E5Fl;fU!vh{UW^ZfY z0_n7s5+ymZvEL}M@YR{7PTnYLbeb<^`YjlvExdZql$m;$&uGOZYNVh707g&HJTe1;)>Hn5O#)>d^1D9b*{>aAem5S`^)YqXuunk-4sGwL`}903za_) zQ?ui^uy~nywySy`35Zj8k&E3BzJw350w&vxN&Ci8V*qj$rOGBC)B8dx+EIpFNRAK| zGAWo2W-wo``!r;e>-8_ibk1`>p0MB%$yOi<3ttkMq-a-fn8w)W+${+el}9;~(7MX+ z^bRhfXiBG2^x4UT5X_*p!um}k3EY4|301pl!`*VY%v9Q5pWZ?`n67rnDJ_6f zxvLMB7*jOZS1r3T#r=xN(1)oN{H=jfWZh>Fz?VSxhpU>vD^1PO6gg-22x%+Rhuvs` zI_t?ZFvWq_H4MA}&oLQt^og3Xn4Z`ic$kBrv%q7_)#D-Ubqc$mH+2nJSDcP$=u7); zas(1}@N>C!4SINE(Vp07Tcg(Fc+xHnnwAFy$gWO6rA&CK(5XO{M*;n6(5wFSM+zh3 z#o$I^On$11oKFe{|0ix0LfaUa3NdNiiVG@m)*(jiJQvE)X^KcyLbOn&f=!Z(h>Anf zJQrsij0!6@xWfD1rz*rJ2Ot32sepQ%tN>k*eXEcc*4oCp8aW88jLwV&{!9)_#x+s> zTH0qAFW&3O~X{B7=bO zF8|`xdb?-aw@pSw0@iRq$F#=ihpOTcVH72qz@Re2V0Y_C%!bnzEFh00*ZVTU5Jo^2 znURO(>;5%tF6^@)Img?fjrElpZP3PiYM>PJiucOR zO3hUcH9r+@i%g&)t&%)K!p@d5WT$EdO7z~7B(;(yCIrybTS0+amRz6;9RiPLxR0wW zzCHDuh=>sb4QeZ83?PjD@J4nmMs`Ss!)h=U>tpxnI(HEy+I&AZhEuqRwA~tfRf^5% ze0g(hkJv4wZh?_jEg7h*M2v)( zUz?PWOsa_3La-eY!M1#6gQi@2Yh}v_)kl{Adj9_yyU+3Kp&qyXks56Ewk z5k|q`)Du{DZ{1u9`ELgJtUcuf$QYP={8A(I6Vo6$q@S|=TBt_)hN0ED3Q(Iiz@Vpk=^QWx25#veMbmMu76^%Lm5CAPYb5ke zi;CxbcuNXba;~LxiGb2Vv;v4!OuwlQR z3x~+%Iv@XpP{85Fl3YGf@);42*!4VI6&5Jbsq(sYTwX$Th@?oLDnC@+5RO)dI%lAZ z!Mh&9gr}J)YxUC6R4WX2b|bK)7Z4sQM2*tJVNb>Ix*{xgI@-0!2hT-9Fgy3O%Exbt z9(u@mth^PIvY8=M5LZ+%Q~Kp-n-Wn(1b$wKSdg6vLZ;pkNw^J8A>Fh;>Tuz)4xZBq z4|GPN&=7*mZlaE%^ks}}dJx;^nGbKmIaJ9qU>-ddQV{U~nq}*&i>ntcH!G@Gi5Trj z%po*QQ-w0{H75d+n(FHC6z3ut$C=3_0wZ06y!#MI!)aU2k=rDO(mN*&rEB3Rl~$(Xh$LTo-zfZh>gPi1fRy9A-6|a0J^>xlrQrVT%qP%e z$(RS+ZiZZBIKWk581Bm|-|mW)5LLdGM^mLMQOHvw4p1E;$OGD<$OFjrQCymWaynAN zX;w^Ps)VK{V=lx=n8;_vm^tjB*qF1j;iTOC*;SCdEfy7m-alwMza5nNyMVz6r zE!vyCCcG%~dwC@#xSqCZ1h83{L4-tA;1H=1f~;*85m`{yS)YL=a2Pq7^_in2e!C5rR-N<#39qhNy`Vb$AI5&j^ZQ1wACwav*jqNuv}AMT^4I zOoEx@r8BrSyDON224F9Al8g}nfU`QUcP2DAldN~vKe%bxZcsJUD9 zE(3b)u?V-8MijQ{S2#ul0Rk&tvQy}Mpoe5_ddCfI%^D`e?ZaG6Q2@cNCW_jEd-(zP z{oDw##MTRl1NB9uRm9CfW)NSqbIR+dQvF&HK|q`dA-(qCu;db;68QF6t9L zhf?0S>DVN+xJd+t!4r3BktayOpi=@y!*o+vQ&e~8j8ZUfcsjm;e!1!L2;?(vvTRh` zBx54hgxJ#2DP+ZD!rLU7-r)>7(xN-5#-2m2Ns$z<@q!`|Q*`x@6=OA+~okSOOpWqbBoG0s#P#M^I7pCF*II!l2a65F?DBHHsosi5(~nw2nmqxJDsdpp!_36D|ad zKN1pze_*gT4vG-*JifRcd#; z>WRpZOqd9v!=AtUB(GQH(E@{w05qtXIN2&`F}Fi!%4j2dIyOc6 zRK;B3rPDc~3)wSlcJsLc0TI2HIUq5CeF$cey}LF}TEM<(q%<|(Fc6r`sYswg^#n2( zg~Nd{Fr&?JWQLAMw%==6pehO^c0J?M;hLI11vP{PRHI!+(Ue1WG4hdy!q|q0lw?lB zLK#+6Oj7}%@MI&*?tQ0k4TJ$AIQRUIIC=8QF7A zRh-C5(}|3OZfH2ZwgWgYwd?k1NwTC1K{H^jRasR=eK4PZon1#n2C?~pD1xiddGyx? z48J?crr_ZB6@i33V4$54RJz3gR6GT#m?q2&spqB`!|2wUu#PkQ5@Aw=`Tx9_VnEI? zEJ!&)bJiU(8D>*3*L#_X8FLK2!I{40{m5Jg=wKjkSK%pt@qKb4UcXeC@q+#YH>K~htb3(9GLzoFu2n4scR(?&pZeV@=azjsU^ ziNuh-ASX6h8O3h|Xame^WK8!K!0^z{CPm^cR1e$fN613V1#JgF9(=3GE>NwZrv?&8 za8rr7T{l)MoSPH!>Kk5-n&b6bQ2nmurPVbS0p9tr$xPH#89en-<%#77} zNX)_3hLrpUohb5TGeBGIF0PPRIJkBN@o6%Ox+Dwvs0K&Xrn3F7p z(b0Iw!bT&jiEM!LJdYHIBw}=<;j9O!1|$&aWyQUf%@&oU@*WwY-f>X_ttg5nT8@ZT z)I#Q#H6x{uAEM(@RHRkNdUM!!u_{`Sf5^tiAh~4L0#S-6 z`pPNtgO(pZm!S%40e-qQc&NQ^GfajVDlEEUr+474(*C=S8|C!un`s|MqV zR9LCTlg0xGFC0puY3RXf6Ht&XhguYF6pZU&C|jLssin-36%!o1zak^x;}s%S?D6u> zf(BxKeH9$7MQa3W)T)Q4Lx6W>1a<3@b)KMZg~grngM|#i%W{lf1ix^nagJ-pMJUP$ zoK^Gs@q$5|a)HY1GzTZ5AH{NxstqP79Vk-*-A|lLi)ba+2)q8=pC>nOKqx@n?qZjK ze+eWR_Vk+~HpwSzU;}G=ZNbuw9hx$2%4DNyHqZhl`L^QnuIK-su2VdoH9~3|sb5pz zcS}J=n3zLJ9vZ2#1ZV!&Is_bwqJ*dT?N*>6Gk(t-C-zY+oTDMpvB5#DT$LpCWWMo)mHJP&sJ6HmW7#ChrkW^g}*z;kx2U_A) z)wc364!Qks1V^2sRlwE%$k}K}FUysOjm276w~E7?Qyl>a47K@gXam!G=U5i9jbtF= zD9L5t2M;u|Map`A7`mQD)L>f#Z4lSie@fRli526fQSaoB8Vv5qlYpvkc9>H0fGQV zlRADEtW60l!bAYWPokpWWw@YHZ8#DeO@tK> zn>|6KW3d%m?I?XyWo@8BPa0^(y@G>Z{vP5KPXC`Q`4)0$>=U7&u0x%f0MmjClNJb= zHWY~7YHGrtLTQ6QNeea6rs>EM&y%3A6~U#1G*o12gu<|`Flt$+e1suszvh4Q>Og9a0T+Xa*cBZVSHnnV+={!Bhb#>@ejH@Ub&6Bfk-nHRORYUyGH z{TUa3Vdl*&Q$SOOMgzzMqJF}9gXJD{^1m^pAE#3a$_v}Ffk;kgs6`_Ef0g<&0g6Q) zLN94~JCviq#l564m{H90(4?OESwMj)i6lW#PcEs#QYT7nC#(Wl_PG+QJ`{#y1pr{l zP+JkToYnNJq^-QjnI-LHVP8>cwu=-(jyQqbV1eDvQBljR(nT#!a+TgFB~uuhhYsJg zK@APy^08S(x48sF!2^1BI7SER5R$lLE98=xV;C}Y#uS8*w=_xczjqkN+=$F#-X9hR zUl-N$hyCS3&FDbH^kul0QH3W-5bjTvbP7SP`actqflI9*;e>zwwBOv>qx-iI>Cc;gETZO zFz%MW8b=`@z>HCRUFC;B`Sb+mmlX@_*DT5`ae`z@zPEgmR`ni84Bdx#nFPI_Q77k1 z*vw4B>EK!rXpUE-8pSL1AUt}C?k#9p;aC6?%)t(1r~kYqWu)PVXt-OB4KxVgQdR=MhSAQn7$2LokaMu%g9d=aKfIMQg?oo~{iblr( z5Q6HaxK#Dx1_E}mMIV5W_%4w|6ZlUn#jvsqSC41YbXd%rhl zMkgVCv|IUONp`a#G#L&p9ry9mt2$6gn|u}Jd#oUA)-`0;Z!avuoK&cg%H&W2BQEF#??rA$okNFsXBpr z%0sPBW3?RhLFIJg`oqHwh?$514CuiLJ{%hdPM9mycDnq$Mc!^Y*C^`Z28KsSkL<(P z7^T!<0(1eVtU7pLdZ-qTaJOcUs)4{%3^U4yqsIRRN?}#^!+Ot7p@pX8oy0uwITHl~ zaZos#gv7`ZY>}d;9-SOIC~3tbI4&3zlY;rMX2a5?>9j&02U;;saubLlFkWFbA}3p6 zJQ+0FaeKVw`hJ{OlYq7v~s)5Drw z8>LblbZZis31mY>r_Tb_FBn=(RLWL{5d@`6#unU!*2_+Y92qGYI#)1avCr8EnpnZa z2}&e1woza;6|xAd&=0~G{9xs3bDY>-(&NzVxEKjBZozLyIACegF-0i(qZo+dcjZf~ zAPKOI{9@8V0rGkgtJ&a3MxYbIzCH_qOy^<$V3whY*i|H>%#6ku8q{Nvht&c|aR6X6 z)zl%;h>Xz{C&Esoj?=>Z^|kRiZU0Av%AKI7-86Q=>RClfirNT4>y;5v%w*|;!rF2$ z>0roU@`xg_rLpko0MDr_(2-O_+rBWWCxVKkDN&bH zz>4JxO;KJHikTE=hXjH`1W?mt22I*P!s3bDOcc^TQ3615v^PAqY9u15;O} zsA3e6O+yKA+zBiM=tVygIB03&MWk5pG;zw~5Oxz%r7VtXHDMwUv>`x^Z{^6~e`L&( z{6}BglU6XIKcHl>Km!7Xp%mFS_RW0zYTJ0v0#rvIWW)lt)9xttuTFloY|s9qA*1fj zHGd^_aYsrSKq1M0pZ-F%M)2uFfZS(qHrG@Dfg?p>C-Iy}AvT zSYsURBQ5eI{TEd$7^zx zSnY`nD|LZEwEeM->qTKB)16){1L}~JY2#MsQH_eiXj@$-p(u|OJRA{PfUi<4*Q|8* zmM9t{3ZfkrPekzNl9VX$k}nL{)VYzp!GC7*i|_-rD7o%yww6qA*CUyrBcF0<@Dwmx(JL=m8^ zR#>?R&=s*2s~47K<|tJF3m7ibN}&=Sawj7rZpU)H&MVqC*92Bkq-$eAV&DrQ=Pkd~ z*Z|%UC}@rcU>bPy&;{%6UXvb~cBJvuYi}F&&9G{R$?bFc1(6xyxb7cPzoGTuK(I>t zqLo4l5-g$1GjNeR{4;Dnc>GNxp#p!vqr|k__6ZaO7==H{0&rE7lSe}bkAux5mPMCF zEd-Up3M5RZJWh((7$ef;>Q+7#JyL8j0CIYPinS2cl20LzQ)j7Z$^Q(|ObBiJ7#cfh67J-KSU*CdMxP00N1Oz-B7jkNMp7w7#Ug=#$eRwVl50*=tE00Swa#AHtwVDStU=ptL&!W zHVs*de5BKcE|x6PniY@Mtj%t004#lP=$ghSoN1;DAr2uUYX*3Ht5yXP)zkDMAO3{okabw zv*`Qry|#>B+2R#|_8dg~aE_<^5<#o66y?GN%};MNZ35_s!gKSaW?=VrP9OkPK&B?P zai33ULogWCHVujuG`1O0Q&YrRW;2p2k*HS~!SGEU0@E1oyrxw*D|lCv1Ay_hglhb& z4A8{xVYAIr;xN<^AdQzrUZjVvUy$5rNQvDlS|UVjaWRU9fufS=7OK*-YX{RF=C1e9 zWK^;ZJEAhX)G{MNBf6}!u~BID*w&9Jj@1g6j>Mg=ON~_^=ke5Ik2tmM@SaJ$cL+{G4O|w2Vr?L_71d`HK8Cn7y>4@qA z(mhCH`vC?4^_SQQ;}naK;b3?bK>V%%AuTp5&JTPrcb|rSAYoXdbYnHqkM1`Q%99ST8F96)n234X7Lm3WnfA zOME-*A*4e+{WxqXQsoFCqNjsY5HV&c`xe00iXm>{^jrRMtUZFa&kXfz%W3^pgwKq3 zRU`T$(rIEMiiVOT!o8Citi8uBjwcv@`iyb3f!|L`hkAuWlBE=7+>IQBJjI0G4#52lVKYb`i?{taav4;c;sN!{~}bmwkR%)%$yhg-Y zKu6{sH;!BYwEGMh0KcSeRzDbp%PL$ADk_N9(Y$=n!P!w=#27On*w%6;{({?2XZHR( zmC#xGo;p7sq2x%ZDW}R2{!S|(#vxaV&ZuONow(57npu3gq(}6h7sZU zSD^KK&){Y@Cn0&p5iQZ3+shG}2){5#W!~RxXwp!|Ln=N!or1Kihk2wcY{25Z){HL(DC3xv(m zHZkZpd8Pm~An|#*6C)Yq=+NPF`soQV`70oj>r0y9f$?tNyMX>DW#Z^`E_DEn!y3l< z1d(89(5nzoMgamsL;4b+nA9-7L=|wwFUAfQaUMlg6iI)3BO+UCRx&SoEv4I*ogb#G z)_s`R9t4UHq5$DM{^pum0~s734lQ@IiARoA`J_vJ`4KBC=*W1B*a~k1B+(Vt!d>kb zFUu21K;R_+#32ZJsZP|;?v9dc3hivV0RTvl2T3botgc-AB9SD$AuEV~#tC?z)?F<( zc>UzaA^C0~1%pptg^i3tK(0~SQ1q#ZAU-7EU5kQM+Wr?3V~&Sx8MVX#tN?9Z14=b* z=Ji%?!x>3FhAg1VWh!u_p+wJGyhtG1nLUVV9l6VG0`5ZYROxO>x)E#7Zw#a$I%ncT zumU4#J29J=k1v3MQSlJ)foMOYy0ZXjI%;{24+{#XD`_^ZsJ&uW+O-!c2j+nRg{Vy4 z%EKS=1|?egsDl2BwhbU=A-|TfXYMw{Q^~8fq+y65vX`Hs0ZET%u7n~K3=m?yR54JD z?15se$xNbzq4(lC2{I9A@Vd?J;kY!N3*(;8A~e-qVw(WsHb&|qB)}C;HCaW>pW>Q^YC08R+8juz#9`ao z->Z9J0=9rTA>q4>2>uX`q$ASKs;^{M*5S~l z)Knc=5j#1QH107}^|=?s)G}q81Zb>?Aj*rM4;tJFW)-@_9xYl8DKDkq|wL=K7#$FN9aT7A)O1bIe z304`V%&1Z+h~iCiK(Ou-I10cv?whEooJ>}T_orZl0CPd)Hg83Rg-0_GDGlc9=aUC_ zqia1*C}=ir;$@p)1I9;CF3gLGfDFAjm;xblJgb*ES}VB4vbKc9QEe}{Lg%P5pe)ji z-_s9!E9u0T1COp?K)P5!ghM!;)WaE<-~lU=xCE9@c0{#O|J&370!o4XF|r*jS@I4h zw^Sw%G5|)8>Zoflum(*s-S8_5nhUDnB@zfR1U;A~fL*!LNz8`1=W-q*FWn>a$uAhi zmNvT$0TJvX#JNxjV!=#4ECs5=@fv#pj_i%0iZx7}mE*uc>i}S5>Ypht((<`-ddSou zMZwLrDKKW52K9i|34qC%RlOy&Dgu*(X2_42h>vHNlS<411(N`}lvfW(UBF>f){BOe zsl($3y&4aL;Rd@#pc#+~OwRFvOl*NrcZ@@8!}a{R0yC7i={(S{a3PI9Fi*<>*qCJ0 zDw{id80=Zr3|9O_GAKp*0})bs*{eXo#5hKClqTyp2*EnYF;Op2&@^w3wN1=H$q|OQ zE*`$3^8yWv?lfB=y?W}#8YP#>!%P*{wwXJ4+C;J#4$pi?UyeVPkAB7)Fy)GDstdF&LB&rJ2p3>}ct!rD_#iSg0k5NLm%k zHE?tR0jo}RrYSs13OazXp2RY{FkEym>bq>tLmVOz4RNo4tq6{gX5NQJz!fOZfGKU% z35pQ3MHb0)>oy-~&n6tQ&I2`3c;vYLLuLq2Q!D-Ks4!zF~kU6lq%q;ZsWyg*=hfb&%&O2*fC!ti>6yB7U8g5v1Ox zCH^3l4hHTeno5*l`Tg8WxlZOx1MV3d1@MF_52V5shSZ@71(s@jOT3E*TheS8NryzV zLY4)k{t)Jo&uA|-KiCPL0{k>VYpNDt`LPdzbip=ML$<9-uq;okJ(~ci3E8mjC|dEQ zU3lp(n)4o+%uz9#P#P(e!gBp)oX6FK6C@r1&Cx%QV|2JuA4QTV4^ccp(=0I zqHiU7{*ju3Z*kdJ+S!WHi_`V`+IESE-v8K3~;t&|N$e>gL zC}ze+1_GMc5!ZDPj%SFAyi7Da=x+gV7XmIHKM0{ifJGUu<{xy?rIg9Rh(jW(87R31 z6LL99r>(C>{BG421T`}pRK---hGW)A9)xB|?>>h|3}E z4KFx}^|y=SiKAx7wV4SVOpRsp%K(pUlCm&Zg0X@JguZ;}o;e(0O*q3>$sx3_^yD*{ z5!ciTPV+C2FDXMP@&NDoCY!*67M~ypF;#_o+FX&p)V2+vx z6)O;xy#^Qe?H2&}TXbO?_{Gk8VX`qqXikU_K$m4<rono+F=C}9nu zI%A2X3??P*5{8tHOtXZ&Fcg7d)>gI3i+IVF3&JTmi;k!Lo5};`PcaoTs_8(EpX5jB z9rexzV?w~e0!^x|B;QB`uM`c)1;_9`sF~=QatJ82Sf-MVM7D$pk_6DgY+=YKaH0FKyo4Cf7-c;0gUw@7^o@?Tn3!BM*WM+oSibP^Oie0WzPtC*}`7H({*P6GMY-k zw?XI@-X1P0f$k1VvcO?&&}4zuSzv@V>tY6TWjKV0)@Dmj%=kq271FvHrf^J>G8Sx? z4*dM?Vu9|6^3I?~xoLhDHojb@OkM~VFW*@L^jLf{aV)@4z3PIReLxsfewUFvu~B7R zIoihE#)DgaHjs&hA^_PG*8#xI&L%j5I|j>``Y%^=tr?RU?iO)>E;^qJ8gy zu_g^Y9ATLuz^wsk9%Z3(e}2i6>&BAmwnk)O$BgE}P#gzN20D>pK+a>*(b(0Oc%)$& z31f8ANb-7DXhG6?Ck&<;fE&5|mCc}3+=o8f1BDY8nwMBvSO`y;&v7=1PCrb-J6`k~ zNLE)Z3JAlQrKMw=PfVD>UZMZPWG)d(He@>2(FLRt-X$;zClAW(dzn(q5{nUUoKtO! zh#G?MDiWEUMhJYy*tQvhL4B(&XrX|ly1`yzyXZGXq=Z-ir<~0ujCf>dkOG`M89WWC z=WT3bHEANq(sQ23i%m3c=s8i3ZnlMpRpm^F%sB%Xw2crfazb*%bIwO^5=lBcIIP&@ z{$#~Q$iPOxp@WSM6hM)S9a2tO$CjIPM4J9W(Mp++EyP~SHf|iR!0QZ? z8h=ljwiwaj@=^|$+}a_yVepYnc8UN@(2c+mp?jGC6BfCfdubp5WMl#pMS|E%L<44R z3V$lTAxvU2niH{-_5l7S@6;%i6HQ*#a$w`3dO%{xMoW6o@EQ#vJMUfPA;~YGA?T(fnBz2;QsF{6ND26m~Sbc`}O`$O#a3K*AIul_Cw;VD?7W!|;AU z7?u(SXi)eUkR+(0@B~i4Jkppw`Bj-zM5(ygC$i9sWMgJmYtr>5!VJa_fg3FJ99d?8 zpaEil6ezn8{A4J(qTQwl_GVs)b#^mFN1)S*jo?Bxlv)mzvSyaZp4X$XK@r?p;*O1D zqiDlM6cbGbDlRN3`3P@8jTGtWEIlhsW7DP%XaI^BC9tvz5HeGS!X2UTqX1hFX_&Ev z$(YDsCdh=QV+#yXr~v@p`Iavr#DB9jxs3g{ixW;z*`JjHYbF3PQFQgmiV2q$q&7!h zDZjz}53$UZ7H4E!QAeeaMBf-a85yCNYEVldWw8kEA66h>L6n4q<`h~+Y#NG+_@?rhM3N)iy(8gr|b zun=8>Ft1x6;hE1o5>=9oClSxp>RU}EN<8G7A$|a0o7V{8ek+2%npH`FUs7=p%h$=T@q+a=RQu zb77P=Vmb`KKOGAuOoX_fC|GV5gwLA=UX_9We5kufy_W?&L?af7HbC(lr6uMdEYV6) zntaGUTY?B%7UXuvwA3UamvnhCE0GcBm z;8~oAlsK3^6YzaxrItDkFgmflLNE$r$&ess7|fs6Q&E+Gm8i-R)zjmRS=Cxb*bMy% zq6l=hF#rtY)cIj-P~6Be5xSgp3QZDGtG7k8md-wEz=eU>NVOK*wF>!h>W+Y+O?c(4 ziDiU9mq^-}Mi@z8w1DyQ{gKmftW*|UkYPr++$UjRlu3s~_6}^IeMgc1TG*aq zhYNJHco66g^Z?81EPep>LvQt@I+^@&Q&e*_@~G_2LLz>&0Cqq{2Q(r;3dI_D&55Q#98Z2cp9SGk~I;mbdueosDwj8L!sNh zO9B)TgG_`|vLXez5)|ui92jR3n5Htc25+7}6>UG$vzvmDB0a7HF?=nUBpT4-*SdE| zNi_EB0UU08fVL`GfR8fc)CU*;BI3(JV)13iS4N?s-^`f3@e>`JSUhFURKD(&zq zbr=iZ85RkaC5NAAkYWv}KymsDsuCbz&UmAZp)gu5n`G98y!Ze`{4AykPrgD(t`olR zgJSKg#x;V<2pUlUA%+6H#70YN;0S(<>`MfwP&sYfkw7G*)q>P8ivfV7FzpMiB2AO= z7o|Q>!19Q3N05*^NokIz{QLW2$=Z{vC#L^0c{Ww9?3VMcIHKq2*xL5 zyqjUiDUe2)78Jf%zeL0G$`JAJmt*-tLvgzBa$^BK#{kVcHG{MHxPf31xyA#~tCT{R zDn{3S6m>5?M0Sb*1(X(rQ=^_q3v|(XaCdE)fFlwngq$hL6G5vi2plme5SPplh#F&q z0O`z3OM(zJj}YqqZ^?sEX7a8kU>HzVh7x5HGkykGUmLqnS_`v6(xh@N+6)m4J;4k_ zWbe>nf`T9w-4rUY)Tl4US9~c4cWyMdw^f^=3@&Uf8J#SWg=QR}APHM9lz@ekGi8z| z_O>oRfVq?ke>P2CT{h*U%pOIS?S~atztHFzZpwwpxV^p4GR0ht4DK-_>CGLOSpR^CWn-S@H4jqxsr z_ZmvTWoa@&=+`^cOhY#A>Q#9v2_Ap%Ca&0#ODlp=Zj1lqUQJ_=FtBTwTJU{F<^@?| zHR#X?Jz<1Kg=B_l9c3)2j1t_k!(?aza)ibuM{w?(3gy5-kEtT=0|~|lThAnn(6=9s z{CF>g2*Y(q&&B?5uS5tapv_jKAKL z8gTJ7`i1MF#?c%>hRc~Dc(j_Tz!W2R-?2e440J0Q36d0brCKt}5NOCzt1xF;zw*O0 zLt!Vt23ocWRE;3xLW5BZj0q_c6?chrlE(rh;haXCh*TqvqX_H?Og^!z zG_=Yme3U?4v07!ULX$((lZ;ty!#8%v;%$|NC@-j%reGcM3@5*qq@sXA?V|5gHF7_h zfPp}JznUke+ru8*9J7)-#bTh20HW9&y#e|d#9E}Ibfk8yOk0`OnxF;9CW#%=L!4_U z)>pJ_As-Nsj0kb0=vLI&cg8H`_W{U2|7q}GEhljfNmJJEz@1C@Fkq*OV3EN?s+{Ts z)S>O9PH6~>*%9U%OC2B(h_W&XB&<*&i^sqn$J=uc=VC+*v@^6CQvg9D10)-j0487} z(8aZ`N2Ujh7a0dZa4q}?5Udu|xL`~WO!_RI%p_3oRG!wB{vux1g7eY^UFakLiYxKX zu-aM0M@d)$c$<8BwHr14K#u1@pu+$g_~S~b#EGRt*#1SI$K_mj*>k~vc}chT*|$t= zlTJC<<_P2j*s_S~I}zmSL{q^4V77r~#X6MnFaW<3Dd=I|fM$yTB61<*U-9?{ZNLsI zfJfLzHo2cSN;X+DkU+;zi0vx`!obvt{{3b?i+j*0vcOhQm+-o1!Q~*PmB{Q|1gTQ~ z5#0G*F}c*=V=JEX?+}1Y6~?%XB6w$va6P;I$(zJVs{M~d&o2!}6I4nFt4z)8xK#%1 z*65`#dt9aRg^WOK%`mvw9iiCBmktYM2N<5x%}{q(KRbJEY;BJgImm(4Mt?Pp3sq?jTfi}Oy($@ zi7klK?Iq0};l=fL)G%e$sQMIIOO1qMItiXzM&gii3XDh=X|M~SJkHGr!U?_jX8h&Wx&;Zq z-(!8}%my{+2*!1;;0T&CMiwGSY8D2N7*Sd8BOA{zm=ReBhszAyWs=DG##k)9CSal& z5lCqmGK9UBXVLw;oRw)OOqOT~GzJXWbu{e+wS^6~7>ymEzcVZ}*-VL$9DGF>3oGzZBj98{PxU4c|LAI6>E^SfD4blZ23hQKCfXt3YeU58q6q4Q zh23d^iE8%+JCuywV%eG?z+&QY;@c)aOuHT&OhJaG$WviNm1F|rvJe&oNSN9Dg-XRH zc!>{?mMnZIsKg-6r=gaDXhG1MG>6#-x=^rKT3IMX;(Cbu{Vn0zDwwPxG2oN{S`_QUL)QBkY?_yz2l39#<84VtY69B;%1F(^w2*M#q zt&q5^nc>DMO9u!ePq7=)}M}>DO zwo#kLGy(!+wdf@WYzrSEX!(qb7Nw7u=aV`}bYu$<%AX}7K1w2-l;wfx57`7a5)^s{ zOiYX%3`&)UfaFMO5NdW(hJs@Cx5<+_MFbJCb~q^NmYvnl8h=(`XzSBw%+Q7+$juRE zC_cP_M_TY8F9Le#6j*?0Fd9&33IiT{h)_u3fGs)faQv14+j_PGL15W2Y!4_3FYHX4 zjV7^;3&&9ks{K`7p*j!&RW^Iz;&w9kLOx&)Q)VdufhiLSMk)D%@DebI2SBr&-4>3Y zjzl4doG}qO)uI))PBw_?Xq#0D$mXXch8?sQAD2Qu-7nP0Jvb+2faOohP~7#bdv!9 zaI|$_#)wUMcmtr;FqrNbkt<7%XqC*FjAHmf3iGr>;4NxEbj||=rBeY2<_&@IO~#3w zzy?d0F?AXaU=bzt&|@K71njtor~s1sbojjZ1e@H+nXnW|h$hyjQYvAUAqBpxItVBv zN>A~q_HLc_TNk)|Mh2gfgFW}{tT(3X!vS1AekzddbLfCB5O+o_8QgHu5vdH+WdcX9 z=*c7|%nN@Q(K29*6>I=8Oe3yiaq%UOlTr*pqMWj}KJm&*`tfPyOW!wK^BQ0So2Bc5 zTpYcN6(YYD72hFTduBZKbH}CoNWi@)M-U#vmG4wisj+GS zY69_DAOtv?V|Xc&M*5U8lv7;H#Q#JyCkaK(uFEk55J&UKer$$XrhYhYioCL6ky>ESi5wp}OgCnx zN~j=z>2%=}Vgd-;Hq+tez#QHnXnDOX;Y4KJA=0ttW9vXMR+^L)bVV#Qq37b{2o#hZ zz^gBM7SKr&!bDE;iUYqTt}|9h1e!;amNEx28stGYF_yKsv{0rGD@qh`5PP&gb`c{y zjYSY?$`Xt02^t8TT?0etIO*dvY>fGgz^S>k5o4?sL7AMGY5ooa8hN2K=6FSuYRB$3&S6MCrfGAea z;K|X2IxMMHWPd|!sG|Ttj~nR14T-m@(RTP{GT_lc33O%7{F(B6I0}f|5E8`R+f>4Hld_h$KzV<=!c7C2C z-4-D!y2@HFsaYi;eSMP{$U$@n>C)f6bwc47yBQ~yF z1^Uw54Mn4ROM%SqbfHA<0-Vv3x=oxLvT1?#FH&i=0|q*SOD3AOJsH7AnbYnzxNi_3 za@6pe#o>?>m!U1S8gdY6xU=R>Hh*RKutLZCIqaPftpGrg>tRb9cm*poBNRQ66k>;R zJWinZ?gA zm_81CMKFj=`kh-&tWJWPCnA_{WP|_FPXsm9HsjI(HlRxj4gnvj=qNj#@RsyE^yX@! z4M@E^5xQJ^6rSZTG&6L16}xgnYK z6=hY_a=1b1QUg>uP5CF@#SYp%2h3+{!Ht84I$>R8w)dlB$}S~_R6F7tjv10+;vXdQ zRg}4yqgr9kON&)-N)il7_NQ2oA{;e|4@{ep<;)nK!UjYx#gP2(<&hYKGcwqWQf?@V zaRCzoiaR2{@i9Ro1Goy>?`L0$)*w2P1AsN=69W4tjcPbWH>pUK;aKs5tRiVB!dzm4 zVp)c3M8nR=hb1X~mUX3IAO8qj(2)Qd?*RJ-yi(=9*e>w;gv7AS$IC=f$xbLu|A8|S zad&cWeC9X>C{dby;y1R9xj?BR9j0Rw;%EfgAImWIiABS>iIKr38-^d4f}Qc)Ejz*j z`86Vc!~}vV2){T)z=3SxWPxn*;*kEed4qrq{E8F~m+d$UaTXa22HT&E2ub*Eg>Yg) z`MXgEOp^y-CW(jmsn{8e9>78Kaktq=!vL3@Nt#NjLe!uD z0heb%JU02WatuW?_Y869iapPqT1c{b7$mG6IgHt(T$tp-$gwUOC}jZ=<7)wf&>{E` ziD>8$jbs(d2GWSh?pV<$M_JMRkhCIsf>B#K@QA`*O_m$avaRighK z58vFiLBxw;8^&Al_)JH;X)z@E8!wE40{9NFNF-I^UZARw@W+0FBm4}Pz2M}F;v4(K zq+srq8Hh4erJqZPWO5Wjh=E9E>0uE$-CI8jIXws`_n`#xL1tzCo@9d~ZH#a=u%ZT; z*4KFA3qho`$z`K`OGADr3vD*_kfhgmr#j}bPz6d2W?YH|v&RXh;MMP-n>#@?-o12) zQ3ZiI6J-b$spv^tUlJ6*DM}ta8Jyt~Y*b;Rf?opJwb@(*)Ffaf;7DyYQ|y4DJC;E=gjT>73?rY z(&!R{SP~E$a3v4~B{=}B*w6%10A0}+9Yv7i*uw&dLGClK)Sj~oT^3-@MN8io3gQzA z9%L*o+4@tBMo+N+f{}k3aO;X?j7IcB>=ZL z;2w7XNDy0vd}XA0m<$nz?rt#@IqJB{GoJR|E581f$KO?iT98j+AGTow9LZsy{cz1d zW{;u!Y&n&Bc;{L$fLBdYonmBK8H)xC{Hy6pPzj3$3ixVV*nq?kUcnx|t%(p6vcanT*3Iu1B9p16WJEvCJ|e~G&YkeT zfWSH+Od0X0S|S|+L!xfU#p87Zk>76%5*`@N36` zyGSLYC*5MhA#k$Yr?X0+U;R%f9v(C318|X0^R%dtr0>c33PvP&_^s%ngoY2H0L@RP z)A!jG#Oq>w<%!dm%gz@0!drrZFutu<(D;>nTV zaRN217ygJxDM5sZx*MAkVSQ_D|5vHQ+K|nG9WO6{*>mSgBLqPhtg;jcsQ&(9qhg;6 zEQyZ?OA)^|_Ji>(JR%_vd}=YDw^+s`v!?5Sp8^8PKVqGXE$I&eQDGb$f+Z?PZp7{) zO^IKp_00(uLigU1INQ&F;0(LrH|9MfV7V=Q7|3kTp*&43&^0r*^DhS(T#WC|#O zy`*W_QjRq|JVB$hEG;=DdN!h_#!Lh4lGWU-sDmOPi98tFt`;LW%E-nh!|+ZF&8Y@b zMWOx=pmGVAZ_5Kzd$BQ>AtX>Xi8)Z9QVM8gLWSIB z5xOr+3%H}DvQQRXBC=#3Y!R9rlgeIzX|NopVWLK6Fs@R?u7}YQoTwItaz2qp&2RKL zr&M%Q9F}A&`WDJFW>}6m7~v$;0i1DR=vr5E8q>&LOujw<&@v2Jlmi#aQ{R z7Ze;SC#G&-uCp`F#X6QHy)%>A#ZA(45!MV;Nq3^0%_ialFgjoxVmkUwhkjB32GN(u z02>S7abSyGASHDfpr#)QhKmSDc{C$7)Xm75webVtftBWi*@hJ?G8^Cc%!@)KD%g>J zd}LD8m^=s)F)22kBN1vOuqA?9Ei{%2rW6Vho*|}*i%Cr-!pKTMie5L9MUj!8ye^XP zs|eCOk~t+3;__+=*|kAiLOm(QQq@6QLuApTAukGzPm2DbnGwC_XkcPN-DOCxQX}Tn?))^ca89a;H84W1R`uY)0e~u`Q z#j^#jOIg7Qp7@XD6Bm1sWwk@~sJCGUn`{p}O>SD*Jms4l*<_J)cFW%)F~sboDLfT? z%n+iMtFe`4K-^Z1Qn(pVdVNiqu_?IIk^rM2Fdx&Ih8S)R{vNE72nC&~-U~u+!Dhe# zq7n(Z^I{1=0B6facX3WzepF{c12Ir-c(M%gG|mZBz);T}AdsFzV{TdK1_6Q>ja%cI YfFP}b%N~a0Or}LC0~X`c;%%|BxMk@z!~g&Q literal 0 HcmV?d00001 diff --git a/fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.svg b/fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.svg new file mode 100644 index 0000000..803c3b8 --- /dev/null +++ b/fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.svg @@ -0,0 +1,306 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.ttf b/fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..21d8e7606718ecef1edfb9d7fd54363ce7150b4e GIT binary patch literal 127960 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�dm}D)s;O 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 MK>i9oaq#E=0yT^Sw*UYD literal 0 HcmV?d00001 diff --git a/fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.woff b/fonts/roboto-condensed-v25-latin-ext_latin_greek_cyrillic-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..47a6f61459049c39b2e9e9ebad00bb592c468393 GIT binary patch literal 64588 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

hlKft_+d8^0fo*w$m1>8M)`;hYw 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ⅈ-Iz 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 M_v9~-1lC`9bEgMrIRF3v literal 0 HcmV?d00001 diff --git a/fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.svg b/fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.svg new file mode 100644 index 0000000..627f5a3 --- /dev/null +++ b/fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.svg @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.ttf b/fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3033308a695ab4efa60441c23f2c18aaa94c568f GIT binary patch literal 129584 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 TOP&AVyW^ewt}wmSK*#xSw!BZl literal 0 HcmV?d00001 diff --git a/fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.woff b/fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..462480009cc36f6f5ac1b0bf6c25d7ba8d7c3e5c GIT binary patch literal 65456 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 literal 0 HcmV?d00001 diff --git a/fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.woff2 b/fonts/roboto-v30-latin-ext_latin_greek_cyrillic-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f7a80a01b75da4e925176d7bce8a7ad9341b6f4a GIT binary patch literal 50476 zcmV)EK)}CuPew8T0RR910L3f-5&!@I0sZg*0K~)q0RR9100000000000000000000 z0000QgK8UrooXDFY6f5cjRFW%34=Tl3<`zvAcd(93y)d=5{GyJHUcCApD+X<1%h-3 zAPj;@TS?H7M7(?M-Tb9OhB!9_2&&trpMBg<6>MXm`EDDNo^-?A=PO~`bczPu0j``@ zr%A&9|NsC0tCER~*(Km5Z40yrfU57NI=B6A4;o=~3y~>zeHvisg?q{<6)}$RAVR3M ztH>$sg^Ov{mVLo$2=jK}I!(vYA9Bvj1G>0BDejt^iF#(Z1QC(rpDMlEySkn#cKLM3|-m9YEiS<3B zlQ-9&I6kw%)Yftf`rO%0+zX`wEgMxnQEGt`5|xRZ}aoe$~&i zh#Y0V!M!z7>!|Y5AR&VyMv)b&#-=ATEmI}F)rTA@K3?jydzV5Wp(8*sLu?baIpE<{Gav$cWoHk@8pfDwR2n! z`yUg(V)Jhigu4&p&;QJX73WGVM#7Y^slORn-n_|C9EBzQR&Z#+MT|cUmw~Y{w(=)N zj1?!UzP(CRt;K&<&pl?#=-6_208md@3jZ`JKu7cu6tkqY@SXWHyRz&{0XRj#KS0J5 zA7HBgTdV)N0i2N$nURE*#SQhaVW|JW0uH&Q{>!pwK`jf1dQS;C!t6OEWDEI6xHrPJ zig+m|oERS3`L7~uX68C3?vNrv&WIExMa~q;k))F2Jcc>0VY9Ktm|+K-<8S}+_jlZX z_uu~P`rAKtPke6nMy#==P^^epz!Ig&!5&A*QpB|cw4Xu5dI|`M=~f2UN)6WcIM|Xh((JdN5bnvb>h?P^g+dm4)}*S%I=FGf?`Z|cR!ZPU~L95Sw)CyH@80|CF+@6 zzx6lvMnOQ)KLD=JX?;JD?QTIlSpd52ejt7z+cU94wqqp&WJ!IIlAE1eKSJGsL9zyR z*`A-ux?o-s*B3+yHN$?TQ@6rv<#1>~x#S_xzXgRZJ2xZ9mvzu*6^H2KZi zcW7jtZn}FGvyj9SL#8D%o}T#bQS3U=+>TjlHx@&L7apQ}A>ZtjO?B^GEJV=`enJrs zUHN0dnWgh@u%JgEmFsYFae&a06VwP#+LG+Cw@;^^gfIq2LUa;8qzKiuZttr8+G5|1 zhGs`6bYB4jEdUTOkjT17*iRrdfyk6^|F^&ZK)|-3n7|qMkotq4aZi7%Dzw;wq=GbL z=^;E|u0=-Kb>eDFsSi94lWAC47@#I=*27T}NCJy!-&%inmpUV@B+HU<?k$oe1ys@O)&bu&Il z)@GZLuK+$2eu0##ifu@-rJ*#&c>VtiY~q8`QB|pDN7NdPF*aInPi~`NCWzNYvGLJH z6Xp|d5N!}AOGLl7l)iSn4@HIan8dVzIYR#T-?_ANUum6B>y)02PI6j@5D+&Y>wI!Z zG$fP)$^`-?l#x9kB!em|F#84e|hPsT4IObk)VEvl`ysE*U;d_Vd< z$?kiGiHL|86;V}HRS^|Y6)~ztRdnC8_w{>0)p@4?8WaRn*M^we|3~YMnN3G#DNZyM z*JLQ;7%VFc=JiAP9mB7asioa}XjfKyDx^%i?>G%G#iT2BMKhqR~d9amJyECZfsa zp#_$rHP)aFwo*IoM28$k#~nu}Jr<`u73aMam%SmbdRyG^p1AD;@yKW5r7y)>--`Es z6rcTrqN2zJFfa%VFv<`Wz~~qYijnc4AS8lfVJalHW`cs10SZngC?0Y^AxMNF83Yq7 z6(-Cum~f+D*v7*onh3*_2a{?lj6flbND+)!G0d_|G%NNYd7?t{s*hkrbr{xEEK(PW zklHRs>P{oDKD7hu%lLpz5vBy#cEQvDoBF0;>t7LULo0!8bfvJ3uL`!=y&*`zU@#jJ z*9IGGw9zJ;Y_{1JTXNJ?(9hn!_1 z5QYx^r6Ld?5?5k?fC439n*iM+kU?s|K<<;g$?YQ;$Y?Lx%(G$o&$Q<$ad?snV15Ew%@CT`tvA%UZ+J6i`q_3aT zQ^Wl=bm&Ww!ryT~c>oS7LzjnzdUQB=xJYWoJYrEmv2>ekg;pBp#*^bC@#O@U5Co}r zaZ5XAYIu^X>L|nu1bS9Jh7gqAV=+{uOL3)h<#Lj!)bOK~S$SB!Aaf1lMoBBxUr*+m zZ7p2}j$Eh>cDvz#m_{0!pI}P z#tK|LgH+*^hm7tia&TF4C5$5QfgYyPP+sU#wfS@e1D)b@T37xpVi|t#UT@MLSV5=# z14=CI16{*=no>p9krSsU>a2h-8cOJ)SNDuy3am%~KTT*3Q&D{u-j(YZ8d0DeVows1 z8Y3NJ(1{o=+Q#7M5mTW((0Y@=#Z!ZU3caC05eEjzsj3x1*>?@;%q_l!=mu?jB$DMI z)#aKLkkTd&4TvkBg3*aT9iZerlUhDZ5RUE=x2HI|Tgf$r zHN7vkRX@8G%UF8a0g>+muQGL#=DPTNviH-?hqg+sYr?YfljXK$O*6KMoMMCHN5E;+ z!UA!Bs1AiqvWeSS59TWyz_Qt+Ah2d{&#msJ+8DUJ>=lEwddXgyx z7T!Pbw{K2)%}>qKs8`j+21&|~H*Ue-+>6QlJe=_Rxc6-GfxZ{kcX9S2DuRuLd7Pbo zFxjHw%nQw>#*)?>AvdqT(a%O&Kv`9$qmmz<&rDo{9Bs4%H{xgoy}P7vjxm=hn{V!z z_uZfJecgkktK`Bk4#2XM59`sID2FnYwxb`FLw{pm*!%VmfB_|Ey))-)EV>g#*D(wF zLMZ+E3ed4L-M-aco9qdDZ7*rq7HBkcVJ^*#ZX+;J{h?$W4JZf_Pz(gSq3Uvl)I@Ve zT4IYL>_M>`XmIR-8*XTW#|Iq(2*e076!sGWi6E5UlrX|EgGE{q#cxdvY;53=_B4dg)diJ5yVyZk$FIfAFp>la_e6| zxcAu~UVY00UIlF#!Y;8kpTwZyq#Real1e%1n&m@S5yll$T8T+hmGXF%Td+`tB}-LW zvr&~xSKYXA*PSo#(XU^*{-?E~#4m}ea7c6wjv&_TxSTqvp~j+t9-Efj23+((gDwN> zcLTKubD_mq3X5TlS%R&IlJ1Ks<)OIJ9K@I5gj<%2#B$t-%L^t=7D|>PTu!PaNokTL zr%RQZ0SA`}kCdfQVXk7uc}i8~s|9sfkDl?$39RwSDFfq|b4Dg07fno1u9%(;lxP=K z$W-^3LVtM~zJI-j)SB0^YI_rh^Lu!_--{akeU5aJN~aVg$1I#S=2aPBS&a#NgNBF` zA_OM2L7CNF$n4Ijfr-jCZq&Vbhn}4~8D_`IiHn0vOj59D5kg8TVpC zq3zy-zHgth1Ba9!Iil*=3Du`gsXKE<{kh8;u3pu4wT{0zH;Y+ z>LPQ7oGE9?*>hW|&Y9|VQb4y)zeMe&*z5Xfcl@2olb(s0nT6TdIc8^$-?=-_&3_BB z5S!}4T0~2*)UAruuvs0G3Y*G^qwolNG#=}Y$B8&QRUj@*RUNLtmH2>X#AEW9Jum1l z>96Q+x`*zi`$zZJxS=1dh;n>M6S%L>@ z8NP8GY6Vu+pT;Aynd)sbC+xr;>^q0>#PK-a6Xf6dqhMDEia=2=G=<@?6po8S2?&qK zCX%@}K*|l|U%jI(6q{MmG&goBRg2~5Ue z5@uiy7GaaPQIIbZ8ITECkd3mVb!yA!^ph){JN9XJAs2clFYKyr&<(p$XLM#~b$@z2 zug}|j4XtCvXT)bE_I(M(_9o4&Su~qw*Pcx&*g`GQs;$;W9o6xj*uh@c6=hx)U~=%x2n4ql%rPLBbk_)S(uI4Shs;q^SosyL*frJuCEU9G5QJxA^q!nE?Ls@mV z>h9IuuY0$f?7r$|y6CrJRJZjZJ+6=I6Z*tHslU*-^{)$60Toz56-wVpRU0j|g*Q@5Z<(#RebU;Rs+NQ{-MZS{_Sa5RmV<4X zVKd`);VhCB{j6agA*Y-3&1L2<=Yu;G2 z9*Hf(ZGA6A+D@C$5>`qy0TM^zN<0aa1d>P+OORA36-yGyU^Ce)HoNUBS#RJb)NY{I z4Xz&&hD0D0t`P`ozzvPKA(I<2yP+3QFQHyRxuHBzUML^*(xI0Ly>rmBLvI#(kD&KG zbZF?X&;ihKpyNWvgARmF0G$XrF?0}gh0qm4CxPxO2&x!?hh~Dh#WN`~E3zoEDLTXB zERS>2&hxM6?V_oapz=k%;#Wm$LD#94}aoLkG|o8wq3V|6*h#iOyylh{9pal|WLAJ2I&XhKQp3P}+u>WWJV z37=AAC7UTDWlfZeb}=rN+*4^PPnD@U)g)PxCq-(RS|{bCo;1_tsbjj9ZlqhObLvjL zn{Lx@@HV&&Z=;*>GGEqfO7l9M?oG>^Bdw-2{jNVQ*X=d+&)NYy6KCcuoQ<<{Zkfl; z?-q0+HX!FkF|xAXs$7kueVdidVIz<7v3I;DdeGN-g;)CiJ-i>>5ABB+S{Px4 zQ?!yJB~l|TNQZnVqKP4A4k-ijEX62g2HH(#rKElA zy#EP52cJXF;a75{RBELaX^_WIjg+BGWvM$gF&@-6!%?fXKb{QF@V7M!WSy4V_T-v9T2;)9Suh)B$AT=x608_m6{}$*j^cPu0__c8q-H=tDJVMN)kH7=w(nirR%;krJx612o&did zw)-Wu@0w;R2ll|L>9Ae!m5rtq8`ue9Fc|FIv4*F;L?K8*tfasrKPmfSQ_)^Kw2O(r z{+Q+Eo2+=)C9{LQx*vFlp2RcF8}@uEZ`XIrtAqW(ewnCw*p6Arw981AL#d$&<8kku zX?aL%D5+^&*72~NG@V;_GX~Ba)?r7@y>`K#I=^j-Ydr|dSp*+bKw6W~o*2vorM7$1 ze(1;Lpt~~&Wq%I;#pTBR!{u_hTrQW(J<;VF9zNpt7&xv*-*6V2hnfyY6`#M$Z`u#X zA0Jr!O~2N>C!TrKEx1G-s2$1*Ef|cgV2>Z)#g(zD=^#;wst2emh{l zqm}7fo9I>wm$ zG#ldwN{kZ|F*6)0vC?dq8$V33=Sycz9%sF_Ey>%y;+*2Tmz!wT$rBECPnaE6CvOUX z*g_GrSayVReJ`B>*y$_^slF_$agW4)Adx9Gjp+{hiQiCCNs>%=;q_Vl(0#I$v;^Brf8;B?+wL@AxB^6RgP>pKqUSqAZ&S* z@)cQ8oBF#oGE>#nYOxoN$WI49{eUyRGl>~D<`m zEHMPP9M(~T-f}5tIAVgO+29*5>~$T!txe|xzoP3=Zk*!QxYzwvGmfqq$9gv=^A!o7 zW)g9jo}ZJIg{}2ee&3k&epfD~-fTNZ3-CULAW9K%H3nB)5=bJF!Y(dE$S|`JBOj!w zNurW!tBRWKY>mn_@7hL5Rol60qKy|`dd1Dd%U54h9!h{fL4qg45%#4=y-eq74&_nN z<>C{{lTS%aQ+2qf2iI}zo6OHzvq!yOJ2R8nJ^Q}wbwLPsp+_&A zwTqk|nu?7&lJsP1nAtKb;}<-nzLridX|SB z{0O~}p!wYDxi%`zL^VaTqHu(yCv8 ze7F>Pks#SNr2s#&2<{jIM~_IBB3}}bDhnwwdV^XaF-eW|A+n_YNMo*Sj!2sRi6+{f z7xL08ZXVv^+xEf{{L-CFoO^gOO)(jJGm}}HtMd_Wv8@H(qhiw*_pRSYUeF^n)#T}j zLq{HVGBM(E0!Kw(&Ltg_azG6STs$BF5iv-iVv^DDF!iu(B-=u|iFE6^@~g;%gLlU6 zrkTJniE$!kSqba0elF~j-!=IMRgYG{GMyBg5Pt|sB5h=8PE!%nWY~U}!x8c62u~ky z#&;$eXU>L1QlGX)eVaX7jBZNYk}gp-hk8`>7+_+lHp1Cw>%N!kXvQ=2geT%vh^LC- zXgzuX8tFgQZSnC#ND^ryOY_jIe}lV*p8`HI-#UJ1nRs^b790N7v(izT>5TJWJY(r% z7vZ)Sj(F*a9&jD!HEG72#ca0XzG#t)$K&znyk(u%8Md==zWESx&KAQ?me$tMO+N;P zfi>gUvD*&V`9#o$ z{rphWGsp-@SxE!SlrOE7$1ip5w=s8goMNt$*QFJv$ zhD!x9Z8N!t4`3z+6?J#a@-#7#n;4W|>1&HEQhIe0oEBVCYVqrdZaj=qY*|Yz>uZO{ zrNGi(E^uMhT{c+ZqAGc5kP~nzC54n$MkTKYd{VZED)WQBlvF7cDWLer`4k>|iSHA^ z0mzeSGXZ8|iB*XW>p5xmhnyGyI2|ge*sJ@afH^6gJ$eorfl%g(0OVj1z7!}PA6{vM zu!tDYM5?Ebqu|;Qs42=UTCMem2eUy#Wq6+#fsi6aIpwr7<5|xE0N`1nEI)9fNCwN2 z9ZEAaz`(=;;Nao`35bY64=ctu&K2PF^!D`IMsk{=@V;^noGi`?aQFg$NLUWR*#evj z!O(~c4*)QZMfbOe%MAIAd8q65WJa3&HHPkj)`nyi4&Q^n3;u*T~J6uRc$qw zPOqaN!6?6NTUAuuV@Jcsa%viY55$Po3K5d3qll8CR*H7*q2~_+uyCSL&@eEu064gK zKmsCSkR?ug<*++{AtJ;{fS1vjs$-K<TIbY;%$cUB(psOEj&`=rfo|mt@{RT)t zt%V}d2nqq-4YHvI#3rt4Z(5@$ilQirqE}LGd~Msa(>tFtnbTt4K+z^YJV->4gh-{G zw%)Y(-PWZ?UtKo&t=O47w)n^(J?5{cTs>@BMN1Z*w8EwUZOThds*Y zS$0KcrbZ>DlTS}9CP(9b%z4#$k_DD}3jeUvpiBU4ha@VLKKEJ!RgtR?uQAq}=|lE+ z30gb{g}MWpDQx0!_G?Sq$94i?3P!l%Maou+f{%rZhYO-sB%fSIt=Lq_@jx$j20WZV z@hnnJecBj3U$lI3g~$IT>&0tiq_QcsxH~!g%xk_^{xe>i*Liz-eBfRmdqdRc(iX|M zP+=5hH>!+;_OiJ#&Cf9llT-J;WXu1afA<$OVNW7Z>lj z2=jF!ZBqkn_arij=XiWp4V1WP2_g;{373Qmpl&a!d@9!FK_f&Z&wfV$Zyuwh# zk-!r`4O>mr@*5}cSXsO@(jO}{M{6UTLwb>R(1^ozoems}bL5%UBWhr%^)_U*wA$h^ zU4|E%f&x1!)*xJyuu!r0;UQA-lM}vinS-x>eAY;=?%_@DE`nt_H1Hbo%0#{9E^m9w2NwF+W>E*E1!PQA z@U600D!xYBXwDDj{b|7`>b7e}+92Ar3Fj|ulR>riO>lVPv=hjff{_V@B9n@@I)Z%J zrbMwimI(ps;*ISuXMBa$R^+Fu;N*U+!P1)SuhqCzk*Q%`vgn1vi@+D|gVlT_mD2N$ z#}sVZ{q-7`sjA^r;A-rJD)cv20}Qb(aXO4$@!T(6-Yg64vDk$5TlW_I|F_RN&Vs>yvZ zHG3$o77pTT<%C-s7m2lVBd$X*X+fc6g@nr~EJ;#Gvg9ICr52Sgy_gIc#bwEgkt3%B z3`|K_*ivwCrQuP^C{-1w78KT_rx7fyss;=+YQ#u~jGM^f9pNsrCsSP!t-q9Vv?j@0 zTQ!ICt9ZO$jT-$mj&u^!DTSEj4yTQ(DihWX8p1Y?;L^Gc_xA01bm+`8ej@(HjZ~X= zQ19HSbI%@K`zDHOh!x)!CnYgS>Y_!`Q&OSR(qt}ODr@Ub*`W~Z?mhDN?Ne~z5d4uN zNXJefpE{-Z%o&t(mr<`?RdM5n%3GhRx_4j0T^j5uHvj-26fbx0@Yd`ch*7*SN>;K( z|Frt07twX}tiAbq%UOKyX^O8`!W9#JegKT}E3mrx0XRS8#3*SxR-+k#n zX{yLMlq!?cgPFq|HR6+I_VnT#IHRNigp15_PdY3=RRS2^MpmMTNUjxU0R2`)vG@;@~)Z48vguuqpLy%Or3Wv(EmpLAt2oaRE;Ow_nK9L?AD9{=f;?_Tb1< zZFsGn(V%}!WbxZZ*a_j1s1PLIl%_8}l`6~J=;H^jiYf5*r$as!nwomdIZzubQKHM! zD=yzTo{HA`ng7Gw@S|V$<*;1^KI0a-!|hfvT)R{IOCJ3ZkbD8O2`I@B)@0H zZmx~>RT5whh{#L`4%0k2L}_dG^%0vJ(Ql{b>nO+i-2=vPVr3?YQ*lZF04S<3jHcec ze^s@44B?GvCAT)?JV_^s9qZHlbe%@wyb32Z*&=mMDz%A;St$hj-Wyg=!pkDa`~Osl zmhYwqx|XLbOd~vL;^wGa3W;bapsF1mb`d%4VErUPlWecV|QJa#a<*ql1TiKmWzs<-n z9CiSM63?{9m}h;9nkh0!7g;Fw2l*;0F z9mtu)A4XP1MBq$IXv1OY?J#2Mn+mS>m{&N`X>@sdz0G%yr~K!;r=fD-Kf)xK1e5;H zG;wzRGQ?ojE>UI%*tAEQkOX!dN=r!qhgdlA=T{Cb*%{!@p*2Ye9~e&WZe8B zu*SvjQ0ha?A4ahG@b3cgxN^00ZPsH~zio%GvgX|7u(+HCWs zS!u0ZvK%&IUQNr<5a|omDZZ2_F%uM2NQ}7gN==xoqAJR*I9j!})YVAgl5yd*tlZ#u zFg2LL(nbT-Iz?)eUi)*()M+2)lm+`87bt|2i{=7Vs|;>(UvKwnSGW2#_-Y5%L`of8 zbHvUg1t!TAN|jm}yqCcx$F#8*zW0slxJf8af%Q4CYcD#fX+l}I&t3-{bjV=?1`Scw zK`1vlt+zh8W!{2COO^?$&C1nbSGfFNayzrV@eyK!Es)8QV92ViPKEbZ#=gducY-L< zV-;sP3yOtQRPoq~kCz~EITax#s{mF3cI-5In6!cl(dvj46|I3vt43OS3J0uNn%oxo~(=m(MBNJ1XP=4Jh-+=UJ6p2IavgveL%Dyhz@3}ffYhg zRWT~6;wh>sUI|J}k*9L1s4C<%`i7(m;|FXCRd(m&K};cXf);YXs_>A7BAZx`(CUF? zVuy1}jsuSO(HO?if`CL4nVp?33r3z8TA#wa@o&V&hLqW@`IOzzw6mM@HM^;`CtKQp z`ftBdz56lpm*ov9F28Ff^_Nv_uHDi3+5FyEW+uk`=jLBru5N)$xSy%jL(0KS{;bW> zx~X|&;j6X2Hx#VFvq-aPDu)4&!du~mQ@5o~fFQOZ_EuiK>VrizPM5X8lB8_>!nc~@ z5szD`}bnL?rNTSJb2r{Ju(=1o|Wq;-Un0EljXsJ z*@oI$ZQq1Mink7x&B2Z~lR#M#G*+LOcc(j_Jj;i{jw|H!n_)16W2=!pFSWJOSS9FW zDs5HQcHG8ns9|CU53fk%!J`{S5_j+jQHeP?s+npj(x4^Fk}6$B*aLgNMSfZz)mA`d z&xzl3JM%+_?)xV6zW@hBo_6LAn4L9SSfrF4`yp5bF|5OGXvONF$+Jh2Cm}Z9a zZ2HwRZ+y#MCJ4*04oonE6Dd&=rO_H4F&grC8{eU+j_Zj&XU^8Sbncz^2~pJ;ji;Hi zA)B%zM^m0lc`1L%D|x*v3ta&fT8Wie`BhWHn?Tj5Sxn6+ql#$T2z##Zn}^Mn`Di?I zDE1bp0024kfdL0;s6ZVA#$gI%PzvKv3-!>TYcE;u1 zoZ~uv^78kLylBmhx&c2{vMPY{f42AE?a*#Cg=Wwy>KWHkiGXHJr~h}h!w9l-;PRKw z4P2B(b1-8f;F+7+lHr)vqtKR6m7Y}oRHBgk5mNfS5#}3tE zhW)?(tCN06&E`a!6@o2FgSK{Mp}ic%}Z9p$axCy}H;8{mt-@Wrnj<|J-oViS`o7GzWw zIlI?Ol_Ei$>H1oxwEh3m{rLTi$Fg57?S4b_+xd()(S?;$kMYB^EYWiohw@O{cCO~2 zN9U_QU_Lfu2hQUH9^mcTuUyPYR0Z3^l^b`7w66vk8;mBiRX+_gx3;mh>#|oZGwe+#Sd3Ut-=JJ^&e$+CvT4h9 zm@Ig9jZIALnT73+bo&mRbARHa(YcJ2>;^haWTq67_HoD$_w9q6FaK$&tC z)l{oqgU0GKVN|bKOAT6U)K-&r9X0E$rB+=aOx=3)>eF98wt)t)8f>WH0tE{dHW(^$ zKp@6M36rKwn<-hUw7G+Fvy6qZ9$PGDseFZsmd#eOV%3^;8#ZlKjbHK0cZBVmGlak*WR56&$lq3ZSKfTD=N!K1w}B4*zF_Nd~xMmpWP) zubn0e6^H+~%QR;&`u}U<`XT9C5~hbI>lumP=Tj2*jV8~pNziwhp?z=B7r5b7AT{Bx zB?cav;1B!A#V%J%2MBX`@xaw#B*54@P&fjss4qq3OL|%DFKNW*%^pT|GcvZj!{Kr% zG1N|8whT+X;2K-0s$k7QLUQOQ8?1VtBv=>hb_x2dgl| zeK(`u$A*%0qQi42S@jOCGzJpF-U)YX_G*!>!CnDj%PEKxHF#UDw59k{=ZNlAtE4M4QRiBexIW5ff+{ttQ-U| z={p$lF5J52o%%Hk53I6_d1Lv>UCCW}vt2S@B+ZK~oNexyTO*8uSTlO07gG+y}r| z%zG`I7GI>9Z9Jmk))lle)PJ}e?xtJ?=sz>^?|!6~i5|4!f1glm4*gHjVH4;xpMKB) z*Y%2zsTlSwbFXpS&sY6_p4M=m#Wk|tT^L@7r!_=mzs$;ms0Y#@TbQ|+S5E2 zDovwivEf?1P%}p@(NjNkU5sYq^t5XzX&my7W*UZm7-?Msk93g7<8-{7cH8rQnqCc2 zBLF;7OnQUiM|Y84D^OJjK7c@-%XnvE&#Bw0SMQ3M#05hkuZ%tlmVlz3x4NjDg+hG5te;iw30ilI z5O`*!Sq;k8#Eoegry_S7{{o;;SB#5lb4lYjRIyZnIMGd}|C{288EU$i#;h z7rrl!0xeyOmk>*ljdG9gV^7g z>p)gfymMh?RjU#vrU^EQI$g23!_CfL{J$nE_ez?4Lj7anGdBh|!)uT6@_Je^p4>k8 z+sysYeLhOqTk;Yw**Sb)L>hrjn(URO}q zmu23jWe}qDnnNdoHSR)aMOlDH>|<1SkrqdNKq`k?S zSPdRY0Eg=`EJK(>mokhU_{UO2_K`mLcBz{p4(p}9n5y0_SVm%{sfB`Ws_HrUBmWZw z=pE7aM<2OD7i(cTOAe)C*cgZPe5w)m|+goN?j8l?D$$($` z`f+B$yI#v)uf_Y8#+aOLvo|0(6kWKm(n6G(SjM86;FBa!Kpnw#+-=vtGi!RW>ya|G zC@6ARME6L*dGjW$?5MeZ-=j+-hUe&Ex+x2YWUOB06iqgM|=zU}v zUOOqT1A^7&U)|1L*I*Rrb=jR+@-$2_@5|jb-Jzk#6osH|r}0e-TUbvm!KXL|_|*@? zE2XK_UX2`zNM?vpUPbnnLP|SOWpo~j$$oB$CHAC5Rb{}|+h9r0QoqtL@^@gwsU=PU z8m-Dgj$B++?mir3L&gvX4{T<%t|ysllb|cbHkrLV>#4|j6_w;YGfGss5(U)^j2p4l zJg@b`xG24`UIgKpC=WIUld;*IsGVIo-YFhPE`lcgg!hEzZlwh>^)<GGSDskH(Z88w$EphU8vSe)XzqbtdJF9eKI8pJ7(bDA zkGq~g!8KxBWd$8|Jyz3)ez&=B49Z2}qLT~W4}dgzVV%s<5_5M7O#X)7Ve!R&~S}Pmp^fH(=&y}!!Qc;Ld?v%dm07MFC zXhzWC!@AzVR;+Ed9KS8p#3P>#OsB=aDxJzoDJ&pbAHYLR4Mk|$>-n%bCN-mRD~eWb z9oEg;Vr0Uzy$L`qQ4EL;L5zJtoQr#C1I9h-skNht{ID~@N2{n<4_#2)nJ*e1u6`5; z^Z1Vkb<_bUezQ+8Dp;B^#bo(yAU_-CIgTlRljOSDDragMOw+qPh5bV%6yrDf(U`)y ziJ36-yTe?TZ+CP2+i;U9{-TmGry{x4bYYDn2=i|(>aDELr|aEBG80`0_qZ+(C(4@X zZj9z<=5isbwf6#9skPS_Zj5lrS=48t4gcu+#TcDyLRHXr%&^EQ@C6k{ScOY#BL&`# zy*giRsb6G^+;fjMo6GmEL&S54ohVJS3zG-E-&RLj%s05ilv-%#z*<6y8({J>+Ca)v zx2^P>yUC)Z{}_k^1-7#;Omm^bRAFP(0wNHg-x$mC_ED z_ajs^2Wfcy6Jyvb7PC1XO_j98UG?m{Um{!c0~ma2y^$j8?@jSJ{p0t?a@PcFvQN4v z(VzK028&l-Nsp1mlicU&UEjkNigjK(rGW1@TBT`HG}sJGQ3@yredk`ZXxA5Ab`HlcT-~NRIcz4GgH%G(t>GEC9I6qDW@O=TMvhKL z>@^$MQCgj2+ho=F8tl)1ZQIMM7H{C~BjUdR6rh@Iti?!Q$uTN_ri+uc_ay^}a`M>* zm^$dr_L6n|_fSqS*3mW?Jw-_dz0cSPrfOhrBA?{w@ zpR#a+nqY?Aj7~)zKdvmJgDzHI$M2C#4ka`_T*q}3uLpxy1f&AU_~>!74=gbq zL^lOmh`O2iK%9Da}ogsO6em%L4xA4K1nU|l1tt$LveJ9>k1xc zG7urT6;y=yrkwLHaxu#%BPUq8`=EctiONAgM-HWBXT_7656y)lDt%5@vFTf7DMJgI zh70iNg}#K3>-galO?e@6jd#>@tz+sIpO_O zRlI54_W$h_+T)7Cm+i)xR@i{41;?XA7^^MY~E*D_Iwa{Xz^z_+IUR*QiCJ9>I}Y);Z@JiezJQ#x!|<9J^j^~y&>Yw6N!#a61S zRy5fJG3<iij%6$B3=p$21gk91y@S_0T5R9r}#<)DA>m3 zdZ#&1>GKcj_N;W&uxBhbt)tD^EBH~l+h9o8O$LIDh>dw28EWyx9j-R{AF-cF^*7Y;r-MWUh@S$V;O?U)C$$ zuKYOHTesEeR5~x3!C+-)o%or*&e5$g4)WUu6koV~6SmS@w!|jizO6>-9V5NH@mSyV zvPXNe&%T2u1%s79_eL+9dtX;{l}$cmPMO=CByD(H7hOqnrE`|NN2qS9kxc}u11yHt z_ge5sDdIF*zdIO<2GGjnw0hKMVF$`I*o!Rvpx54n?RcCZObiC12`@-|5pk-_HbGlr& z;9C4~QLZJ#NFpV04F3b8hA*ti!<1nwPYMDb>KfN$IUay)goBaX+kps%$wO+V%bLQm z)XZi0bjYqx!bJt!W{)W%&uug;ESjLo3=N}-RP7_&n!{{qc=Siac)JqPdQHttP_@v7 zOT)2odT1zypw+?`Tp@w_*4VaP#w@;k+e+ng)i`=&9?(q-Q=-hUi(2-zz5q8r;K))l zN~Z+>r&j90C#(x|EItoH=U?~F*smCD7eLju{+gA~Ewo_HV>6kH^|$6 ztrb|BZs1%Wi_8HD_Sj{VxNGG}?Wh1RK+wO>tx1WI*YwKyE~E9Tg759M?&g8mF6lZ> zntfGLX=GsA@VI)oPqx;9Bh9Fv)S1DCos0?W(Iz%ZYXLEoV%cX(F z0}}og=}aIykM<~tT^6mIu_(5_CN-xE*M%Nw`!__5Dt+pyvnd%oU_DZr;@k07b?)k- z8QrEOvo>r{V;*)gB_11nLQcg_mGRYdBpfkxv!7X3+H58h2U}UIB3e$1=)rqt#_q-B zp%5Y&La=-mIjA-6`%;S-?XpJCxJqcEdERsxD&sy-Wi8;!HdzKFEOnY-3$9yB+?v-8 zx|Qfz zYvePbYc89co99=>I;>r>DgaK5aHDLjU{CVnJ)?~4r50Ahh`C=l0|Qp`YIi^_`mNc7 z@o7~d?9KdpLk+4H7?^K=Nv~kR@06JasTK~UHYfsZG#V((6c(wS_og^YrhCZ{ZQ2FJ z0+hKKQ%(^kk~r8_T!`t1COycb46V}}2gN}K@z>ogQbAd4M|maRn?-wcRrOrsLofVs zYc?KNhnOrxg4))VNNoZFmIfQF+ztSY`_#&DYm6~HB_Yvqih%exxvs-^L zhhni@mCMOXWjkiz@Zoy}Z_>-p+(G&{k|-?{z^8*>-*a)jXEd#`6 z@5MxRrniH;DU=?)i!NT6=(l$DW_S<_s-NmYlnPcp7Z*SAAX5idmyPU*NKoN+uurEo}#s@fKEYExFmJ zVfLz3O8)ha*ylFtmYim)d!aTju{We?uSPQR+c{_YQ{=v3_GAPZt-xF75F=o`-f-kk zBfVYcg!>a8Zgf*V5SCEgA}d%H-ZN@|*7D#6Q%?X=dqhvk?7FMy37N6bTm6f7hvui2Cx!q748h$W0>qgjD3hEwd=by+aL^tN+QWnH z_f-LlhX(lZ)+nK{D5gLt!0e02Gv;T4ci95zH@!>$A#fNX=|1bf~zrv`zr0V~mnb{xPPQhft zrm^QW@X7LZTvTS_5w6PUityeXnDTR{u+}h!KiZMy?Vl7C!r+K%g_f}50p-9pUO46U zqsWp2>qHaF{Puw5N$$gdO+~h>%~UAIQe0)0H}l4t=YsJcp`;J@lCN2b4~8v&0M990 zvGW=@;v8xvuDtfzHoTulylmy{JyiGE0A)Ke&%+ZLs2=tE8-g+ROY*H!u`vkbV*x@F zVTw5=KTFpzWm6TsNbCxDW>q`ZJ@Jwh|NfW6m!cRaOl$Co^XF!Qn-4Q$hmUchsABqK zj{@#pdHZTd6YligVC&+$H(O_5?p^$El9w^LNlW0?iMQz8tc;Y$uxD4+nDe3NYLSs6 zNbGXzch!KB@F81iJvO9)RGbZs!@jRgzFBNu5jjy^xnVAqur~7S<#fR{{R0%V5@@}av&qVCMPR7p+7wz%!+YKcrihouwq*EJhHj? zarpS>(cuZZ>p!oVExoS0W!L26T{rrQbN9(7*gE_3l5kIxaBORQPI-P)Q9hNC5=C@Y z;%WZVOi@~a|F34d!O5e2Px%&~d=Z$LhwJ|}&A)TRN?{)3I2^P;f;dm#h>C0J#1rzm zEd3&aEEld_P{B)y_pWN_u4_J$PC26`n5yoGv;TJH7XIw^gqQUOVYukbDZkTiR@kh! zD?A~N1%2dS1mchUoMaR(SH#UAqb4mhvkJYPg5J)^a>G7KylgyT%`I7u;Xgp<`@fis zL9hNWl*CP$*H|eWEk3>n|GF>o)4n*!oJl!Fc@`Dj$t2@*Sr3HOl`4b23~4A9c4#OT ztV`$|I%ha)=<7FPXze(cSpe(PaxUo5axPqza61TwtJU9RR-{?SXQXB1q$L-o$1Z{N zrz0J`3lq&v^cuhPAbKxLdqICNVG2jT@qJv8Z12{r(z0o=qO@RNh)xNXM?(8>-eIM- zq25@e#xq<{;|`)#H05f~?MoL&S|fIS<@=8Dvs#_M-*&p?Xz=wZHSbTJyDgP`GJG0a z9Wk#De!A{7ROmkp6v(mYx$7z7o5w4k{T8dA-TTf@`?pw^x|mI+VMevm5@WbU`rv!D z%@lxu&3EqySsoz+uD02Tx~{~bzdJ84RrBkl6=p^&$>|+bitmmS<~91Y9==O0pOM*@ z`}H1nAqdwrnWw=s-tT17Pnz9$8MXZvb0bWipb4t^Ba_FVp5=%?LY;8mk@Qe6oN1@+uRP`DuY(UtLUIwt~ z+jJIy09NpJFxxZY-XtD5zrbK~&Hs8czxHu!j1`B@LPd1ofizW_@#e0#PYiG_ZT6)$ z>R8#?{ZQ|L7D|W`f_+j(TYhAyd?EUo==nvFB;zMVxFd@sQ76~ui0)M`JGAv5p0$)eWv`LZlG7*WaOxJkq-7}6rPkbuAdak^6Aif>NGuh}mlIUVPA~NPv#t(P7jPWv zt<`_PgMX=YKOr?y`X}Z^ojb?!>#I}j5&taih#G~3A0HROc3hDxjwq+2KAk|!v=^1G z_PthvK6T>f(wi)Y-rE$`rW5DW#H|;jyNB&ys7YuF2u;n*jHz|Bq{1M8^Q6V=5lcvD zRPJnsusEhrnC_!BkL*d(>T~pWBkGUc$XD@QW<@6gHy!0g`vgjqfrn}_OlOC22 zE`_ay*=D#V91$Bwa^!|LPCT=0(7HA4n8Qc%N`DlRe=CRzJ@y@uyK6wsS4+5cxTaLbhULC!U|WHTD%bGVEO&kiD8z1 zB9~t+fXG7}0TIhXFVFw!;$jv*POZ4pE^60OnnqcCbTX@ppw^+^2SCU+SnU0_stdiQ z7*msAF+e}lqVBRcyl*pGvlKj*BwY-kmGV&tZUo=9f(FcL!PD>mQ zGySA#CE+~1Y+v{UW}?Kv#g~96?7pTMP*i*%vt$@E%;~IN=9^yfTSMCzFvNnozl|-L zP{bf4!{+TT;X%D#DPw%IR0^{9lJUs@IH)U-SR0Zc9OA4Fb0&zDBfA8wPwl;U3h(r9 z<3Z-CvxLy>`p<%&1uK3^2|CxU-w6s0o*t3aeCQ^ysbs855OYWkHs#r5=vg>izJ9qo zs^>wSinV^oLCxf=xfyb`mc5?Q&x_c_Pjg^L<8F((igeph=JK=3yOZ~x&cH;c4b=Vj z-~rA~yqM^x34KnU%@=Lf^Oi3rW#$Z3q;j?9U7%~>U=h3cd7`K7Nu!!N?L7~bxtejU z)cFX`%-oj76vU5!w9e_Qn~i!+w4dyo4p|)HR9!W&C_ccCzd07q5G=XEtus>TZWAJI zcnl-`3VPk5I4ZlTyf}WCq3{&i!AtZ%M&Os^23R<5!+ONEQK)nO9#G6pxs~Tw0XlMX zZB|fd-0;ya@5cJJ9yj;D*e_|$}G@p=^ zo{y(QTpXfCb`g`&1oES?$su=YE+#o02`h||{yrG>bTB&bN(|fwhav+d7bAjyH&8q& ztX=!#HobhFpCPP=Nqe_UU{a=RS?6Ikmu$ve9J68>ZwiaT7Gl}igw z3~&vt(cd3>#8k|6FO#dir%N#i)u8YK0$oC@3=G5Mw=|i&fT#w)Do)!6vW=jFO=eEf z`fr8(0e{<)>uFR<&q9a4ylsV$9wVtrk)g4pGAQ2!UJ980Z()u_0_Qr~<>K-RgVD2#m!DF|_bVND4GrVu*= z9GU9LYiLk^E$ zzo9B>5;2KVB`*Hnh-4IWw9rmyr!V9OIDXN-5g6<~7(9vNCdZ3X1p+4RL>}gjdY4By zh2)7ry|{Xr;)EP@8H+BeFN#cc4TvG=b)CTYOvTovRK%qZoxSbh9~k6;mGpymv&BY$ zT|O1O@*!t@J}C9*58cusDlm~%+`$iPYH=1p*Vx*qSf+8?>~sHJUgG(;F8~C>>HJkS zWg}KS9^4{%%HGEx2xp(7IqKiy}pj7TU)ICsG)Xl2A zKFnlm_OdHV5pGVBaAv%ePfOxTm|>g@h?AkZx_aCiDSL3Ls@eBaxwe8{a#GaG|J1k*yQmX>OV9S zRMGKG`rw?cY*gniniS7^sb;aK<04AQS`y=v571sZy(ARnDw3TWUg2x;16=#hL@zG` z2!MK&4z-jJA`6EJ>A*eWlHK;qYi8R}OG#YmWfKib{0hdl_U7p=?AubLTRV9 z(#33sGnsQH|4zMSbi<5|Ly92kwu&$9fjFYJRX^gPeNI((J(2RXVQa_MH=`gmt?^OV zqA2ELTX)C_D@TSmZRSqel^4LPkX6p6hCX~jWbkXfbV{U;xcl0mnf9x_P%!HelbROi z0&@=Osuj+Zk*`Y4pU^PT{-29%KNR|91(TM(kr??$8ZO}ZOj1%=qy&8-J9`axE%7`m z`TnW%mxkVJHD>lCUQ2=}3rO-eT#IX`_f=(A4kpI+KIyvScjfMW*S_QBiQ+gD+zeA? zZ->W&TdZTOhNHjiW@7x=$e_+x{!asB{h^qzJLo*G2s3h5Y|`bag02e#PX4Tgooks@ zYwm3wcSOt+UVe?0>yW#jRKT_>*CyyfVCBF?b3CrE&-cvBK)QmG(au0{6S+wcspqm$ zBp`A{Sy;5B37-I)zC~vPiByTLv;_ma{4{uLVC#|XGLm_uZ_0NX`#9<@12NPFtZINnmWy~IU#igrvoubE|-3o(=MlzAgmTMlrZT3rhj>sam~ z-}0)PGd*+F$48;Ss}b|^iq(|iRS$;DOtyB;f)o7Zm7PT|XJYXg!}@{mS^lNPCoHPY zFp;j}Ho#(5Jb3IcK1&do)vC`F{!1v0of5mM5xu5RA{4ev^$jKbJ-L2rehutBaOU#k zf!72ltC7gB>*(B!u~6+KU;f45z+YeeeG@vvSyMKY))SFVF0M=dnm!evo8*dulWC1WbyIKY6>BY>=4kBV7EPl| z?1*<%K=ubN*k{?Tip3zE0#<)l zUHyl`LPz*RR7%w?xVF-S$yQ%UY}qr1@k(gaU~0kIW`{(82JoeICKrBsqC6t79aB3 z^7BjJCJeZb+%zi5Mi3(5G*dfI%6~B56gd6!C_d)DmFy@m z_ww(n&}q&p+9;YCogP%wm@52i(uGhajuxQ*((=OaUh|UiH3c|&ymQ&`c}og-X{dw129OCcq2NP(O zlP7yMYCI4B@esc9%v>D((z3D8P`j?z7(y2t@7Jm8aZ^gyJ1SZze1zET-oE{D&@sHw`rXf?quMwjlOZ$hC$$r(n>4 z)>apLv>DFR3hy6B=C!x8#&7>&(Kq3*mbkk}qG7pKfGu1S|KV*uRnUj+vo9fxgziYO zM1a!re)-#zeLflWZhbDb!!r2-oC$IzQ z4VFuNHY?R>1y2)Ht_`tYuQxtO=&?f;*jEgorhmMjZjXrnkqIDb{PI_3d_1Z=YSVm$ z2XX)(uag*EhZ=H8Qg~yzACy3{%`46ks)&hH9_y8C1J{_ll7qi`F9}@zik_f0Wu;yK zhY8477LVjDTqe!%a||9QhyA^tg5Bmk_DP_kn+v1Fk$6nds8h_KO=O@;#z)ZA>#a(9{m+97*4!u%)7ZT_aQ9893&Yft`6mKDleZVuJajB^SEd;+8J1xlbASGE}hp z3K6XBB9CMr&7iqINxkpK4b%JA)Iv8fk_IvMJ!a^Vz zhQ+!jwGsVeeGNmvb_;94Z*C;;HA~h#=9GEjcJ`Xw|2H) z8^P7LPph~-&isH*%lh!_=#0wor`Vqy*$3cLyyOt_q)(oC}&!_pOOqzNMn5}%e$AeK%)vFD1Qhj>^+RG;JXTy*cM5ke} zYY!V>6;09{EzZ?<@g-38o;)2(hv+rrYw?x}wAs(nykCI}Z+9g72ZLginS0d0ms1Jc zMwb{Jb?Nwl!Rfr6)Uei-ntSF~Z};vmwl(=zqXMc5*IN}hd|awkoQ*;`^!3+h?P|AW+#2ee^xx9 zpfwG3xlbJ$+$!g&E?+?zGU6TAku9~71A8qTFQQ~FguRi38>y;jjY8x9q&Zx~o-sdx z?22b}spfk|M0~vr=j+L!r#^n->B_U+>OfiGl&?VYaEkMNhRk5vX9=-i&i8zMHLo9-c7&X=QmzCS_TG(6e*3m!3V{}wtio7XIhItpD#x$CM(bn}N}7jS z9G{qqriWG2doqrADGcKZhJuv*;k&<1xd_g3#e)b^-~pVw;+J!r2Ez_Z~sW}7D0x8T*2j!*A; zizh)kS2q_(51jO2aUKSn1!(NrDppPTBJ!aH{`4J)FCyj@fH|f3QbNYr%C)dLB~%|C zbq)8;xN$sJlXsFaES6MVC4~r03xcnZ6eJA$UG*|G^T_-nus-M>GvSX0w%>=8pMSx= z^+@hbW`(qqvMEe#B+yovr?z5Y__%EUe;CwTxtzI*EHf_lp?vvD(A2`=rR$x~yx2wS z{jD7Z&9fRI(cC4BH=F$w>VA6H=8qY|>LZ%C`dR99QxroRI0*Zq_*cM$_wXtVU8uEvRct#IUG z@=S&;1i^T~h zkiZsNBIedV%eL0$(Hh1Czylqs&bt{gCZV!Os(~%BCkcDb;H}Kn9LJ95Xu!s+-^=}y z+0TD8CentjH-Gdb#pr z92xRExIky$c1M5cAQ4I(R7_X+toqVpn65_EE^?GLO|##Gm@s>`Gi zw6XW6a0eXczjFM=YKDw{rZbTZXHW#a+v$yhlENpTvaBUY_p>epEUJF|af=reHe`Fx zE~A#AWz@N)*ClA)!O^SnVYwBw=!QDqSt> zew6Q}-8!yWwKtLa&iMQuP7l=X5|QXWDC4+ZW)!V*tDE<)*o^tFFOu+p7f49#&||Sg z32O_BCFF;D05tP)hKXb@eO!XFK#2Z{&P2Mqd%(th$Dwk!ZnV0qve3L%r|p+nXvst= z{`9=o(KmC_oz6s)V^Fn$QN*b^>958tp{cCh7`?|rETh=E{>$g*I+D7h@ef7vbfPQQ zl6Z!Y%(72qP+5}5N~M8==UFB?%A{;^aTe@1S~64kxR)4ZVz6wg&BGtcKI&Ii853#a z3y@^3`R|f4Qc*OcbUKDW_K?5Aq!+=ZZhGm)AakPB;A03;%u6C*$B3j!5NF%<^xlw= zVHc7q$~WxbFOaQ(ymF3`xk6=!Yg-&kZl66h=;re~$N6vaTlDP7Y&+PgVt6!XdgLDL z2oLq1(wZ4j_^!#tfE1&*cc@{HmoSvfDs!7KuzquP@X9ZR+R zGbrnU$V-)o4e`B!%1Px-P?KD`sa0e&7##KyhX-B!@57D*a>JqjuB84a$GCHORgf7x z#Ra4So)S`hiOv^fv0OWBp{)S7(A@!Bp7<*CB3Vy+_B7~{i@BX@BQoikPa13=Rzv<0}w$e4+u+>~3)HBYzPxM-dXxZiU=$-@)q zdduMB@#~N0I$+Dleqz7LvI)VrWJT0loWn~H6(vDJB`fu}I9T~Ah{5`OssEBazgFEg z!-04rN0gHZQdXTW+sxY9Ew#34giZT1t&-0RZU5t%r#n$aOh9QTwilQ@OsmLme-T1k ztT`raFSn;rxH;+G`N>6QZsuq_1(b~pU6j}@^Xr@0 z3iO^WKjlA=P^(Tly^UCD@hmF~wl6<{u15`V@9k=4!yb8;8@x7)&3A69axEA~(E-hB zfQpM!HsBzW()9RFRuJF>6#Q|@GEar57{xO(As5NVC*IX$nelUC%&!|X6?|$OQ!hH> z>#>En`YPw{T#!HvRbO2zm4vz6(P9FfM{2jke5^*zo(ePmj#*LoJ8}4b)BJpHc^%{b z#V^IVUM_HD<2LHdMH8)g0aIfcJF6C!b;4+na%Aynn_#}fzV1>+reQXsTq#jFSx>z? zH6mpjsMY^0XRSx9t(C_!=1kYGNF?bc4anVmS8r;q)j4`Z{`?*N@b;y;9?AULYiDBhDmfTtt z3A|5j?ps}Xe6mY1a4BF(e)ag4@apFA_QSqQekbKtk8PTyx$MvWsSX?RtDAh{l5+w= z@@qwY;AI!ZOptltPM628+pP;ytMKHK6QO@M{BKjfCOmT;P0uGnerp(hdVO+4yfk}k3#sh_hZ}SCbZb(yyYjU;7qcE%0!a)oiZ01o{RFOI;0N$R}>lR*V=lf(aC&d6##*sX4IZ^?46Dq3roug0$@!5-a+ zJgZP=RA4sMu76}VN1@iJz~bnXpW;!IBD162*C+OgM{7;>pIgN1#1jfs|9r=Ed06JO%SsS7Y;u+x|jc=6O_O-&?U zkKn*>wjV%T)lceYGuZ~>n(<%lBfQ-4YvYZH^jp!7lT44y;(EX222vRAh?I3Zh)I9Opx}I^{0SNRCc+Ovv?f(SyPJ;J1N| zSwI&w%}2k}naCg7kSZoPs`D*}uVB=bKS=F?`B==rBrq}gc&5DsCtMWq*vItGhyC72 z!f&`ZZ`GuRYN6W`5V^fk?afuBz{gBvg9Fu4j%n`s`_Vqf;zPj~uUu9?%1K_J0J!B> z<{B`Lw1k9Td?`MqK2R{=4o-XOzErSu3U(>>GPH&9^bEafgH((n{7yPJ&9Z&}_L17` zG~p*6iJa_>y+gb^4tCy)Ed?^$PtGG588PEho9hPaAis*@eu)!o^Qj9JM z*?=_b>gBd%{Q5M)}S z`X2xC$NN?I+KR;*6K$fwP);YLHt{nj!8W6%8wv}J(o)?L)+)xr2Fn)p00LMKyEG?% zsHia)Sknu;XY@jwsdt-%TnHT*+bdczR7$!ZTExC%|MM`Uy+ecelPxwN_X; zwEUUZRD#9yDXz8b)lu0n&mPa3{r?nkIA;Iyl?T8UKzi`}$!uduTyR&WtH zroI##IarZH%^~_=F47|px`VLh_m72M><$m|?Qf?nyGNZ%W(EyX; zq(+w41ponxd)yxc%KdqK1bF)t=A*L)ATGB9{*WLn zEE-PNt7INBa_ELVf)DJy7!)qP0NPasULK3$febRgjskG z9MZqh0?6`hHbHl=I`aS3rZ2`x^MYJ^u2o^SUty+`^m@L&$=pPQ$z4O#K^72|M&MECK%K>xofAF2S4n zc{P|&;PGq`v~$dagcZWjaFW49+nH3!1ZDWt{y|q73>^SRnGUW_gLqaH@Q6i;D2mHg zMBt?cVH=esO1Ig927K1_cw|pa8BiEojkqAxqxb^$d4Bxqp6iwgoU5j$z?r*sQ!kA~ zm+pDwdlFWQiEq!2;I4H7gpHRVz2&PU;rJ%Z*CT>aMen_KMiUsnSyVjl0C)DLEMeqTOAQ|;$p(-0C`{EL2kbcvU96&6T>)51--BRm5Yn`w6V`c$K_`ekt8 zU$XPnrcg-}h$q2PVPwr2rb>(GeQ+O=9{t0XpBcT}5pvHQayMF2GAD}%Y+V{1r zweNDou>Y5`vLHu-U8{?GLvrCpt9)I>`c?U-q8rpi>Ry*qtR$ow#LaR&GPn)355UwW z-aVxT-qFF;ZEkR}+@m{-;2WI8&Z3GT;l(gCoS@gxax&JSkqnk0s~k^`IcG><#}{VlKM6!hQYdIw$UnTNV_y=E=&(T*1l&NcH{vx+B`f6KkKlfjNEsifLP!O!^bVWFXl~(D}m;tyF!z> zTZ%kg5?=WdEr((9I#GZtcT+K2#w#eM1d0t`a^ojnk{3<}I5_5ENg64{Cw>idO6Si$ z<3)<8gOMPp+%NIUrrxIsXO{bNx77^&M+@jodLB71d^x=9rgJxqNy{PT@aB+n!jkGH z6L<;n%4HmO{+V&H5+U0%G9x3NEfPiPh6zw{I9w45RfxmI>SHDR%F60w(#1FaPBg}zo^UXw!DOW^iA4-DYA;=47*cNB;(n^gdr&1Yx@ zK@H5{N3Rbi;5J_OpLynp3ZyCLShCo$svKd#to9`pBIJTOV6JfKqsopp6)~ZSx+Br# z`g{)L*V=tpSB}4((CMgxjbqq#bC^*;*iMHT*Tzl4(@Wz95go2!161sISR4sUx9+pe zn%*Jp6hIGO4(Pt1zGS^zBdry{rR5}plaW@}x6 zYktaWt;+01MYh+HtF)`4&b-?^LQBHnvfiLNr*6F@<3BUYkxf-Bc%S{!%~D>j2pEk* zNU1L57G&ZrNtS`Q6Hp7tE+4E1J+w58%isg8^A(|dQ_bNBr<7{>LI-AogP{P~@W( z>yH`~Q$72YOZwa(#hY*l?gq|dE^$vZS)}iadGFuy*`G{!ySEDd3T_#-$;91GrL*9e z5YOE_)z3lu3LMg7i_jRjP2tFwpMoZG6{x)6$_O+JJIpEERvd@yKZ}}co)?>?&SuO~ zX4j-&i@cj$;@tlT$m-2$mNETwY<9xo;#|N|78)sROJSg7G0yGy7r$%c@N-#f?1} zE3mBaCvf9W1+8E|7pDO@3?>}%`|ru}x>*s)EiXh0b#sKM_HfBH=d1TbAn%put#c`T6Wshy?h>=9Oqy^l zbtW^H`eQ>!*D!k6JDx_r1_20j0zjA$z&S(v1a8iNxR6TnXm$G0X+BSyblK$WMcuh9 zqaGt8w4uR#L9gO-M$VTIsPKwT(VP%2?)!FL2KHU2x!hvzO?zI(R&K&~VstiFEE@Z^ z!{g}z@V+a5=8*1tUqGOyVgns~x?7{P@|0wv9!)wq|Q^AJ|wChQ-v^50K`7@~|m1ACv6kWZx3b<-a~uQmcbm-qr!w8Ih$7OO+Y zh~<2CK&GE=r12H}qtXA75Dv(k%Y$@9+`snAM~n?O7}>a0%yJHHc}Y-0&`>~E!0lIL z4m;-}D<1fnA(|J7B!t92oV^)Kn^Tww5}zp#7iPwL1CMIU^~X9&a#IEA@%J!Wb!N** zW~v4vDMmBohXvojaS`n^F^SA<9Y8)dX#|_e~Jl@YfuwqG z+&3>0;|7e!hz&VeMRh<)ZdqYNRt~WaEH36`Wv0SgTL-dI;BD8GCxT9&6GKC7(<^+Z zC^Zp^?vaZ0m=`;We3XC+HSBhZz4ny85v42_9aS`(mlib{r|4G15+MVoNFzA2`^kmXPJw1Y% z{sc0WjhV}e?TOVe)RCUu=nO7jzUs;iA||rQByMbAP!cXYh5&k3{oMzj+d*dy7>WU8op9u9wL#SKKY5sEvx#QuWT69$qr}yG*Pcn(-?Gk;f zFkr*oNi(3B!buHu5fk*Z%pV=I)(Ykb0?}pH?alu_mi@P`eK)dDTID%Ok#nP(T05Ty>eOQg6Q8UMb#8f-7 z2bpk+FC>o^g^tylGoOkLU}fTIR9pY$fOCsnHtgYK zKf!Pq393w?1+zP}%)H0}!JfDugn<|`%s|rEV}#Q(4|mJYiH`S&3wVfWs%xt2YoaWV zJC20aq(i!#?h9r!sk%z&Hg@Sb-@Y1jCVXDc^P1edh~n+W@?&M^uv{Ni> zGsNNIkwjPbs`^Dsv zUWEh2!%B!YdyOC~CcY8)LP@K{EONDCb$TiuqW4rX&?umF>EEYJFm?c3#uF5>Fo>Ic z;shFl?h?Aa?E=-mueHJ(=C+3>2pA=GB`|K#zr#g6%h+7DS2aCI&v#u)L;W!7+9_Xu1;A#c=HLIT6pm+f+kXLeaxHUrnJa%q*^-0)?o*J)7qs}5I6KZ7fA{v7yTojPu~&W@vPOKbK=gI#IH>D z3*w7vX7vVfLn9u4Y$NJz!_7P4$V8PVJS?6KVu8$O;mxS^nDzD58!5DN9^u=^Gx3|m z{zIP|dqqAU^M8D*LysHB+_e3M${Q%*il=U*(1_TA=!Xtx<4}+A2HkGhwI{9m4??IY zovM~dJ;`2vn|YAAid(AOXox!`fTYS=JhlXM2H5R6SfTMZ0P&&G)yQH^fE}TLLwzFv z_OXta-;5Gx1#yq3Was;!$FoBKu&-U*g7;F-yF!mLeV#kl0hzEP)Pppo#X6Py+0m1H zGo64DIm^-e0}e5Ofr*tmKnn9L_TjF<02npL@CzlVt8_a`wjaK|fYCNglhOcfa`J>57-!B?d}t~VKbrK`_gwcNi+{sJCE6R+ z;s+CD=xA~S-y8itojtWT`_mu1;-$Ahv$H`n{L^Ih;Q-Z_c{qD{7UDf>Dgggp%kZwS zkA27KcH%#Te9;Tz-%7q=_jqVkZ#_IF{Lx{)Q{{YEGt{x6RnQAudQxwKO zj$V31`)yDU9`-QHKHdPLVFD*sv+aC!h)bIjYy^M4fREZM4jDZNS7Y#M#Dtl$RuuVm zWvda{Jm+)#2)WuoszY>T0@eXlCHBs0HZIknekl|5Z{pMkd=_l~mJx1*U42MKL%ejb zf5sEBjTvgi-L$g{9Ia;Ca&?IHOuz^6qFe_E*d%fd7-bvpM;1eOydO^7qF}!|WKkaC zAG^H|x$n*-68I3=ZU97%;i7NMS4g25wCLs+EQl{TnCu;c`^_CI2Jpv-jP{eOh1mxD zN=%4Hrrabs3%D+{1icb%2wM~lER5!>XfS~`VON16uzP~@!SV$$Tk#%sC%!FEmZN-# zYY^>0AYyIbZbl^aq{9N*(?e|g4p)x5jK*xn(Qg@`FAVcEQ6_fy91|Nl9x{JA=#4%P z<<-`lkwQ#|Q6jmY-KELZ&Ld4G42+Lhe^m7p?&FF3c)ozOW zg`jMT`!?{+(f%>~%h7%h@ELjT=a3;)KGC@zp25ich>F6&Q2LLt^>0x*%Y|YE2vGdVA*0 z2KBUad()AJMYjDDIANfT1*mVXw;eoH*xIHXHmz{=LD7#)B-f?=thEIj(fNz`&a+2y z17dU233pVlvJ9sP2T8~>TSc5<7+J}W;(F!g`Vt8UBiGoY z^^i+1iZb7ZfgrZ*9i_gjdG_-?>QOQgp3bMu9UjSD;#S4UCK%P&5XG&TPqY|C3~$7( z#>1oLO6#N09q5J!r~G9&l(O_&Q>fS!5i!W1!w?FK(oJa1Si0PGq{15_B_57Eq5JOisP2O zN94R{?e;LOaiCUTRQB!zl8k?prYCmq0a}0wIVz^E9txg{c#=FQ%sSvNKZ;Ycy~bbg z^Uhph3xrvlZEYI9wAVQt4(%9T6ZHN23j>qF{ofkpcKjWOS&f|Re#ZPmf46T6dpHHo ztJcngCkL=hHpaJ4FxIA15YBAqxTPDH?4%w491Dol)FoS1YeCbYAnuCe>(8QPueq6sUqNdM=l@BRO{*L-xnSP_% zXqGK!1avhh`qi0)W;3FIrH6mmzI^L#Tk$$``xo)I z-tj{W&)oU7*}dB_2fyp?FUv#rJ^mfhb-vGG>VmZY9eB@QL8aow)*eOmhBkiV;(f2L zOmFDq+I?>30`Q!39`0?`&&)E!eP`#xS3$aLSM3tA7@M?#v`fK&r(Gp=Tsc9T1@2pF zF44tL!?qY6$;k(Vv>ir9a`FiwZKqiyIr$WkdmW%LLGlS8C+Cop(UT*1g=(rvdn|ZE zVe`X5p$0#KHqz}oL2RjZQ6EUqBPI+YHc#~kA|^Bw);%;Y=5+P`9q z%;bB-?sb6j1j%=Rot$J&M%Rw$o9gzVx5&18;V1{`DqmYA8f`@6y6fAjvOFDBT{X%H z9>>K8BDqz1T?7?6X#2Ms-HFj_iXMgmp;`MP0^vnlOh=S1 zs}9GWrLX82Yz0O=W4@)eRT)xd+qsAg;vUuqbV;=2 zzYf9&EQMVYQf&Mt>G+8!m2ic13NTFmI)rY zbE;ONp%fIdy~ijM@_?8r}QT6 z6T9F=prVJ#HxvuZlipra{5;XF%~+rQWA=Pg*kY>VR&@S2>#KJ(Zg?jOe5a`&qT~Ok zjO z_j8?|9{EW&JNxtG)i*Hvwa^zCPV%T|IqgX?h=23kFgQ%2}@v^-)M-OXa&NHy|?jA(S= zG_;2+K`q_n?2&zh_mDSMbDC*KeQ9J<<#<*`lc#h}%>eLn(?I);NBYGc=l!QU=13b0 zb$G*@=E?5IORtzcFDV(h$3>(3I^(>7>d5j^4Md+5-2#WLzy3k@<}=u*;k@^(^o-a| z9|p3RV|@y~!3h{j4_^$~+s}dUm$V_Bo+a*^ns;XFXRz@L&kG+yy7A8K@KlQt?%cNH zdeMc}V+6=F7so4@app7kwjVxSa_1Ae+3ThNs&f5!6(#pTY$G?28+d)ts;~-7S+u!I zRl7|FenvTMq>5h*3Yp{CsHW`D(TfW)pX~+E;Q<-75q}K;w|8_msA6o7IO66Lu~Rhc zuQJ{b0DkGu4g#!we+LAB7X^Kf!d$Se`;~fK6Cj@Vj#!YK^AB$CsBEaqj<`F3>dAHH zjgSjLZCO9^Nb>lV%!sIs`)#!RD z-md@JFu=Rao2^ZMgFd!Kf5mIC%u8qQ8}#N~%WL@_nH@{bxYfp71uV9aUD3^>DXrP1 z4OLv1sv>uPNnherTt8ocR4u@30HwZ;I;T?Tb^~Zt6jB$FQwnLEyq@>0fyLH=&LHO% z;$C49r|DEly&dUP`QD;w^Zkewg&O2-K5=Fq`0?o`6`jiecTf$`#a+U0VTh?BZ8@f0 zp!18ihDq=$eb!h=uUq_5#>!006GX2Q^GTv;ob@4l4fFY%KD@imZ#fl9c}?1PIP(@p z;s=EQ5EmD~?fA~*SFLN7zs`J_o^x0RA}c;teneON!4>e2T)%wjvXLx59owu zRYDChpRoWM)RIR5Vz*E@^M6VE!g`Xv{{)Pt*AK0YDjEoKdTScrGO<0ja}d zD1#>lnSm|8&jZ$fd>6N|2A82sN2?cno?MI9weK?{+lyPCQEq~Ds_%AyL0GT%e$=nEakPX+`&ugLZiF(nGkRHi5ENHgU3>9d#Zm& zrVpU9h0iZ6TF#!_cs*kZh(jr^bbn3Mv&^D{IsBfntbeNX#|(`OW_y)SzEn50%dLNk zGnY^E{y*sFLv39@UITw(SI&E@Xm@qx3nvbxH_=7bgg-SzXFVjCX9ob{<@q2@q4r1Q zMgt}mAFqQuxvP#O2vkjpX9RTAh~m{07%l4}Wb$ z&w||EixX%4iyI7}#V=7Y`fvFT?k>?D^2a`^O_1j4+7H8~s^>H}_H(Xj zszf*QM~^igX{Ktu6M!_Sukfo^b;p>;;io%%Ljn#v%%~5<(8Ee zs0xkK-bv?=>A0pdG%mTO`*gIe>K==`g~wKw@lC2ODC6t*YjUp_8MryHJxTooIGfoGqc0>r z$Yf1SZb4oW2$Rf-LyMC(()&+>2 z*PTB}v=G5=jW>F(19WSAa#nTheBnVM1}HYaku!gcw=*iu^a&eyBS>^PslZ(?(ho!kkQ$Ia_to!cWdl6@L1A7C-u(WP1LmQ5 z7O7^ZhGgOy;mcPMU2H`LzI`4rN*t!Gng9mow-lcI$D6+gH`l+0obc@ZN`#3s8S&R) z2q}V);v3Oy1i$I!z)jqsL9@fYNb^?z(Q_?e(w{>g)GJPsxzn&nddzyJ_cD>-^NBf!&trIR&ZpmV-RRJDG9(LBEM!icYXZqU! z^A$9l0mw-~&&SxZ%q#oY$zU(C-7lQ0fLX0lM|EVha}hMBrGzM`I}i&F!S}a^E|V^N zHnEe`1>_-V5Y3$kg%%i!lHVy<8l!-v19wCT*+|wW?zWALfYv||M-3LqInA|nI{^fA zD;RPi4#>S+`pFE2yHJ1P9rJY;Xf_~p_H4R~)x8)Q&&jtnt1@9`4MH9=hGae^G616} zLhtNbKh7l9xksc641`zz3Py}$I>iPO=ZUm#6xfbL8ww2kDT7Hd&K^wObhss}0G9E) zNs20iX4T*WYmf`F$;f`-?h9WLj>&xb!~08=M{V~<1Rui5R&&|Oj(g91WLYxTz*ln4 zed;{Y{{b371re=965Qj9(vCq|aINHP`~49l3QMJ_jJkoWafKl2>yf|pNCE+2;w85x zCrBDU(K;ufF}k^ILL}k?*4QI~yE(vw#yVu8Fo7c8tZiL#3%d_k3zb%_)%E078o6)` z8}ja#AJ|=nX$Rsq_UqtjvwtGpJ42@`06@3Y0D$Aay<&b*fxId&$bTy2N0>jWDUILS zC8ZrU!N7RmD)Xov6CvtFy2E%T0ImO+eL_+9`G}SY@4z?k8+dpms~w(**?+TVxZrKD zM)JrRHTDhrh5g9}cv%aq{bs;UoN5Me5MJ9MHBSvGzJ}(ET&pc)p~)Je*B(9)kjumg z+hc0N=v+VLxW$6xQw?mIu|Q;Ir9cYh(rShisiww5d2&p$Q6s4)H)Sm(K6fN&kV%S9 zAsZTE*H$1QtY>F@3m+JzY>{{oz{R;GkEGq`gNqNwiNmq+a7%$>TMShr`0E>T)wctl z!3HeJ#SRPe+?I$?PL*S+nR2_6sRsmPi8@KF06^-rY>!L{svu0Gfm1H>7fsOPU&Gpn zM~vAs3Zf^>g!(=Ds0MGq7w{8U;8VU|y?xt$ZGW{pMA^NcD&-hN3n9Dd(tlJ`V15o} z@o|`Gr&Z#PA$oA01p;%->3PSv10w2&LWo5oM?0;6I<5aEzhN#W} zE|OL+2l|%$V#!2J6SWBO%9le(FqE~OlF?8}IT-KCjUKrU5$b>@4ggvC>?t7KP< z`XvPvjHltVI1s2uEGHg?Jj1zQb#~gv3SVos-N0u#%z}xMn2ANbHgNsaB%%i8<2fZA zy_4gsKsVVtQSe+p2xc}K#D2W3wfa@nx&vM&Ocxc@XER%D6L)mRcw#K{eNEm6YYtG< z#OaO*n~D!3XYq+-^+!pZ(FN6_7snQO_3F{T)nrVkTeNe(57H%J>v2e$eHOo4Qd&=d zMuTiK`yQ=o31`uViha$o7xj6Sa?1GIb_zfh633l zyn`=O!5v1X3;cYO|s6XlA#g6qJd*mIgT=(@u${q+z4F(#xQ%|^v?uK&9-(1 zzPk=gtDjse4 zFNYMN!gnVjy`y_c?DY@dmpj;reQ6F7XjXHO^qHn59lKWE=kBqul4wU{ohhil4 z%c*{-UEmlot2%-yFw*We*TWsy}cbS4=` zdh201KM~KyfO+VSkwTlq7ORHh2S`mZnNwM}xRH}6BISrv%Z<4O5$k6I_GR$*vnTzknCUbJ2+1AEeGi3~*v@w)PS1(7kP*nd z`N2=}QN+p6&KujAON`y zb)zI^g0K$}0Uo=Vv_;oO4@o3oA~DY^KF~|U8rcMI3a?vm;iM@+gZ_Zabrw9-l6UmjDy@k|wmbsO zzJ?cCnFVx!RAMA-*Q;rtfOXt09(U*O27NYGM_Z_Ijs$u>dN$*vG>f7UCY_|8S%^9I zGD`EQu74}3wT}ik^k?^E1W^OLW-MWpv|p}>-6fj7K$S3%Do~VOlRx~{TH#yE-Ko-ZZC>~I!7H~&n?D|QkC4%Fq(0qx44|<&?t~M zCMFWJ!QHqOv6Kp5U$*@1&EgJE*XG5!-_|awJ)Gw%i~q{viLYj9)2EU%td~ow$0yOj z>mz9M@mKZVULo6BOK5Sg;G%}p)!ksKS?geD?h6EU@$b-;jtT)$Ro?1Jtexg+HN|Y| z2{WI*Fk||7hnb|&pgKT2t`w8r4~ry~N~5r32M+b?QK2>+3cGJ;0PH39%W>wJ19IV$ zkb30gc#JpQuOral*ge&x(+8-ar9w?76vy1TQQ9Y{$0+rc%(#|-BKPPPbMrPJw-%Hr zniS-_B9Db5$l}h3Ye9%kPY6wF zWC*10quWX+A!dc!YOxF)8Phvr;lo0aqsM)l55D%dl3M$YlL!9BbA!;WC7IrnABG5DHqoJR<7~hXoVS)<; zA7`y{sb$Nii7)lRIU{R<1U84)*3_0z=>~kJNK}`3wTTgzcST`rxLL9t9o@ObAg(F` zy98t_$oR`2-S>zYM)}`HJ^n7PSx>Spk_t&!N1xnqe9U+QUi;pz;`E7g!P5bO?J}M^ zBl-^MtcU$r8(bPTvhT$7O1%2XAdowYDYGzSj zJ4KD!AR`LmYyn!#;uLszYlEh|6)sk#pes-?yFBZ%N5~I25n+Sm!3&J6UDHBEN7TC)u zK9m6&kcnh8i#rIy6SmP%dvc$%MB>aq%`xQsOhhv}cP0q=LYy?MUVp_r?KNC*T|W-o z$>9#`_9x3{@lHvR(>wwbq}M{jd{le5RWFT*D|M>qt)FW&&ovN;Spn~RABi|38g&3` zYJ(wiv#lKH7&3M?ydY*iR~(e;%jQ4h538nOIiBuIP8E;y*Yw^g_!4(keWHP4R2r;5 zviKzoWgW!nrU#TY96*7@OR9#x0*Q6HzzOb6yX5Y!jF}Qw^H&?)V!tQvuDr{msyAeE z3~pfCn}8fEBO%!sf!&{Q0)jq3x&Km%3?C3MiqKicxA&DLrV6AYLhec?ER= z0Cd+BZX8hupc$%Vxpt2(P@p9;`(YV2?bS<4iYfE)*MpCUIz=qYrj zJv{-q;n}h+ZX_^ZFn9_mrTturMLVTzy?J$strTlUj+Xkxc+c~#XEHfBR-*9Y&3Z|T zvxdbBU<$gFAf0bkEd#Kz2_8t6RZrriBr5}uw7O2oDrRx90?cAz7I4q^y(rsR5qvFq z!ZFM9bsdUC!Z9~qrggl0cC?R7whkqqIVd<80@j8(T*{XYFg#^gVN<2zWiQ24LgKpv z&TEPHmY)cE4y^w)Ae_2TWFeD}HR~xrM5<8(93ZQkH?oJ6#{dl-Kt7r}5Ma;KIhwGJ z9$GI6A(-(8U?0nxY?PArK&OWQ_h=!8gP=w12x3xw=6NNO&FI}Q3E3n#5yJ^$N1Rdw zu`o*qo9BmpJev?z34~?t1|n0)JWX4eC7e5Ojh)KQ)Jw~w6lNmjuex@~T3r>3*y$$7 zD@_g!S;HxH4q($6?1#pTa%X`(J6@hA)bNU%b}KwYnm5^=epgVjBHYl{lPDU6CVF~i z*QQ&3+2+xI-K;v=+}LZPm#AJ;s8*jj@}N80UHi@2DSzi(1>dhh-_dXMH!W0_?^7LK z51)r01H+70`;`LfLG6{PLf|0dB4(s`d7&Mp7rA8#pkk!(BJKHJq(M;BpCpwP3HHRl zz|6g*Rjzr4DsM@VrQA_BHnQdrmb@;t{0g%#t9l;Bq8DN8O~zdk3!!!Q93T#s5tq@h zXz@%PchiBD4BOr^0+#8Z@LJpKs)hx)!3eN~6|g=tc(IpYA18)}Ytl+aAsSKeTyM4((2UeXrQLR*k9{7yC$e~l&$UX3cF&J%&hxeZ z={{^;?K!IXPL+Z)uO*ltdVZXdhc0n|6GRbTkl8GP_G1uaa_U2Ry-s4Kt|CPQ=a|@o zCX@q$Ql%H@8mH8P3MWXXwm23K^yYeZ9t$a9EI_T%QVA%R%c=U~oBVT5sbsKjY2B$91=g)~Mny06K*;7xe= zeL)iZW-?_W_i~4xx8WwMY4gjR&bkv1xooEE%jeDE>nJa0r60`VXOlpWEBXBiden9@ znonB^zV4+1s_T!xTR`924|)yASq~7Pm-hCZkz%4^TEzy)Iavzd2D&cDRbShLEMEI@ z3Eqa6JRt79EML?Vz|+QI@vghv&siNF&|8i)Yl(NxPem-hgi^~Pa%os;4B!5&a(ikA z#e9{T_dcp=rMj;6?%8_=!4V9LnyQ^H6vv>WMVI}9VDR(eS8z&$hD_UX;#Ejzsbze_ zx!wA@6xCV8E1@y6th{mrqOv8IA&#m573ls4a52*>t`nDG$a)gSH?w667xy!QM9khF z1h7v9nVt@*m}Y&RpiD1tr**gG)L}nu!~W0*>(cEG@$)(nWEdKQvs91MX&|vV9w3*^ z$Udo&)FhC?iCO*vcY#SYZU+v)Iy~e`*e|P2?W||zVLcAFg543}=T7RQ6J~ww%x2W+ zj>*MTO+b3g(nG@7d>nx$DK3mrXkbGP#qiwO!_s%U>bVQU!p8Bq6|?Y^+u?=p9u=p3 zNDY?hF)Es@|02SJKGXg-EjzcgYtQD=PU{g_ZVzpitnYegyvtkmmtFQpUzVlzB!l>N z8Lr0;wefC7kvd}O4x(|g(IGE#Es|(imE**2^a8HOAPc6()U7$2D(Y`{M2mN|G)075 zJBu+R>wrF&IpGyvhc2wKbks*zoW|C5Mo<{*?S6I*l0C~ju(Ntu%ckrORd_K4=mzEz z8dD&Y>fNV0_rwR;wz~0N2cSo$BUX0FTawYlYkHXrE@dF{DrPNbDXCmZ*K?+n=djAJ z5+35fu&YyY2{iy|+o1()Cv7)wfVxHf4*Fycke$LXIu5VCXhMCpxIaKmwVF|HvFDp6 zBi79|Va9COS$n~)d^PuF+{H}~WB63BYgz8~WmlV5usOR!TRXhw)nR?VT&_!>j*r83 zttPL-tm>$zE|Lu^DN!CXAJJ1}L{yjE%T9PYd8)}9e>>D&7mN917 z;i&^cZN(>Uj{f9eQ%8rqYEspJ7&#_mMsqwsCc|mA(~9U~mQTVi26?ykbE)G(CTzFt zy$Nz2a%(H|x0Z1$(6^SWYfk=C9PIe#@FHT{%1M@zhBL`BJNKX@e1$U=Wx7yuW_*K}s8++x!(K8|cz$AOOb)#F1Eh=4BuoE-+4o{a_@XmfZ zm!o#}hrMLId|7&KrI?b)FnVKqbZRRq+;hs^%S7|iO_nE0)sZTaA9E)>KawAJ%or*a z%%r0=6_Ji9Yp!>GIC2r~;!ZY&iaWz}+G!5WX5pP41=Ow9_Pbgc!F`J?UL21xIhD&2 zb|MW6k&9&Kn-nWf7whO7f*d%xm?XsFdY4^ZU#o3CxM+zPrIay>A|KAOA;4EmJXK*Ecf9mSquA&y|BWQE4Q{~cE1*wq8{Irh*y@G zX&0w4oHbCATnpd8HC@ry(Z8h+*+ap9l19?pPua?uwPDJZ zEt)9CidDx_G=uGNd(7gKU9+;sWw*PsiGtOlxJL7(M>Tq)M=#@1&J^+Dv6KqiIVew3<87r3-ET9_ma9Vh*-TOVRYWezq7af8 zxrt8|h+f_))7Q|#Zj3vlU3sF}PDr;fvE(SqFWasM3Pkde!%&nhuk`hehC7 zdFNH&i%~%F^^gzN45fA}$iYO%%k$QD8S~+cV{EC+s z0YX~a%9t(U>^;eMvBBs2B;%4L`pp05}82c_IO&P z9+Wpo{%SVi3Ondj-0VY=EmYJ|84r8a!|x9L+JhvF(K#}>bSKpwwuT?LZP1`2=j)N{ z{Yt%OxZ(EJBZ%&4bbQ=Cn)f_lqfZe*C(6Vy-L_MsDQaO`WYOJT5znZNtoK@72%Yp5 zWg@#0VJ*Ln@%2qJBRvA4&qNDXc#lw2BNkt25D2sBPKawv$LW3f{;_eZs@_%4+$4W&eQ*QH)XY|2WNU&$9v@*Jmi z+!gr{RAMPrtx#o{hb}*M1W{rFcax1v)njLJl_K*cXnma zyigGw4+c&g{1FONi=wF~1ask-G5+p}0rADCM{n&2&j?>ct1DXg!Ey=}yVsn`Lrvod z4sIEjsN9u(C}gIqR?QleWE!$bPeeP#r)8%+ie~dF#q7-?x{L@#fz+H3S7FDz9tO=W zV(cs8nq*vq&miU~&7+tTOD?%#h$w1Ef_p7Tw-0d0DyQ{*`w#|)vBd=`><_ye2M_jzC0Go4Z3rc#LBg9 zB*@$643-`F@kQIQ-b3sxiofsaMC*m?>nn@SCvCPJa(VE)iEe-3{=6`;MAFkI$S|VI z7-c8&32$2WFfDh-$Pg?S8u!S8Ol*1t)T1E;6@d}omp7DL8;PUehgMf^w;_E-VrWSC zsLjb=9=)j3{bh;9CB<1|MFRtm=x?g)N7b17ahsG6JKo}Z&$g+foipNfHP_uEMVxJ1 zRBV_KzxbEqKIc?_>+k)$y5Bi8D%yM!!6Y3QMQW%@j-BJ9U&D3NWa}i{F4BCPZ-QJM z8yop>&ebJ)e8C6ASHj)Lf6J~Ljz5fK`znlyQ>`+p5gwvXr^?83k&N;j`AkqC#=+oKD0yAf41nQIyL@F$^+yXMFp z$7i+;Yz}9bI*TK?gU83e`*^gVaH_xZcm9=sQ~mg1+tEE=0;wZmZ|4Drqhhp~#2j_i zhhly1Q^Klw;CE^$;7@8r_-lXb@9CK9Rt)%#D!xr0W)mr+R9Ceg#^%0+JY)WQhwHAGtzZX?0OxCpAi5Fq**FniC8xmWTCosh# z4mD?^ekq4S-w}F^hEScbLn^80oI+`|t@m^3TV)$XY1f^00u?Jw{Eww1=h^gRU}%m; z9-|gNw56=kU!5D11B|`H20n`Pi3& z5m)=v+K1hF*kHp&ced>`X8r3A$LebFb;F=*e{-`Qzy9}dcgsI(C~TG*wOK{$GM%r- z#|zz^oqT_p`H+Fh{9#mj0fD4|N_w#|0(@AdV3znW+-r4Jm-R+oLZd>fTG7-ZNn#h@ zS@+yZkesfYCWk0eR1E&sMh15p&y22mvNe~R&ss;q!gykJ#tB%_LqVTS)CRGl0|=09!v`o}IB@*f)+DzE)cjz1a=dSXOf8V&aCEddTJdM}#B;x=K!WKip>Az4OL)^Y!Ag z`y)A!3z?Fcy6vc}TGsBy=J5L}qVp)4QdJBMDL%`Plt9^p`Ym$i&a0gi5m8sLYvm9* zOfK_^NTwgGpu>>sE2=_wmk!Ip>~MoUY%As-L~ycgRoKZDjvLQZZ2cfjY(Uc@53+Xg zZjn^g*)%$%bPn!tOEe)`C8T&;oHR6VL4ls8hyP9CY_HGCwW)c6TFY5D-T%VN*Ta9n zOYo6ke)rASDAz*EnKzOt=+9dnQ9A1IzaX^LKakvMJG2dF)jHmv9dwJfF(8_aX0-;q zCuG`vc~0BM0C0hm52SixqSQj?fQn^no9N2F)$q;wJMO2k+^IdjlV#En53f5faj{uW}pLuAuqgV83+XNvMV~=)j#kCUG=I{J$*3pMs<^I`lxF z@j5v(Gs04R|C3%1j#$V|eX^H*YNv5&?_xdo@z)sY1JZ{mb^76d)&3QnO<(0&tro&} za)0Tv1{C?|p2c_7|DG?Qp!R~oeoOuQ^lQ=V7!G)Joo&330db2YB;o8n>X+er2-QQB z8u}PhLM80MZvfT<1s)@BSDjzT$_Gt1DMF4UVuLuw_~3-ZCR?io{Ls=jKGnYBRL8bN ztz|?PobIx~>Z>M5pD35(t)pGBF90crD`}v!uEPIX45@m@7HX)mE5S8Vv%r{|aAf4R z2hpxzxL^T@a`Xn8oQwmmjt(b;psPef@OiMpd)zw~y#(1&%<-bkOfDvJ1PRkjZ#FTb zi&3~NHQKA#D_8x)kwnP<%Tq^OY~9Q#Ow6)zalcq^&JE_Rkm;LRvRUPd26VKe)JK=e zeV`~A>`=4Mab+OMK4mK(PpCMI&9ZTRKVLtb56J1$Ww`D=$P&G_yl*lTbX6uV@js>~ z-btKf6{-`RDreuIntzq0vV-sSteNLFa)Ow2jk*{v3_)T+5YReH+3xEk6&`oQXBa_*m* zE^|3@lpW2|8WjjW1&@?TP3zxLaD^3|DKQCTm|mpWlOSM zyoz_#lmPbdAyyoSM+%F)5ikz+`B-~AuqE40ZGbit z+)fIQS_F?;1dnQfAd?b$aVK*C_2`s7B-##bpxsEzWY_0!A0ufPL!3Y`7MhX+LDfVv z^U*7S^IW%d#blD?Cq~D- z|E>_vI)T*?A0BWA#x=Kp$AS(ISR0~_+f#0i^wB!Y6TtT(tYp?33$=4?V3ozTTdy)Z ztc;98wM3u4K1ZC!0M6?QcBKnOZT?Nx{P}A4$3}z?%xBx3eJFfgF#lB&zcO)Dd*~!a zQ@%E?^?Z8?mMhrDpSZ5c#CON@RJYsG#^gZu8V3$n7}sW>QLJ_-9}ro%&gh+_sDb3L zbixJ4X7$D3$nJ8SF0m$5QzUlSreL)>+QQsht0b;&HA}EEGQFBzp<}T+UL23z@#U-R zEUt}3`A6YcS8w+$o4b$vyiQaDp%d%CXOg82VbemiA*LW=01CF|8n-S_Nv)LRk|K#W zy2EzO3ojoJEaIFc$uExU#V@na%iV{<`sV7FU(Y`CEIna1uhK{QKlaPelcDFF@ZDd# z>JvaDJyS1E%mS#AgkET|01k%0kIy^f1_?&ysxFC7?vMG}tXhxHmaX4Z9({Y9Uxk`M zyqwVZ8OsTHW1&@gHzkEGIeG9uZGoJ3nXbwBdE8FP~=^WuU zG0jQBe(_Qte8z}TXU3zQ8TgRV+7tR_>q-xa=^RSrZvilzfHMQ{8Ygv8W?s2t-gYU3 zODt&_ks>0rLaQWpl>}CC&h5sks2tMCoILqefcHGEjVqWAW?E6j^i~yoV&l9bf7@v! zGe!qH=~mCl<{s?QyM4d_IS@NNY>G4W?j1K8<$X8$*}oJoli2b@zx}y?J>aI$UD0ln zH|9-f=EhRSwo~J8G&jA7h5_)PF3*9jO{B771CakQ{--DVgwS~_Vk0K_Hpq`LIsU!; zW1%t{sPxejl0mbSCu^KCHU&Wvs>_64yLejeXFh_dbk#rv`fr(qmN_{^drnrHD5geW z#)WJ^1kEEXKR2R0ka!K z%ICNA41y~VQa8@#gK?elgT5E0mk^RKHLhVbI*bBTpp`sDm4Chnj&yJ=3l*wHVL2kL z&5zcx&*l-p!sM;^-?RguyQ<(^W(<$K>q9wd{uKngH&unG&4l9--VrOv@o_|?T7FHr z0b(gmtr#U9ZTVNwt>9ZL*j@MEsH!|S(iv;3NMr_6p;er%on=QE5yO+~06VRmH2(^+ z6>QrCj4Rk2p{T0O{^q^Ik!8aIHU64H0jICKm3ixqh0ZMnIS&14X`|%F+-8q{1?v^; zRUAfFRM+^0b6$ zW@%N`B6xwt8O`DP0Hv1oDE0!vaVg>(!lY+RG!KyvHpXxknlBfcO8{mj?iT2;=`9iY_fNZ)E{20R;dIV03vf0G8EXUi$0$5(5J4yCafKc$DnF zft$an$HR!Xs?#gEDj~|d()1DE_)`3gYX5;%NExXf%{myn3rjcD79lk53riM`VvFaZ zPZcWhSIx7xYHSu#`vi%nR}N}oOYlGwq#GlBHkB@N)5nyW6ye^Jr6A{5ILe{~TvDMG z+V1*d>VzzlldATwo1s^Z=sdbMIVMI^>M|Poyix(~`o&&z3Cm4%L=YP{p`y+B#sCEw z$XziqRIEuDajL|T7q)NlR57knHQ77O_F}uFhGu(bV8GBQfhM(y-DyoYz5v8W9i(D9 zs*49q3kJLR4>B&%aiWgqYww+)X{JQwTGc47G);=ldH(Og+RM*6^;}Fu;TKtKbn1*X z$r33oikLX6#lNahpag%z&)@L&3WciE7ccm`j!yeb=5G|lAqBB2Iq!-n7xZ$M8J7@8 z!MY-f&N4Y#HmM65YYk0uC2B`fomdSxpe>y2V{D)FD@&h3nK_bKHX2i%_Ax4T5GB|b zBUy{>ODkpxzBW#RMeT;fb#*GsY>qQYiInu_q;`3^U{37>yWEZGyME5*b5U|YaSAreK^&lK%?^IxA_V} z$?xD)@)R!GIWES{Rt4{zC(qp&D+M?We};KZ%dc@Zr=U{_)UwCSTTWzw?omrVR>@0) zdc8E4ia3-!ox|E<>WP+6f;tRFtUg`kPzc&m7o{NsV(8UI*ykIA8Z;os#Z5N(^ZV)k zXwgzC&p-`n*MIgG&Y+^EQSqwQ+j-DRT_ye1F0rmB569~F*zSBNzkFAA%Ej8^u(O!| zJE$vc6lkv>3zz!t#+mv}XFk-uRKTh6n|_(2#~mSYUQ>-?a~E_3gTq|v9xxynC<`S= zJEoItk?{1D46xd(a=csbDHpr{O}gi7tAbg*GH~k;n1+t1UXzlHMVofrF)Ky1k1>Xo zKs)=)>9m1V!6B9Ct0u&(vEb5 z^{Z0-4o_cWp)`SN73p&tVqI6p=&}-waTL*$33>JCIK;!>zy()9*LJ7~Ce`NfBFB+@ zx%Riyq!OIG{kxPITgf0Y2s=ZW^#JRw-PxFaS}06BhR`z-Vgwbf?^jg z;#!&l(0Rj&#ex_5Rgt4xt1lQz3v>3>aEvPltS-hIqIkc7QbSsN(4JxCF+}ay?{53~ z##LIo6#KG2sZ>d>D0aA;cZIX;v;Jsz>leO=*moam!;j=7Z}4+LZ#; z{c2KjmZO%-koT^dPhpxWfV4v(z_Kd^pun?3&$3Tj&gkyl#e4$JQ~{bD0)gNWj#4dN z;=C&bCB{-8=RIz%Xn-34zbl0^aNq<-ZIgZ4Z{mcVuwxMBO7!gA?zT=@dj5wKctQc6afBcHqZy`APsziPT(4-M(e(nu!05pxBzm%9~1|Oj3z(;ySj^C zw&~vb*_(RdbX1Wlh?-MiCvpVnIF|&KTr|if$3H>f43q?hV&I48U)i)6;5%o1vfoIO z=sYfhuU=8!b?+AF1nvmHcX6K=(PEcmIWE8tuQVKjRqzAqfG3zzi}j*=#Q{ff5XRe4 zN4SMc(yHtQE0lsspbR45b*crgKp?OR^a1JB&E@Tu4bCTBR@j`(lDo96Yq$innXfx! z?^L^3MhNLHZU0*FdnKA$vgG>8RF$48!Dv^&P%j3`K+Yba(9*F~bXN_l1ojMjG~Ko; z>+Q-5m7oM(ZX%??l=RQCu|uyWRoUUKukAGv$Uu&}!_i2{Ipyci*^RM!CBheWo{Kp< zO+MF4MvVXj`6w#^@Otj4ltN8i@``Fwp}5Z*R&>|)mjC)R1sF>T?&U0 zL+@7&;Vk1%CSvlDl12)t$Uxu(21gXpkAOrb<*X3?mC1-m!a)-XjC0WT=6Jqy=$}$P{$~O4YOkKphZuv zb|`8w=%ljdruJK)#@zXDFib91VDo+EvlNs7-0Vc;hpiop7*_t?EYoP z1Z)9?VRqo02xwl%q6iXWX{Zjk?*%%+YgZghwKfYnVRx^&*`NV%D<6i z2Out-G1K2WfHTNG(8+KB7d9deZ$5xK-jnWbFwbLSg0l)bfH&MJ7-u}em+VIK8oKtNnrRfThapticT(Y|>heNCisq?)h=p~xEmEuwr%ry0Pn!ET<@lYwNlIO1*s zQT>Xn#oP^WF>aIlpU8hDyG74+bQ2;WxdVWEK;*w7YjJcj?yUQt=zS%-C7`aV0Le-c J1SAUp004p-8pQwr literal 0 HcmV?d00001 diff --git a/images/1024px-IEEE_754_Double_Floating_Point_Format.png b/images/1024px-IEEE_754_Double_Floating_Point_Format.png new file mode 100644 index 0000000000000000000000000000000000000000..678e4805e999da2786a3a29a1c02e3cd03381c1e GIT binary patch literal 9929 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 Q+cW@nS5Kot-R}8+1Jp9GWdHyG literal 0 HcmV?d00001 diff --git a/images/Int4.aux b/images/Int4.aux new file mode 100644 index 0000000..fe2bdca --- /dev/null +++ b/images/Int4.aux @@ -0,0 +1,3 @@ +\relax +\@gobbletwo \sa@multi@setnumpages {0} +\gdef \@abspage@last{1} diff --git a/images/Int4.log b/images/Int4.log new file mode 100644 index 0000000..3252904 --- /dev/null +++ b/images/Int4.log @@ -0,0 +1,386 @@ +This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/Debian) (preloaded format=pdflatex 2023.3.29) 28 APR 2023 13:54 +entering extended mode + \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**/home/hellmund/Julia/23/Book/images/Int4 +(/home/hellmund/Julia/23/Book/images/Int4.tex +LaTeX2e <2022-11-01> patch level 1 +L3 programming layer <2023-01-16> (/usr/share/texlive/texmf-dist/tex/latex/standalone/standalone.cls +Document Class: standalone 2022/10/10 v1.3b Class to compile TeX sub-files standalone +(/usr/share/texlive/texmf-dist/tex/latex/tools/shellesc.sty +Package: shellesc 2019/11/08 v1.0c unified shell escape interface for LaTeX +Package shellesc Info: Unrestricted shell escape enabled on input line 75. +) (/usr/share/texlive/texmf-dist/tex/generic/iftex/ifluatex.sty +Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. + (/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2022/02/03 v1.0f TeX engine tests +)) (/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2022/06/16 v2.9 package option processing (HA) + (/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex (/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks16 +\XKV@tempa@toks=\toks17 + (/usr/share/texlive/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count185 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\sa@internal=\count186 +\c@sapage=\count187 + (/usr/share/texlive/texmf-dist/tex/latex/standalone/standalone.cfg +File: standalone.cfg 2022/10/10 v1.3b Default configuration file for 'standalone' class +) (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2022/07/02 v1.4n Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2022/07/02 v1.4n Standard LaTeX file (size option) +) +\c@part=\count188 +\c@section=\count189 +\c@subsection=\count190 +\c@subsubsection=\count191 +\c@paragraph=\count192 +\c@subparagraph=\count193 +\c@figure=\count194 +\c@table=\count195 +\abovecaptionskip=\skip48 +\belowcaptionskip=\skip49 +\bibindent=\dimen140 +) +\sa@box=\box51 +runsystem(pdflatex -shell-escape -jobname 'Int4' '\expandafter\def\csname sa@internal@run\endcsname{1}\input{Int4}')...executed. + +\sa@read=\read2 + Executing command: +convert -density 300 -units PixelsPerInch Int4.pdf -quality 90 Int4.png + +runsystem(convert -density 300 -units PixelsPerInch Int4.pdf -quality 90 Int4.png)...executed. + +Class standalone: +Output written on Int4.png. + ) ) +Here is how much of TeX's memory you used: + 852 strings out of 476091 + 14416 string characters out of 5794081 + 1849330 words of memory out of 5000000 + 21292 multiletter control sequences out of 15000+600000 + 512287 words of font info for 32 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 57i,1n,71p,215b,58s stack positions out of 10000i,1000n,20000p,200000b,200000s + +No pages of output. +PDF statistics: + 0 PDF objects out of 1000 (max. 8388607) + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + +ls on input line 1234. +\MT@outer@kern=\dimen141 +LaTeX Info: Redefining \textmicrotypecontext on input line 1858. +\MT@listname@count=\count198 + (/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def +File: microtype-pdftex.def 2022/06/23 v3.0f Definitions specific to pdftex (RS) +LaTeX Info: Redefining \lsstyle on input line 900. +LaTeX Info: Redefining \lslig on input line 900. +\MT@outer@space=\skip50 +) +Package microtype Info: Loading configuration file microtype.cfg. + (/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg +File: microtype.cfg 2022/06/23 v3.0f microtype main configuration file (RS) +)) (/usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty (/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks19 +\pgfutil@tempdima=\dimen142 +\pgfutil@tempdimb=\dimen143 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box53 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex (/usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2023-01-15 v3.1.10 (3.1.10) +)) +Package: pgf 2023-01-15 v3.1.10 (3.1.10) + (/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) + (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR) + (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2021/08/11 v1.11 sin cos tan (DPC) +) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 107. + (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2022/09/22 v1.2b Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen144 +\Gin@req@width=\dimen145 +) (/usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2023-01-15 v3.1.10 (3.1.10) + (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks20 +\pgfkeys@temptoks=\toks21 + (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.tex +\pgfkeys@tmptoks=\toks22 +)) +\pgf@x=\dimen146 +\pgf@y=\dimen147 +\pgf@xa=\dimen148 +\pgf@ya=\dimen149 +\pgf@xb=\dimen150 +\pgf@yb=\dimen151 +\pgf@xc=\dimen152 +\pgf@yc=\dimen153 +\pgf@xd=\dimen154 +\pgf@yd=\dimen155 +\w@pgf@writea=\write3 +\r@pgf@reada=\read2 +\c@pgf@counta=\count199 +\c@pgf@countb=\count266 +\c@pgf@countc=\count267 +\c@pgf@countd=\count268 +\t@pgf@toka=\toks23 +\t@pgf@tokb=\toks24 +\t@pgf@tokc=\toks25 +\pgf@sys@id@count=\count269 + (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2023-01-15 v3.1.10 (3.1.10) +) +Driver file for pgf: pgfsys-pdftex.def + (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +File: pgfsys-pdftex.def 2023-01-15 v3.1.10 (3.1.10) + (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2023-01-15 v3.1.10 (3.1.10) +))) (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfsyssoftpath@smallbuffer@items=\count270 +\pgfsyssoftpath@bigbuffer@items=\count271 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2023-01-15 v3.1.10 (3.1.10) +)) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2022/06/12 v2.14 LaTeX color extensions (UK) + (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 227. + (/usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1353. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1357. +Package xcolor Info: Model `RGB' extended on input line 1369. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1371. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1372. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1373. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1374. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1375. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1376. +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2023-01-15 v3.1.10 (3.1.10) + (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen156 +\pgfmath@count=\count272 +\pgfmath@box=\box54 +\pgfmath@toks=\toks26 +\pgfmath@stack@operand=\toks27 +\pgfmath@stack@operation=\toks28 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count273 +)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@picminx=\dimen157 +\pgf@picmaxx=\dimen158 +\pgf@picminy=\dimen159 +\pgf@picmaxy=\dimen160 +\pgf@pathminx=\dimen161 +\pgf@pathmaxx=\dimen162 +\pgf@pathminy=\dimen163 +\pgf@pathmaxy=\dimen164 +\pgf@xx=\dimen165 +\pgf@xy=\dimen166 +\pgf@yx=\dimen167 +\pgf@yy=\dimen168 +\pgf@zx=\dimen169 +\pgf@zy=\dimen170 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex +File: pgfcorepathconstruct.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@path@lastx=\dimen171 +\pgf@path@lasty=\dimen172 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex +File: pgfcorepathusage.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@shorten@end@additional=\dimen173 +\pgf@shorten@start@additional=\dimen174 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfpic=\box55 +\pgf@hbox=\box56 +\pgf@layerbox@main=\box57 +\pgf@picture@serial@count=\count274 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex +File: pgfcoregraphicstate.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgflinewidth=\dimen175 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex +File: pgfcoretransformations.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@pt@x=\dimen176 +\pgf@pt@y=\dimen177 +\pgf@pt@temp=\dimen178 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex +File: pgfcorepathprocessing.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfarrowsep=\dimen179 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@max=\dimen180 +\pgf@sys@shading@range@num=\count275 +\pgf@shadingcount=\count276 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfexternal@startupbox=\box58 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex +File: pgfcoretransparency.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2023-01-15 v3.1.10 (3.1.10) +))) (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfnodeparttextbox=\box59 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +Package: pgfcomp-version-0-65 2023-01-15 v3.1.10 (3.1.10) +\pgf@nodesepstart=\dimen181 +\pgf@nodesepend=\dimen182 +) (/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +Package: pgfcomp-version-1-18 2023-01-15 v3.1.10 (3.1.10) +)) (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) (/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2023-01-15 v3.1.10 (3.1.10) +\pgffor@iter=\dimen183 +\pgffor@skip=\dimen184 +\pgffor@stack=\toks29 +\pgffor@toks=\toks30 +)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2023-01-15 v3.1.10 (3.1.10) + (/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex +File: pgflibraryplothandlers.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@plot@mark@count=\count277 +\pgfplotmarksize=\dimen185 +) +\tikz@lastx=\dimen186 +\tikz@lasty=\dimen187 +\tikz@lastxsaved=\dimen188 +\tikz@lastysaved=\dimen189 +\tikz@lastmovetox=\dimen190 +\tikz@lastmovetoy=\dimen191 +\tikzleveldistance=\dimen192 +\tikzsiblingdistance=\dimen193 +\tikz@figbox=\box60 +\tikz@figbox@bg=\box61 +\tikz@tempbox=\box62 +\tikz@tempbox@bg=\box63 +\tikztreelevel=\count278 +\tikznumberofchildren=\count279 +\tikznumberofcurrentchild=\count280 +\tikz@fig@count=\count281 + (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfmatrixcurrentrow=\count282 +\pgfmatrixcurrentcolumn=\count283 +\pgf@matrix@numberofcolumns=\count284 +) +\tikz@expandcount=\count285 + (/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2023-01-15 v3.1.10 (3.1.10) +))) (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +File: l3backend-pdftex.def 2023-01-16 L3 backend support: PDF output (pdfTeX) +\l__color_backend_stack_int=\count286 +\l__pdf_internal_box=\box64 +) (./Int4.aux) +\openout1 = `Int4.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Info: Redefining \microtypecontext on input line 16. +Package microtype Info: Applying patch `item' on input line 16. +Package microtype Info: Applying patch `toc' on input line 16. +Package microtype Info: Applying patch `eqnum' on input line 16. +Package microtype Info: Applying patch `footnote' on input line 16. +Package microtype Info: Generating PDF output. +Package microtype Info: Character protrusion enabled (level 2). +Package microtype Info: Using default protrusion set `alltext'. +Package microtype Info: Automatic font expansion enabled (level 2), +(microtype) stretch: 20, shrink: 20, step: 1, non-selected. +Package microtype Info: Using default expansion set `alltext-nott'. +LaTeX Info: Redefining \showhyphens on input line 16. +Package microtype Info: No adjustment of tracking. +Package microtype Info: No adjustment of interword spacing. +Package microtype Info: No adjustment of character kerning. + (/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-cmr.cfg +File: mt-cmr.cfg 2013/05/19 v2.2 microtype config. file: Computer Modern Roman (RS) +) (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count287 +\scratchdimen=\dimen194 +\scratchbox=\box65 +\nofMPsegments=\count288 +\nofMParguments=\count289 +\everyMPshowfont=\toks31 +\MPscratchCnt=\count290 +\MPscratchDim=\dimen195 +\MPnumerator=\count291 +\makeMPintoPDFobject=\count292 +\everyMPtoPDFconversion=\toks32 +) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 485. + (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live +)) +LaTeX Font Info: Trying to load font information for OT1+qhv on input line 26. + (/usr/share/texmf/tex/latex/tex-gyre/ot1qhv.fd +File: ot1qhv.fd 2009/09/25 v1.2 font definition file for OT1/qhv +) +Package microtype Info: Loading generic protrusion settings for font family +(microtype) `qhv' (encoding: OT1). +(microtype) For optimal results, create family-specific settings. +(microtype) See the microtype manual for details. + +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! +Package microtype Info: Loading generic protrusion settings for font family +(microtype) `cmtt' (encoding: OT1). +(microtype) For optimal results, create family-specific settings. +(microtype) See the microtype manual for details. +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./Int4.aux) ) +Here is how much of TeX's memory you used: + 15055 strings out of 476091 + 304803 string characters out of 5794081 + 1866330 words of memory out of 5000000 + 35195 multiletter control sequences out of 15000+600000 + 518900 words of font info for 41 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 106i,7n,107p,1057b,637s stack positions out of 10000i,1000n,20000p,200000b,200000s +{/usr/share/texmf/fonts/enc/dvips/tex-gyre/q-rm.enc} +Output written on Int4.pdf (1 page, 25695 bytes). +PDF statistics: + 22 PDF objects out of 1000 (max. 8388607) + 14 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 6669 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/images/Int4.pdf b/images/Int4.pdf new file mode 100644 index 0000000000000000000000000000000000000000..496beba94c1b327cb13d926d958e8eec626fea7d GIT binary patch literal 25695 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 literal 0 HcmV?d00001 diff --git a/images/Int4.png b/images/Int4.png new file mode 100644 index 0000000000000000000000000000000000000000..d6200b9c9a4a7c23adb91043703ddbd0543b251f GIT binary patch literal 25140 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%0AkjQiJnMQB+3L^r~%GEJD5Zk^ZG)1c>N!L<;sR0 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 Y;oIW+62>533Ib76*1BJ;X!hzq0D|ON^#A|> literal 0 HcmV?d00001 diff --git a/images/Int4.tex b/images/Int4.tex new file mode 100644 index 0000000..c77e49f --- /dev/null +++ b/images/Int4.tex @@ -0,0 +1,57 @@ + +% LTeX: enabled=false +\documentclass[border={10pt},convert=true]{standalone} + +%%%% pdftoppm -r 1200 TypeTree1.pdf TypeTree1 -png +%%% convert und pdf2svg sehen schlecht aus + + + +\usepackage[]{tgheros} +\usepackage{microtype} + +\usepackage{tikz} + + +\begin{document} +\def\radius{3} +\def\fak{.83} +\begin{tikzpicture}[ + font=\sffamily, + ] + \draw[line width=2.3] (0,0) circle [radius=\radius]; + \foreach \angle [count=\xi from 0] in {90, 67.5,...,-67.5} { + \node[] at (\angle:1.1*\radius) {\textsf{+\xi}}; + \draw[line width=1pt] (\angle:0.97*\radius) -- (\angle:1.03*\radius); + }; + \foreach \angle [count=\xi] in {112.5, 135,...,270} { + \node[] at (\angle:1.1*\radius) {\textsf{-\xi}}; + \draw[line width=1pt] (\angle:0.97*\radius) -- (\angle:1.03*\radius); + }; + \node at (90:\fak *\radius ){0000}; + \node at (90-1*90/4:\fak *\radius ){0001}; + \node at (90-2*90/4:\fak *\radius ){0010}; + \node at (90-3*90/4:\fak *\radius ){0011}; + \node at (90-4*90/4:\fak *\radius ){0100}; + \node at (90-5*90/4:\fak*\radius ){0101}; + \node at (90-6*90/4:\fak *\radius ){0110}; + \node at (90-7*90/4:\fak*\radius ){0111}; + + \node at (90-8*90/4:\fak*\radius ){1000}; + \node at (90-9*90/4:\fak*\radius ){1001}; + \node at (90-10*90/4:\fak*\radius ){1010}; + \node at (90-11*90/4:\fak*\radius ){1011}; + \node at (90-12*90/4:\fak*\radius ){1100}; + \node at (90-13*90/4:\fak*\radius ){1101}; + \node at (90-14*90/4:\fak*\radius ){1110}; + \node at (90-15*90/4:\fak*\radius ){1111}; + + \node at (0:0) {\LARGE{\texttt{Int4}}}; +\end{tikzpicture} + + +\end{document} + +%%% Local Variables: +%%% TeX-master: t +%%% End: diff --git a/images/TypeTree2.pdf b/images/TypeTree2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b5ed4ed14b2c4756982f0c39a7e0b7db93d8021e GIT binary patch literal 26152 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 literal 0 HcmV?d00001 diff --git a/images/TypeTree2.png b/images/TypeTree2.png new file mode 100644 index 0000000000000000000000000000000000000000..6afd6293d53356b2656360ce88c69e59ba6a7a39 GIT binary patch literal 92282 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

|_~)b>hV9A97BFOE-M@98KvW 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

^8b^KTPc(fA1?ZBeTXg>(m81WVrO% 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

tvx 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

^_h6C*R`CnQN`~F$ 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±XM!m$dc?bj*bggc07 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

=-A}mR^d$Ei@&~k z6%WoW#&;5XGe|k`W8kq7AvI;Cv>eO%Zg!WVP2(H{Y1}&9uC*NX-aD8yvSqq7_&wnem6x$XQcSz=RRb1uxM<%p7 zkdo;Zb-Cxzd>VM8so|zz2aE2N#YJNc;}!QIhT|f7m1U0)hC4cH-VVANDSch=dNR$H z0>;X8`NF#ORDeEfIm-mg4h*krf@${;!g}9IQ3(U9sD%;y(3<@Y^vZ12wV{NGRR|0F z1-00wnw-xX*c3B-T19=& zzv^gZa@#~sQ!b?QuDpCjszyaOZk!TL;!SGTVRC&4(V_jNY0G8pwdqJwjD9qRG)SV% zbaHZ7l^@=-XV0*g{k^=b++P1@3^Z!rxQ|+k`-Il)i#O~WF0uKtw%Ek1#^-xqWk?*6 zNEXWTaEjjYi#}imLZ@%!FAsXI@Ky3TM(dFS@MMzwDV5C6iDuGmUjjXsD4v6jgWy5g z5c=!Be%^13_HVx3)9=2;fePRMo_5;N${?#Uv)uv0Yb@=N^Sg2sf;#b<8EIA{7RQ|u zv^bcU#p&##RhLO|Re=FLJF)Lr<%3%E10p|K+y-1K@#-+CfaW+8>fW^L2ov%}X{xiI++T&w8E4dn{+ zs80ym%N3ZvgSE%J7QN)VHB$$Z&XpOLMIzZGu;t5V6eUha%HIw~UpJpie-^N>eNYLM zR8*j^(XE)ALO|dif?wa0ua5*erx$^i~_ZnXgEjKdRwB}toPBkrScw<;)Zt~r* z4>G)pKmR+9N||k;Ar8r8CU>w99BW5gE8`NAlJjWwYiPvOlKHKUgUbfIpR+h!*UJ0U zEgs|-EPqFsaGP@Ejn}c3bbWiMAyau@el(I9k?ZD0s?unKUf3Uo!b(* z3|@-nhJv7p)VUNPg=}M)vV+fm!yl>rTOWdNywL9Du9pQ9kFUk18X4E2Z_^B#2h!SY z8m3sYXxMd903q+^p?Xm`hsd!sAvBGPjLtbDeIkLZg0LLhA;gKB51Vok{pQs^-mZnU zt%y{Y)Xa+&b?&ZZw zwcp{{qwQLh&6=6q)lSuN=P6P~2CgeI&QV+?N9KF5w5;Na zH)2o7LFGX-@mT~SeBSA3eq3G$x!bj~3NB@4^gHg2Hg5Iup5QDF=(;YPkco|o{#ifU zLnD%U?Ay&31s2(xq->Puivkeq&CkDZ?-A#(s`5e2FJqXyS|0QqSM{2@)aFFF+QLk@ zUt7JVHWimUB$IXY@`bnU>dg;&gr_QvD-aJXoHy@F*m~cWASS1pnti&s$r^93=m8>@ zHbK^LMABQ%5B4EC zO%-M+QTxGx#!zfE+h7O6-!Gd;alx7v{|NZx<@Nb)+;m$em!1{5bNY-o>tTLF+DtS9 zCw}$&1>>0LoT2XdX&q71xWK^)3FoHBG>&klDt193fgZ{{p1E4Pm4g$iPGYg08tWQX zv5pQ+F7Y($YE%$Q@Y}1uZxiaf#kaMpe^2Xg!s{N;#mxk~=YP!V9C%0A8ZEx+T>uJaW8`(`0|W{=y<{VYrqO*_Ng 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%0A30PO+2mkh6m#^*QSqp@ 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 z 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 R+N+cQ#Hvo)b649@Nf5LM+H zc^$T6;2#*sJ^e^k-m*+4yQ_iX7;0kqVBvS~F!l~q<@KAg0`1;n!yDQ?A!MR@-QgSu z&Nt!a2Y#z_4Y&|v9eDdsbd>nYz=OzAx%sN$)*>9p1YED#l{-E*Ry`qZlGF0)Af>*yh;U%N$&Zfk&dzd$Jm#EQ@O5T zuSP|Y1~N+_G8CbV#Zn>}7nv)`OqplW#)^b8kC|Dfka<{2N+k0?Hb*LnYgHB?-RlRR+?WSfV zb?~QQmDal3vc>`vj9f2sCA5cVjzsY%yV{}{BWsm$Dx5z$pMAR4T?5v>kSsUXc5|hw$~)G(%7Rrn+M#UdsMzWOG%m$ z&HOU3p>`tq$^hNPCM8N33_3=ADXBPmV6T;|@s8!h`}r^NKtf|=6XpM@L5q?&;p6Kl zN2eoplgEDB{Z*1j;w6;U!XxMIcJ6dsv+AUi)w29qAU>um1xh@vYqLxBf>=QGWj6Pw&q}gxy^CUKs}1={Gj$dk8A}U?SltDvOY>N zGT=AriMxTxRlFT@oMC~zVaND3@!gIt0fW0)`8bQQuk!UYy{?t-WjtFa${g0dDqdb- zmbszc)UBG;=lb$Ni?XTd)I?XeVM^*r3R#u|5T!vF#t zI8&>HgM(vRMgRnTKgB$Uw|D2Zwc;phWWNAa=v!cZTaC{OCn$Vq)itaGPU)-4W9x4J_BL^V~Y+ zrKNO-s!D6*?kluzi#d)^QB-w${K!4Y=8p9)`$!?wQF7h)X!e`9H_xLw8alF>uw|cu zv0Kd@aSvt`_UL9^Vo$kS;T^|_F%;_eJMd9Uxoa{~EqbH)1K(HSjcCVjTnGE?^$TXn z^7)*WCmo$?v*d>;e2s$Y8y}0mTG?dt$!9nl7yL}W{&dgvmpi$F`8HjHRYF0^1`FGC ztuh+7GC&n{?Q>_Ty`_oCB$oVac^HR6+{Z9p{kXU|qqg+5x{Gl2RhT=Q80zD-r(ak| zzpFKfjx49=&hRb97qvc$sr+V2{c!0A4Mi~>etmGjD|AAY+sm_zH7>kPNau=W#iY;5 z_PpNAdeuvb9*%VBP3u{ck{hQI+xDPPZw4ZT?Jc%9*Wh&d`S|K?i?XmJ0c6nD*5=g6 zKdE*URN0sB)sUesReZL6do4D8rm{vYuV{dKgv{JfyI{SzbHH58`KB7}_@|=RqN1WV zUq;KW?O{A<$1O%NIzB|LmXg%}dMy^$ZrlcDY-8Hpm2aSuA=X?}5`)-h*O#igDqn$VHxsq8qLWx*!wG(OG1vPr6gA#2zH!dBm`%Fx$sR z#;gc=A}wJ%Lg#h&L?1x@VwC;q)2AX1i&yODAC5I8T8f4<9_lTzjp5OguJk-=DM}5$ zL%M4WzGWcaKh=dSGM3#(Sb3okM;b$Yq7_77)1A4=R%1;?7>6&fm`O=V&HKyiYPIyV z|Hm?;9s<0FdM;YX)@+)z1oVaQpA7Xpc3Ur46yxF0jeXaSysh#3mtA?SxwO7C;X}zC zE$Zx$88QuPwX(93m-l~kZKQ3_W?kd3XzTMWU%z&cLqZhrP- zkPE+T2%^0QN8lEMYZ3RR5qoFfwUQL^Q#kn`NqU^UCdNxnR=xG`36{;(0lz$>);ML0 z0xJ*VQ*iv#V`E{-h*>WnTT)fM5A_k1wt3f0ANCoAD*pK8H7g~@-N&O1XOxtb=5Xkn zH^Ch0!gxQowW*Y{!>@ciXz7Z=?g5**rpn!Z4W8+N ze#-&z2uP#D(M&b`RREcVr^<@Rwbj>0~<5PsSuRdc#HiFpn zKQ>|`QK!sdXmIe|;~(OjX_;!d!;lNloH--diAl++`D;x*9kqLfNs#9>?C~UH=u1^% zb#!!`3Mqg53;;3>gF(##kiL6yP6WlLp zs0qk2C-%oGCEt0K!f)Eu^5x6eO22D+cBXic20c!GC^bAV@FWEV3rXt{+r9tT{~VT! z7vJ9Wqi2FHmy$Ts=HLi7m>VMl0*Ir4Rn zp&UK3C?X<~XoI>t1aF8!QRSNT3PO3OudkmfnPSiw2hCfDwRycLLF)t?*zhTGxVq-} z@dw7n7xJX||2!v-2Hy)Z>CzA~;q$@3ta->Vd0BuwG@ygKIMy7N;$Ua@HH>%UN2OQJ zG`n)=FtT3n03tA{zFNNnb`;378E-1bv}c3eg!36oPt8A1Q_bSiEPM=xujm7N5InoE zu&}bSGCS+9e(tvuAb*JRmmRK;>Bqaesw_C8Ti#rM24a-0#b!C=@8C!3VAAH@H)$8% z?d}qVeai3?44o+7oOD{D>&|wOFD#>r*qB=oN-iUYI0dEaFuOMzji9#Kt?CF3e?S62vH)$cp zZwQC;`>_f#j`sFP>4op|^?z1sZECWBQRddhO0w0ga?k(?3bzSPx*INIXU4|Z^7etR zBaf~=tfSMvFj8M1As}ZIU@o7km5cn~qP^mzaQC^yZ= zmdH<+H; zaJ~r88GuD3QV_hifgZy9)6C2UPYBe+7`4IJ@Xr|Q)fS7gMM$y*CY?Wrhd=3HrqZ50 zlK>zH&F!@`B!nNC;D2y592i_+3s>ilvF7ATFETNw)r;F7 z_M=AWfjYgty$v3LxY1_qk^kk+!6k{Tw?iAs99NnWWfoNHF6!i)bTYVZHrCbo;t2@h z+iosJp#l)-0nrqB;fgRg$QTIs09n@8*A+`1GSJXOFv|o7a;W8qdk`b1bj{4&Zw7@j zaEDyj&|1s)&m^U8b~I6$UB50IXm^=TYx9>>w;cLfTCAX9=0m|5SARc+Jsup{6dWzc z2W~Mqhvc4L&YS-=Mhq_#!UcaCtbUI2;-yQ^eS9>sA4nFM^&;NurnwJUX86BHu;2?4 zkfCOJiY#G-HkcJ2CQJ?){4z)&Ag~!a+ToCm9}4@u@lFr^^a-~!GyQn;R$Ob6Y=o8W za~*0ZlaZzvfR^XSnRlOziuvUc$Tp#_K_KIO1e+wt-+vPw92^`S9Sz3!^5x6mE<&!q zcJd-vofh2j2tIfUms2gl=a)7zG31&06OVPV#z4Nvh#{PSSLG&~QhCp&Y0Sw_(B z1^yM(F2PpZkt$fRna6ZGq&b05{=)bnsHOb|fMf`_B7oq!DWG*dhC>3>)w zPhd&OM!?ydP4z3;n7UgofIiI3%yQ&|6jWnt&XGZ^kUWKAJiZQZp(upf^%d0FNA=Oj z1nXOrkPIi2AO!^l9D~E`cLW&`_GI$JzsJ)5wuxoW`IVLaV(YZ7E`exV(JNb9Tb*(z z`)k)wt{5uoQ-23oE5CunW5%mjivTPC_J*zj{LXfSp!ImHgxBn6i2X_5%YK;y;ZUUB zH#aY|>$uh_K@@#xYPz*hFSat;D3PixJw?EY{zCTy(f>;z&Eq)A=e)j{s+5cy-UvhX~G~xdBBpezSrvL2kgoz$4;LXWh;IIfLJESsW#I#e7SQtvU1CIuKm{T@87@oAQy<7vIRmh(hDH)YaAD*ACjyD(3~8H@tZdSx+VX?t7geQ^Q@* zWub5Yh28%b%70h?A5PHmV|4V2{4}J^1Bq2ve>4wMV<$;H%fjy{0977K0yYYV?&i4>uLdo<` z3nhd zfJsvcQb!*=O+^KzpS`{PRYAd@a!M$a2J(Av4*xqMrlK#lozcE_%?)t~49gm1RrmnY zzS1x}d(1z8|ADrUC%?+Dch~OTy*tsCQDEM$ousx^qVvRafA+j@7u@*uR738uMk z6MnX~M1+MCD88`#z52LeoXEG&1cN}A`L77T4HD)yZZ(7xj1t5E)X)sV^!4;OwWKJ} z30i&6s!8~T8;er*qR@M1{z~#4w4zQ|E?#`x_0CYyr}~xmsSAAok+!!sAo3EzbIW_j zwLPfI@7cxPoJFJ2o7)>RiW3)^}SGsR| zG$yvQY1vcw1a??bb?rBP<-s5Xj;H&GzJC3>nr88hTeGmCvvUpDw+Ko>Vx7DP)SQTA zn@#HNF`KMA0~45ML}V@t!?I8^X}mKylLu82s=@~fp^lD@ls<3L!Tr3vyvD}H=H@d< zFh+t|OoeY53MKoiaD%NYD=UK#CWkg|OTYfN_2ei)!I=^h(?8l64+)0JTwgyVGSX@8 zr{p${XB3B7n9 z%x`UBB&18y)}SfjOXwxt$f&5L#m8&3s0sqkGH};XBH+e%N)7{`e34}t54WT$#mC3n z6OyoA1mw6_c6)7Y90d1Gu2Hsi>&X3E9xXrIovhflwJT4ecRRQydlSc$3%u z{udvAuc)rBekTGuSLH+bSsX!^-{%HCLkS==SE zs*&6_{|KsWsHBX9C^^*w{rwrABmPqHM+mo$&2-ONLBC6Ldpo=x(ItL_LIVa+qxbNVQi(Qg2~)$brIa0mpQ;+(!$;byW1kWMnhl1zEw)$WvJ+ zdx{ny`o-V$3sy&ePL+=px3gRIAfbfr2C^_lxo0$vdwv5WU%SNT=XrQ6;AuKWV~}5< z|MKZN=7tub=7su(xqd9`uW+}LZ})6Ga{CYcwk*E4nmy# zJ!dMSS&oO#V6#h#ikz9{@h)5NYCn&@fVBs`S6$2-J;m0>z!-zJ?g0{tK!8X7H|PGX5+X#vIcXC2w??f3+x&%41NFP^a263Z z7LYX*A=1(MnZ*ykyaK47ilod};!k$8E5NyC_6y(3Twjvl=jVqmOxRUR7FSIE-?kUY zUH5`?RMg-FA$T^IbHd>P#2XkGFf}pJ#=AsCMy7W$oH#KsICw4qMx>zWgsTIunD>?L zY|Xf?%@4iqVpi%Yv6Sfl827-pt4y$n@C?7WcwsgNA$E z`KB10a&}J6EBSpWfBj$4#*b1i#Cvb}}^6T7pU!PI+;0Fl#+AYCo#l zv}sG@aKgTN@nEE81xp@>cZasiyC_2?7ehx;mrc8=Em2wJnKhV}&%10pt) zcT*+b-BcVLa0(7OZ(Sp2L}y`Z%MC4D=;bC*?70@~^y2xILgSHTI!EoBpUE2+^N6N0 z@cAYxQtNNGR`eFO@6sGQ`6|Epotqw9$(nR0R5R}bC4B_#PCL$nS2Y8_G8)zu5Y9PC z@pUf8SerXppXmVD3(AeUl>_6o>mSX>y&T6R9bbY`@z=!AY|sRNC6sp9K^eL{&l3loh~6Xld#BCd0SXV|{r z?ARs*WnB%_yXD0O@D1Y6_N~x~u1yYIaDL{LSQBX88LQjMQ}vUnl0nSzI$EzrHM=^7 z8^d^>XIU3l!Fv2be~j?b$`+AdAKs5iq%w|KTCLsGpu5mUossKjT|A}vtFsKL<-RYS z95<%vJg&K4gWJ3La4K!@09<~0qO+qKJ9Bc~p-Lviv?<-XH~dr!Pkr=$$xojqMtCuN zgE{@#KvI8!-I6a=jEB`HM`t`FInE?xg}HmW4O&oLZZ-Gj5OpFSmha&u&Oy=nP% z+e`Ptj^I>RE+#V?4npb=l-(O;c0T;0!i5W7g+qC2>yRSz^YecdHx~iEieu)5C0b#K z#An)d`RdiHX%bi8Wk{f_j0zwSFR+qsE|NTu+}J@6RjA;Q<+R$5ftXS)O+|m<|tccr@u7Y z(Y004cdBsr>Pb$`z8QzNiea>rG^$W;{qe_sQts29Sr|_Qin}`BJSf&E#8tLgBd;nq zqgdq~ys>@VAdn|WsYE4-RDQm1B6M*l|9ntQ3akDLEH=emHW^!pPUKO;e3w}4ekwbG zqgN@_j(EuYnaf#ZW@2LE$B#24t=v=lQGZUPpAJG+-_l*XZnqR5Q>I= zMcx!az!uQeNSpSqX_6;yI?J?A^5?5mF*)sb&#?$gJcyYjh3qYfJ0hyx)<`eAWHh1^pM)KZ-8B#A2y08~2tu7O2!wACoK; zw7#3YmB5}P#e3#D;{o!qM8~wS1{#;B;uRMv8T7;6lp=|O=_&OB`MNXOB5$irhiBNT zPVRMn-cnMz|2X!%=zN|;vJH*X9dd;t=~h}uJ^e|EMbO~tcMM*kzBt`{&AsO3;;CCQ zN;I#;TwTseNJuL(AJ>9AMFlM*ur-*>@$U^8#`+uV%;{KcpU7H~IiBp+Lz4%>dNqNN zMOj!`Wwzb#ud3_arH1~o`#lqt*^yXX(&*WR-kfkz*2>uYOr2!G_0Mf(LEhns9vVW$ z>t7jeq0!u~aF=ODinspL6(c?am`yxW%VmW-4U;t$j_r@%^k|C_#UvZCF%g%!%xR!3sKjkjo1_8jPF7e&xhp!LtH@CwCZ^^f2?$yVZ3@t z^6lF%e0+QytW{5CwwOKc@hZI1>dGLRBrFf^@`pcQFEzmkV|%NUihW7<(sL|_%trKjcmB)q42wF!cUw=fuLi_bGrPpml6Z5chY|2*z$(&Ay%fi>nA9DZH!_RU;e>=Cw|lS zsE`c}d4!^B?>SQqs)YyrYa?jooLe&i-=>=O4p*^fbuW&@`>PU{efV;2lsurkJiFXQ zv2>h5q^Y@CfS*T&#&`dZ{sB=9rx|jEHI|n*^Brht&MWJiJ~Yc)&WchUZz1!I$1hLi z8S|*rjVMX%KNAz62E=!)!OD9)rcy3?S}!HUhQd3$dAQZ2FKj=1W>zw_YiEug6bc6Y z<<2lwnp58$CwbIjWL>39H*$p!qt7`x(NNRNq4SqqTWarZI^~&;YZ5Q}I61YhT(|44 z363FED87FA6PZ1wG#dSh#na(PNnmT~3&PM0dM0m*PuyHERv~**Yh3iMi(j8m3iZHT zjQ~a!n3)6w3ZTuXoT+)WTO#$epk9D!)QlJ%(*g3Rt}83=yA7DAgh7dEY7TxS)xbQ~hCB zv%bQ(Fw?}bVzN5I&acWWaBsMVZVwE5#SNL&>OXPen&G_MS#}12n zy-X|TRExdcPN*3SNxwe5&`g zjLELVV5O9>1k;JIkkN+19<2_N3+8d9=+n$!rww4z^PHb za7=AdiK?o6Lj=zVx}fTg?UVe&_=TF?;=Ru;v7$%26LqE2ZZ27e4o+LoFAj|s+VQ=9 z*D3+s5o;?e&A0dV{BxU*W2-CTtk}*n#SsZ`8Ig(yI<2(owzjoKu=2)AKW+bZ*-YqS zG#2Ywe56%|?l~sJq60H*k8(TxtL=gU$^XQ})RZ%jcq7U56tkrh-Kp^>*mbu{X65rb z@up>2!oq_XbhGyX9j`x9%S{!!`78NoPDuyX{^9cjWCVd_4$~sma|#uBGu<1<6rMgv zjNnUe&v#b6nM|KZ5~2UVU-{M9=sq&$xRi>8Abi$lVoR+m`C;^0)6|#3Gw9YS%{Fd( zL5t1F!s-H_VLPtyfm=6{e5v_O+R`P7O3X6UTiSMn#Vm)vf;gYys>R2?K2ee`l$&{+ zPKtKCx?g>t=-Vgn@dNAanRm}`UEjeEGvGschE}GvOm6te$;~%r_z=CEC-&LA_VBX7 zq1^JJgF%=ba)zjM52q6v>&U3i12Y~^eFEv zh!86tV|JC=k}100JWTyg-r2M*{drK>8FFS;cFcW=trzB4UW`-tF(uwxcvI!KgV6&n zLIUYVn0oa**72nUT`$rXG*?s7TWuZh=-hF|zon*54h}sghkmG?A|*Jo$l4eO?UK52 zjFQv#>tC{&Go5CzU1Pu}F6bBJW^6PAHk)Z8%Y%{=dNWW` z3NFa`zARH&3xRs1^b;AkGjD&IsvJ|?s=ysFGUuI3OG=+^64olwbql_Y;7^rhRsV$FB%!o5&B!I2LBRuEak1AJb7Ye#i5uW z_05ZEees4}3~9hM;%A$~=teYi_on6a!*$8WR1aQR#Bi7Sl74w>@Yv2k{cauFG-C0H z<5Aj1u ztFM`FLC2wR_*-Dsxnl~A-fa{4lj=DfEi{lI8k{9VF2uZQm@WyK7_Bd>187 zacSB?N9{GMT;DrGr9P*O-L~)&LtlLX?^oL~v4p<3pmvE5?pzznDe|#?xk^D6i3}oz z<%Z2M=$5sS_sIoj*t6a*yk%ILY7J8U2%Tliln61KJHwQgg9+I#Px5mnIddXWuWQ$x zehpUsB{!B1;$XJo0@G_Cel&f~(NgF2&xx(xaqfKp;D%e&M@qilU{I!AYOO-HpF|*N z?DILyD>F^el|&1iGqs9$T;hf0CsfPr+b8OyMRDq}C&?v+kIt5D+!)9n$2TR>wqCd! zS9*Y4#L^TI-7&Q+~1nGhz`JH(4>OF$TKMKd4CUVGTgk+@Jfs%R4ph*&@9DB=rRx2l>gJ`_G(N_#4fAs zY+HBP$Xe1gO4!JIg;xr823BI|j_+sk-Z{1eZd9ET`mVlbRa!OZFvGrm(0X&-8B4QW zq;kj=Rti2=F1K}=EH4WNN8tkI+T!BkkD{rg>@%Q1Ds{rN=HmmoHIgMOaw+lL8Vwm5 z?aNc$oz|1WMm-5>wq{%WPp)ll1jaP)U6Z}+<*+d*J(5qi?9!6V2tAosBZ(L~Xq3QJC76Q6VQIrUw{b@%3)-vMg>2-F zGnT?kCjw*0#5G)3*kOJS6W%N_Uxo9F)oZg)>w20zM6mEi zQHyDeEJ+&ly2~6|l~yXnR1*dK6#HJ_Exw4ykdBSyLMc%tc4cMK*}cmkLH^3(s5ts0 z!=*QlS=IX!yTXc>%#~8)&rIZt;0IreGAzvFp=YlO?ZocUu(5D7+WT_BagVP&P885g z9E72RSx;e)L)*hSbtKZR;c%v|%rX5rgR?rU>#LJOHj}H3XNf|%qgAsUKnOZFx=e?8 zb7O6$)pPyy+@x2MFLw_Kb6lfR`yHCAQex&-|F4W6@^%pj)(F)I2BVrB8C3Gla%hJ& z89%DN5bOu>?TMDukyOiqx~}0P zaHbKTGFnLM!uYrQjG5weSkg5vP9&E$6XMzVLvBRUiHZxxo|6Zt~f_8CTw5jzrkC7}A{y3Y%4R_-qik5IxuMeNY>%C_ z3nVN%Muuk6=(#720y|~&R3~K67^BOY6P6A&^;1nE^5>P4`j#s6>0f{DP)>V@e)#Z# zLYAS7U#D@V))k|G^;o>P9D+p_@M!wjSpB*cbbxogcn_|V|PodHMc@x$q{cTB0xZ?_%ixCs;S@`FW5^~+E zyk15XIWLJbH8}~reHVNC_H7_u_he`k0IR##B||*umUcPLs9TMb&cY>Yrf37*@>a=< zhsAr*i=T7Rn~^E*Nxatcc@@>L5g1v#si;222-SE2PESLL2@WE3WstgD5 zEFSW4x2wWi({L<%a<8L1YK=p(JU+Wza z%&enhRH1iO((aBcd7i|1n6H>`%Af=B^R_B1{ahKzI8;95pDJ2XYO=s0<7#~zdy=@S)+@wR!`6P2 z-4jcFwcgrDhm|>N-AhUe`;vtzZu8a&&!W+QS!RaXaL$ky6Q46=!VIG{mH7yaIx03~=4-*%ikGDbhj37R!+y5xAbtW zYTcevDKn4kV+lHU!mPKr6=tyDvMHkWR4D)G+nMu@E3^3VqtqUfpH3)Lg)gNAa#GVQ zO^>(MKAA(KGbUZHzOC>6`hCGew`PU^pof|MhgfN^Gf!`pSz1tZ5fR4fz_qyhrn=^4 zsO!+Ng3|x)p1{8?b5jZs$RS7Mb468fJL4oeq$EVh)hDlU&`tZh< z_nDX+tVX&T<8N-&YrXVg<;kP{x%9bl%UF5A+3;-I4MoMI>g25Yw=!49*mn@t8!{cW zqp%=VfoU(QLF8NHRbD8;&fa_(8WwhIYTopC9LzeGuWYUyVB+Da(@9IpdmeCoG`Hf- z_X6}o0~LeG53(TA`*cA66i{BM`HYmi9&(`=X`Ej8%!*hKe`%(?^n_t?abE4z1zr9A za)UFLsb%K~M5^%bAzXxU*1r^Hroqu-uH}Ayeqmu$mY7pF4tO&NJ2)(O7v-^2`uh2l z*$n-J(Q`iWI;E*#fh8%}M$6&F>8o9J zrcEE8>u#)AbEsDfPd%Zw-=n1$@v8zt)r)_FS`mVepeN9iVgBiLgo-Ios*OCbULso9 zd6`Ec_41{>^EyRwnD?cHqr(wjqeUXHNpdkC)VXoiNN(xQK{un416>ERE`W5}{s|K-eC&QpgMx z;pqvJTqT$rYV-(53&ns0xwE~3|KLFaQ}2&M&}iY};_@P;R; z)YX};FOG%I)RF`O?-NGXHa0deB}Qm#FtbUn2n6b@wMYKHSZ_z7v$OMw6DMf+j6UkX zsB|dZ$lP29ARu7;1%ge&{IQ0xPGnY#n3dTiP`%#l6SkYJc>n$fOshaF8`O2cz;AVR z6?_m_!NrW3uo}M1FzS6bP#{t);}}2e&^hrztYy$ z20DPL-jagU)Kr9Rc@^mN1QG**uyRd0P&)DTYbBuF!b}zzX2+G{ZybezCOEtd!tX($ zI{zd~|F>VQX>yn8)lxV+Z$TB*JaSPP!pKls7Y>sK9OS4gPuzD|kHZA+EJz*BKbB$p zx8%$*`?Jai_^77+<-I*Unnsir9w{m3_4P-9mjLt@gi7E~^bZ#1Z!)vizoMs@3lgcv z_P+-b2vE~F<=>zX8VE*TndId8?~{}1#bqJ86K>#R0;?BR_I*HTcM}=aA@Rz z?dY(B))vr#ZNR3X{YNLAm;*%|!M0GM<@^33@)-Pgdv&Bn9=!+}9{9Tq&7xPx<8U%K zpc6sEQX}W#Ehi`8UGp+oKnU?L@khw{FfRWUGv*(_?0Mj`A2-5DWpZN!Vkon8;Avp0 zL9GhJk0^T7EZ?ppx;WlL_=o=zBI<);opv3J-=rFGuvU>)nAAa$WeOY-pxFWK2Qojf zBoQ`G41v{tl?WkSqONiMr;9yi6%{SlC@|~m>$A&4q00A)W>XTjfDi@@{9sUiN%s@2 zh{H+VD~!CrT;f#ANr2anjg9>k3hw+#}iN51EH_NWu_d!#kmSMw!p*P#8~e{UI8)$sCkbZIRZv( z5vQJK1fx+-_##4RttSGF_3?h>cYm|1|HbQaMFJI5BY}_&ngp0Shau~;ziAEpAcXSg zL109%{An);a(`RHJ%R*j6zbdgAZb?CWFR@f6;tv?l#DX)0TL1tWORZpNwPFZ1eiql z*lsLHxcwg{TNVp!;Rgl=9Y9G(ctS?nN^}BdJ-|e`6D^$jJ9HzW4J2?Ar*jXWqCL8A zXBGa*1&BOx?AZ75@$rd?3y?t|Oy04xvxBh;;1b})aOIKs3uNiwr@ISgpd;$*>x=Bm z#SiuM_5J<*m6Z~Ii%f{$qdrzaWQY76I<^$3tLK}9`TJLB2DuW5kGmcq-rwA;WJCnPvj&j2xis%W%7A(gNP1yupnl;?v-c3cWHl-eF%Y^_Z7B-Ra@iLM96+PY zLEfG7UoihbuP|VPZ3F3OU<H#970tS z!}rV7)YMc~>H^;nDmncn-B+#1AGJn~{B3m%{qOg-idly1|oJ3@j^%w-b< z9)K_mh4viV*GlrWu~9)zZU&k!=`Oc(!jbS09)dw+V4xL*A2-bbn1=)P0sI6{P!KR? z%>rAqsH6lc>t8wR1`=t!)1CfUQziY^>6hz}yrQBa#A3)dko|$uITRcI+6lNaQTh^0zii;hP^&r90p z-rhOc*#QV%+VlSXd!W7nKjI%UoPQ4kJBbq9+NFg+;s?RQS{f3az3fFq%48$>5dj$& z*UKXIf?Y${Wi%pO-L%bLc-uc12^UdpF4L^RZo#X9RHP39e?djUoC(gw{wux z)1k8oktIZZzuQR=q9kTzxk8Qyc#IG{8;(uH`gb! z03buJaToTXUV%;ik6F;#JBh=G4+CMZFI(3uHuj7q!aN*y=&P+Yt_ft5ix!Sm?jZ0o zVHhh}gGlQHmUH00!?Z|P1Hs-oW@hWLCOu%g@)@=GcO7s$0@4h_j<-KRYe7dxhs16y z0S*5L!sT;ZYY~YtP27(S!43ZAlJhwx=fi725VM`?3c>@80_1i5KzxLM!ysrS#akgu zNU^{Wy@8BEe`S}yXB4cBR9ErvO8cc-#JXvhGPf>T!ltSZ!*0Tj&+yNzT{(}FZ)j*J zq);S;H#I3Dhm8G4Gh$a^l<9_uA8+i&gyHj9jAAiCTb_OZ8h`$A^};Kq2MNAS#oYuQ zhrJpfP4Y1G^oNHZJ$UeefCWG{{pisnz}p}+ zbg|#{pkHW^MgEs_2_MhXNIZ`U0VM_$7{hw4>BFGbq^F_j2E4w@(XCRNYE27)WD(4% z0W4W20$YI~>$*5ZwDo{y&7ERtbuSX-J9&R8S{G8qE zH<3JiZ4>yxuA6h8k26cpss@!J)b3_d@&I7ZgY2%Xv@|qrzWy)KBVqB}?YmgF)g-bD z7pBz4P%4dnNl$ZQY2(t=A4RD=Y`8+#?LC#;kjI`D_ zF;_>B-QN}T{bOojq_RLsYCfx89*$M-+R3TYWlVe)!T$QMm4|JDv>Vv{R-3C&_U+p@ zjJu7<2(=d)VBH%lGdn-4NVahRtiiW-WvfcNs;S)?kne)MgG+CLeTWW|=`=f40&Paaf8L@j!gdpR&uM6c=7R)Qngxw%mDRUUf(b30qY3Ik~wPC+&0KTvi=;VKU z!aYVP8W?rC7`lXQwpp0g%gu~89;s}sOx|%_>|1C@qYsnA*PLED$He~qd&jq9lwaVt zRiD_}&VZ3ZbqZnt#*nq8b{(&yH2F}4fgI_Vz(@h{clf?~#zVhwMnqz3_!l+4*K0yg zZ87?b-#<~YCi7C^t(amqCtF~8f-9Ff^!E1F(?=FYM@nkm63!eHg!n)*h}gu$;bN|$ zuyQ1H?kq__wIjAUi(H5SvHY7FqRNfKz4E8E8-ZSw%YE~+`xOJZl)jW3CtFly>_2|l zwRUTfQ$h3g$IfQfdY!T;4*#cm@7wCs`7(7rSIhfJF)Ak1Z_xFL>aVdJ-=BQAmZ%^r zQ$}lOLG>E{JkU4^v1{k6p-bKP88iD|rx8{f`}`KvF&KQ3|3UJZ527Dgk1GVcN}Lby z57j)kwQ=v_RX$HGgdGQ>c}RUaHF8mct+ll>6uTg1dqRTkq&J|ZmGRaI@W|oe;Yf_y zP%L}&_;j93vg5a-#7C2@3Q3dK^G!uYxTZT2R6Hd-i25UbTs4iTpR4X5GxQ6WL?=-= z6CKeK>`!~ER=&6vk`)~-Xzh)q-lPqoEM^ZudVdJdOa9?doh)JUvm4tVvGkj_d(mm{D$Dya%S=XOz#Lc^yRiUWksKv*kn!l~L?W%X&*p-k$I}ulYQ?E?chllSLm7(5fe2i7t0JX*Cfeqbha-uTf$Uet?|(z>clMSd3Szw9>dh zaTlUo=;*i(e+`2!9^C2m6%#fX%YH}nM_Zx{`tpNuhOLqU9-fx7Op5YhM*Q77 z1v!l5V#WjGhB$M%8Icr~a7BFM zROW6^@1K0Du=-|I(!>#^$i~#{DfYBKF)n7q1^^QXIM@{8_Pe%zr48pPb_Ezn%{NUS z6gd_jqp8YIQ40E^3INq!jh8ua6TW1 z=EBNVUuZIW9jALbb6*qXv&02D?C1x38hSVdApr;2a$Ya~oSb?#3H7+$9$ zODvK-_mx^qk#9)97uIgCxT5fKy-3y+)KkV2n48>V3loZMCG0eW+fH`Hpc=n`UuoLD zPjWjGS@`WP_$H+?1eYTEiX5ELS$_U}$dK@@)@|+W`kCQX61aFZYH1+mUr?dBWItS# zwlfvYudIQKvw1!k4~qq9BlwyK(9Qq0*u;&`488sAtZn{*4zZ^Kc zJbqO-WOBm~TU|Oh8{?oCnrtO>Vu0z!^7PxWSvvP{f%>vmhmXcfO83WC)dg>=2yT&5SN+zWG1-aM z7CE}JBe=2EMSA@dqX~uqBQ?g%4ws`JO6ES(YG~c1^GE2(ZzFTJw z)XgH7B%ibm;#Pr)eEJNfBCL9}BK}tIo3R0}t@4GFd*aklS8q5lj+eeUs{P`&KkU$68SzylK+Bzvh5}1c^aj>T0zwOM(*6djwW~4dT z-K>8{_>jXg*JfF4_N^~GL+bC0G&025T6f+zr7BuH*sLSb&)TA#oor3}crI2d`*=`! zRvRucBeCeo!DJSBlfiD@)Uy*KwW`IM9xVaQBu+LI+zfq!PE9*w3jz*nM~u5#3JT0a z#A5Dy>c`&R{JyjDCBk-J-wia?FfW%@reeuUn;~ztnu!DcYe+NIab+4YNj<$PO{CT_ z8Yc4)D;b=ck{vS``F`09jdy49bpNEwhnHPHEixCNUG%W4WfSS}sf4n*)iG(*t5wl=+H{FRe1#XWy!eq>o}dVS;|`6*6~v4kDH35(!x`#gpbSzZ?41$bcD+fDHk zSIB#AFJpS?CV zc@TbzJU~3Q=dv-@sJy-jhlb0rlrmlLE~^XQpThm_7pQL?8+~7wODAZpRJYQ3+2F_b z?+xo-ET25lXqluEyNyUCUp61gYr*qye-O0t?-rQR?G~^*qnRmI6D_XnOO85y%qTxU2RQ=Z$BE zl9x?iDvNpc(u*}|<$boV@dnocl2xbe_s0zb8?q)fCmPp!(+cSDZydf(vQ2ZJ#bSlq zC(E8J`+t7Nrj%q)yM!+tA!|L5N#Yuo?y%}ufD&Tk8*S z&5DF(!;Ik$$(|9X+7VW!a8Wa-NX1;$+d3$b`bWcY{W+ zEA=s1}MLP8tv)8p37KGvE56~HbB2$^xfO@^5urAD>}62 z>3Y3nbMntIInb|i=s8`#QV5r6GBHVZRg2eDOOlysX{C7@4bCd3y?ak=E@tIq7h~q> z0CA_L-Kf0UIeolB?50>**g!TW_gkOyt%t(;BVlY?lTCM~N)F~H?}#clU_ZoYX<43^ z=i+utA3jCw5fTD73Y5jg#}fu0@^xR&NaJ7cXUgHwGXMNE2=@#Iz>T!y(;oYL)ooo* z+(dh*?ARB}c@3vBY@}&Vu!Qm6HCe%u7Vbyl z==)g=sdUmW9Hv_wXCtn#E0@OYEbVx1x3K3vV^Pcsa7|x4EsmBmUlqJ6D9Lipb>TXc zsNBD<9Le}k3Rhi_Fge|o$KRp1c=pDNhHRzU*<-gXb-6u6i%-a+(Xx|*C+p2;J?4}? z#4t#As<1Hk6*}3(ZY=t*7(M;?-Rmj3r6be%3Gcq8J$yIrblz8fl(OJww3nhvI_1@m zAKB;x#;S;oc6X-d*qT5t=oUkVo?EBLLUL)TCJ6bT81_Z%dExo8;FyN=VaqFlxw)3N zZ-0g1073FCU-wBqp`l#>b3EY96N9?N>^=1#o*Q&E@o|m^ejQv*tz_2}QL$Oy7Gf$M zcPz9HVSA4LSSVA}jWHt#08W6m1a3yk`%jK((JL}CvX$j!QL9n^alfNlf_X>C0xksQlyFfPzT(fV6-}gObvil!!jJ zJ==AQtQfJ&3{k!ZeNJb$?RGueBA@%oNTw3K(zg(KCRs={SU9#*$ttU7u%UXhBTbxhq@&-Ot1!6qsY%nNq%OxIy(ps1PSxynRJ{d z!0v0)hu)jhW4Jy*n11rcbS`Dz7tY+q7OIA!Ju!(PzP50B5jb)K=zv3pL454kNhh-m z8`+)ZbTa8(et{KRZ& z`^F9KGsDHKv8(-k&J>T^q)xN2=43~e3;QMBWp5)pm~gM_3-hC^N8VrKWXBLoYtPF& zq4jr<_4W0EHXm^H@AzW7g@5ja@XtO=bOpEDKMQ;Dz1^-WQVEdaW23zA<;~G6u7lr= zfwH^d6nAA!&t~wX+xhLwBJVA`zUf8n^0#-XepLbecvIAHns%4P&l*nKnI)=Sc9kzp zqKd?}{cKU4zB&<=kxIMzuQDxi!EOusx^?^8g9Lv+ng7@mvO8eT6(i&rCG4C7l*}g* z&S?cnraMk7wOa*SUuJ7N*@B~e$7aZ|?2Y~ABjf`NILXQv?%S+FQYWjF44t{2Ns+09 zUAVe?kIuqsZkW~0P?MzZfg-CVrACHEi0=&TN?DYMUCS^3BYDBL47hTaB&tZ?SHi(( z+9s5E5?Qn(vJI+Qp8N7|PM=mgsZj6kzRShKvoKv2q~-q5A*L}W0gmF)p&?#yE8ojQ z`7}tJV+7v14SY2<5O%X$#^5{`^^$~ent3a$ZlpB%?0Vw%2D04G2tP%%Tpx)0VAK-# z3DfNQTyJ7U&5glzn>YD>#S5jRL`q}>K|sg#0cy2}DP3BwQAL*wFY9U>NB-vgZQta4 z{(}X;mv*(j!IfUBk|YI}sz!f8N`+s`YVm!HgvvF7sbIZX}8k?Te6&V6}{2nY-q{*_69`rhN+g;1XBfQI$=8Ou+$L_tUv8 zS6;pi5a!J0;N;{S&FYu(lSsKDHNE3*zW>N0^M~ICH%>GM8b?!D3#RnN*<@SlXlwJ+ zUKG5V{d116#?^DIDFK?Jz$XnL$j5c`cBTqfK%ow)$b0)Lt)Ece*#n*!3Zm7shANsz0^!#kUWs_vPY-6RP>I?I+qPtj&*3UmBsurT{ zCSN_mLEu625D`PR)$zG%1Wl)Uby!DoT@8ar?_75+J z5n`MdbY&%bw~97cBa~rXc3)6!d7Ux+HA9ZF0U-k88Sm{`8P&p9ft3UHu5C3eY1^YW zmpj$hzL0U5r_{dNbrJW;?cEMeVLdZ~LwA)qtC@~^2I-ggylZi5m7Qg%lB>pgEHX@R zlBsYJ6^BKa^5$HZB)t2ynsoANyXj(?@5{T(vg)~(t9rDbp{!ngW+ZZJawWh^QP5?6 zCuWm-@YT+)MO5ysg_>whS6lt@ZN26bQkUrBu+Qlkcna?6gk9kwJ3_gY)N)bt=x=osXp}X*a}!$odU|@o4rBM$<_w95 zh%y|Jm~@U9acK+{lF(^P;S2vOlN8ll?hnE`G+c`Ekvy_O@0P4i9F&kHC44j&mM{=f zY^oS`u%|la(PLZEnLD}KyIbEF+t({UrLaw{PrlUIEs{(Y%Dv(;PlqifkiX4oH%(q)2qWs^pK)McTWOSG^bvE*g2SOi{pnRN8s)$@ z>4s*n9YVW5`R&s2U*c6>q>$Cfa-44w6LVDS6XlSs@O!W}L`gUiV2Fq8gvPIi`}Ch?k)J#{G%zqQJIjs7Tb!U=Y5~qQz zK(%bhtiSRI)^%9>mLyYTq(-ihPJ-1pb#76t>-?;i+G|tcdedKhNNwSWvJCjXE$k zU9x}NbSzf~D#v;`PE zaO1TG=Rrsj!2{_E9z=U;Q8d(wjTpjov+qNderW3J(*qJn%d-oyZh=||MDpTz-ec}l zRaFWY9)mLwPz0!_x2>)9KraQl`FGYm8qnz#X8-}P`_fo2xI=;8rQ`<=F_Z%;7QnA_ zj7mb%#^lB2{}K0WyD)S^QVXf;Gh*u0w-SSR1LRV6B-2e#PY0@eui}T47#%|o!6hl5 zWP-fM$EJA9`X_u9aJ571w!yj?2sm+b!1v;zF~1kPCL`ph2v86&kG=*=Cio#Zaq3h% zG|_qPJ}V#nH5~6PkL&l{DT6azC)D0|Ux1@NyhFTpPjd1rCi+=m4h( zad?e(T*#AZA}jz*_n)qgcLIIz%i+1h-=f){a4k%R7SkOK(jmmpYH3_;@A7vUNx&pQ zYmDM{I33Z&I_^pMPj~_=YD8?#|L?WZMSl8p5r8w`9~2cG z4Wx`X$&KR&>FDBsZGbJPvxhhQ45cIe$Afet6*^AGsQK$ZeY)=ALkKx!x~DZc*(r7n zD+HHdR@y5tBCS;+AYmN9pbc-*CWMCp?KlwEXI@?aOWz@`n_#@y1lso#Cr;FcbFw2J z|1cf|{BJJ`9jJhS*zfJrf`Ujh5}r#uW@{8t$G$g*78m&9YU;K8{`K(w_I~|cpoR*z z@=1_)AWkv_R+A8IYJ;KkZ(mX-BO@aQ{{d*N?{PTvY4C(mDC_^0#i4ggt-5%C4+Z~4 zX694&X3F5jX5q?DeD=y5RP;g2`U@ZZAha3&6Fl@@H#z$u^Q9wbV03kL0Sd%h;l(op z!^I2EOk!eUTOWav1g|)-t=t6E`y`vXG`xjSC2?_anB^NC9StYXL2T{5CW7DZaGi{f zZWd1b!NJF3Cs05AVDJ!ZRp2mIH|L~u?L=BfajvbOKal9ynyC_ zVz{?Uthmgm^a-H^x+;O3JMAU&-Z|n4>&80{J~ZJ!&VQi{Q-^XKx$2_rw8)8 zyTsu$&cGqFz2OM%u*h2?LC%DDV%VbM84;FCe@T8|q4N2pU$7spJ;gB5`@X;k9#gNZ z1bWv6)C>U9i#?e0#{O1{}x;kDUQkwg7lRBENqB z|5_xN2WUq`xd=vyz zU9fTS2=6evuovqiDqBoG8l3iEwh1{MosuNHR2VTL?6u>*ppQbGKX>>#yc77@-C9%v zbM6BN9>eKGO-aeR;6tt66|V8hVq^7{F52xp++A?86RC@hyu;pg_|M>lO=lTyT=2&R zMLvW|&M?lw!|4!8{NvJePbYM@p@;N{zAZ~jZTY9-@bV-VC5ph@T}wv7WA7T!nAD{pV_4*;^oWKAT0sukuQ6}6|UNFWgk5ggw-aA4v*H?!fLLYPBOjW_V7 zhRE=tDtG7D`*+nm|1wF!d{Xbs*3pD}A1p71X{hiMTh!WNN&^6{P?dg8;q>RBho6fVl`EC1sz4d$ z08#2coo?t$7}#Q9<`V+~*_qz=r<}|n?t6-HM}u+;f=)q`+LL?KBVMm2w7>Cpz>CEF zsG%xE&lk=iXx2oJoUQV#x8DAQvJix3>fj0vpX?_|?EeUOF~{2BTt{4%qXmKT#j+u~0sKk@j}UJ?OF1We$qA}cM>QzGc{+iEbAZECs) zVLV(eSNKrkRC}iyJ~~Hv>r=vg1uZGqJ4ozP;|)#UuI_H+bik|9YL2}@UYe=dG`lE9a1MR@H4qDh0_PDGD!>~3l^)UANCf!Di^EIO*zUwY3zUL_!pqAG zpXIrSjg5_Q>6KdbmNeJa%EJ2bep3PiAH4S+fEF~25kykgvvA-XK6cE(-abT|DdZ>2 zAHi>zf29k2fnlND+-2`x2+j8-hZ%Iqy^gL&?LWR zCdS=g61g7$63B51tJF{1NxIEcihxz{^XnmEKR!K8y9YX>D5TN7^_^|(w!vHh#& zA@+N$7`6MX%p+;3_x76E>V@Uj4T{-1BbP3>JcjfyIRthM%rvP6!Oxd3lE_!$7{_6E zkw^q_v^@+OrQcEi*ZnD=C$l#XH2IFn$YmThmg6i; ztb~MCqeh1dEWwQy=*`}D_dDt{JcNt0^>I7jCY3OTDMGxb^-T80`LsVqCgi21je;%! zJ-T@-W8{tILwl%pD>N#@8-p=~rnhbZ%uNDU`QDibhY1G~2j3B`<2J;l;xyNCuI{W> z4WVyX6uEBTnt4}TcDF`Wm!k}b0_hogo~__IvyCG=$GXGhU@Xc5It9r)dWjq30j702 z(UZ4mA-cH+@iefU013}dO(DsTc>h_E2lqf63s$+%3;aNYEI>0PRk}y-`F+R`>I>}? z9tH_x#j~U56C)X2)4#8B_T3w(rQAIw8gSRG9%ujaN4BLVRXC@tBsZPG>Qc3r?>w0V@4qKDb>gH~&bPuZujuNAgOzJwikoC%yH3;O%FUa4{WZTqy zsA{F^5s{N{0(&&BA1jz|n>qO$+_aUPV@4?-th9{&c#<2~Sdb}mlj-2uA5#D+fLt?E z3Ado$&^+5db;jQpI65e06u~Vwf@r4pWTp-WV`m!ow+B{q8(c2+)6w6H&@HlgyPfBe zO^wE#N#7pW+)#ct<2AL>t)df}q55i!Oy$w*$NeZ}yv)yU4DK~(r$H{pY>Mu}9%VYw zJYO+s`rSZ=$!Tg<)cRJm1M!WejbGNCTCD=pA}5!Bk)OX5k*YScwM}?TPsFPTO-tUs zR$mt7AZcVa76L&Xd9zRB5fQZgk{h4!GX@4@<3SLbZ*46$g6lXxP|2BWF0j7vGcRub zJ-4vXZ#(hi3(PE_q9|=SBP$$UKDRKkep6C1wC;-6cb5a=NIEL0i+-A!ISIw8O!bUJ zTH|z#x8|?mx+YkykU#vIZ%tpS6rZPaEjC~5*>%eJz8c1*lbx}>O0X~jg!A#jU&T+C zD{Xg074Pbus&uzHR?g5r?Oxh{ijdXzGN_7`%{^LOo6I@HOKS^$XG2?{ zw1Xi#+(c-T@}qu-qw;cx23M^5q$MR!S9)<|D%V3J@x*g^ds134)9KoA42{y-v>dIz zlwL!Vator4=~Y*dmxsUE&{w&)pQknS) zhm10ePP-b>acd+iYKL8ql4@dm(udrKSijQ1o+p~X6c zp>$%NZ?Y^c>4+wC@*9yF3zF)?Aibjw3o z{P!PW@MAihT*NBMC8RN}NoFD$cJQ1iztGr5VOry-V+!_R8Mjg#=08ahW(><5XFbQT zG~N)elZ*3Yxs6VT!*YG$b;>U~I%<#Iekkw9R+FD%*GsUd%6~@4>fYw%gQ>?!iIh3; zt=a49R$=(+PO^ulVjt`}HO0J4dlanlzP4SKf}N>mg7^dGUB5asGXZaQ29Onur0`A` zDd=sFktgRCz0li?-=lGG;4^jB%^!+d28BN+1j=M9(_(V z4pW_#IgXRFLr;exbvWqxDsR7T-HB>e=v~hot-JNr$X$C-rZVXgnyv63^x1qx@g1P>kNr^r>G^)PsbO@EXDA#`Xi1# z=8}{u#1+o1_8-gjHg{Zi7WDE}@>)*4DI<-&YS_bps}aKv9VB?^i@c8 z>d5j`)N?A(mFqnY9b|sePqd)>GtUyYFEBW!lr%PyH=o5n*{Nf82fHr>3emz_N()qF zMSZ7THhAB0CjX*a+-WZtEa1=Tao8Q69J<#fTc~&S^oqSzupamE{!Ae%kcmPLfFD$* z9FM}=8L+i0{SxTaSUb_|oHDUh)LkYK0QRNNn5qp#9Pia~8*kZ)(I;lm#!i!LDM?>C zNp@awI-*w` zO=nIYu%ZEoNS3IEiT!GI>4Vwx47EBAkLr}har0O;H{mO!hXWqSNmkXWXIbimefjY- zVDu4PuU6^pmS1XL72~d$nctO`yrk0DU2OGp7iSN~R*Rd^bw9;r<~ds3K3(P%GcRUW zz1x-~wxYC^cVnR@LTTD^mY062U5BC8SSvk4@3HO$sh~%;ThtDwU5{jLD$;C@eo5GW zmr&AR=PYUOa?cX$W#5`M5wA$qr?ZC$Zj#3czWdBIH`_Y;y$8)6E3y`|t5`TawDxnI z8h&|>UA9G-XoZ*kh=aKFoY#Rj+A*;ehV9QqA9S2Fg;|{MAIuNHoFed714-sfG_CGN znORCy)j_JsqGU_UvM+^?46km!_?pX`p_92W{L@r`WcsLQL8{%pLG_zsEd{u?IJdL{ z-5-IiIdTGEbVE4({m@LK>8mAMy^C9w);O`<=R__m)mgXwIA~9Tc{qV+5%q#g;GeAn2sE4# z^P1@X%$L6LlyyzY%+5O_JgqlRt$7SS)E*}Cq`acg{-Zdkl;2)GX4Z0QZE*T$beZ$! zba%ySN5QDE*Nl|pN7EpMO~*2}*{e=3VHFjhBd68h>2dotbtEKpEeB_JXO)nFVdLH0 zD&G;A!LQ{WQ$Ole94i~Y&wn*-jN2)+ZB!J)5((G@%2ByYl&MD3L6w?q`*4Pa!vsc;#$3*z0HB_6}X!>C`ne2OCM-F#jF4eL90|GL|w^wwX# zdbV|8V<@<3s&KUjT2j&jmJcdwU;sNFlur~bc>ZNc&&N&!EMOy6%-bOB6$@0u-7KPX9pZ7s}OSD zwss#_+uSLZ;RALe-f!Opq3)P=vnOAqd}y`kjPo)Wa;evi`pA) zzMTn59&WAtA(%57dJu692@9|o=qouAWbl-XEI9Ig-ZeIt#AAU;=&%hoCI++Wmdl}M7K>&{ z8@{@71#U?{l?^Sko8I8|&^c-$;Zd;kk&)Tgmt{70(tRP4GQ+k(r@Xp-vNH!D5c6M5 z3=AK)#s-yOyax2A6p~a=@6XV@R3D~UsOG*9H+$%nlzyJg4bjVt%kKR~evG!d7lVD< zgbi_)AKGRb+R>c;nz?$F$H{Jdbx%$X^AzqNCsX+-c=;ytGWY#Zpl)nz4SalabcG^b zD<#yW}lOV5+-kyEAG7xm2mxj?B;3NeWLm7LQX0(LfwyD8trNpeL>ov(hZKqA# zu0{mA(KX4$Ze<)Bjn}Nrak8#93*}E!;*6(hEKg{R6j@rj$W z?Fp4%+Qbv5zompLS+mU7#SO-EJGEIneVO}`m;gjT8&}WgJQs5w=ONP)Fz2jvb)5|x zdEL=L;5&vMivHqW+tS;Q%952!)P{L)$oMZvLSgiqArgx7s8lS^ek+>xQtx{r>@deo z=%=GP;^#Xy=tBxRXep@+E(;@kJ3M_?!sg=)gtIr^FdRxdR&MyEP1fthvFTsEgDxjk z^rOX`rwTcv3?KmyL+Y)6D{~=1{6@EO9ODefvhYpGl&Iy|j(UEVH1%h)#v%E8DVxO$ zRcHfrKv%jth_2B9{Slttqq|d?62anBEec~d3jWoSN2WA$ zgG{B$=v0VxrHdKlQ}=d9usO!hdcs*$-zqoL2?^@C1iK$+dMQ3{8`tY0$E41p(M*3; zL&ocBcPK}uUiXKZm%hhdIR|-dF6o~ktJrdrTR%F?ZkFfJdY{2{XF$QqNRu_YMHRd6 zR#>=X7?Q0HjgM23lYd539mDY(6CYEYXwK4Mx1=S*CLJRMOK(mf$E9&^)AgrTSy@M4 zN1gG&VFumfaEytfsZm(Z6&^CshjntuNDF^NY?e z{X;FW@Us>3*l#T|YBtY_v0FHvX$iO8iFIup8k>uASX?;(I>3TnCxuE$ly_Ugu z((97XZv$(OLuB^>TD zGwB;am)reW;}TyR;;ycL)s-QgRQK3ENeQ(VLu-@M#kFu~UAOJ< z>D`{UD?ZQo)Z1UJDCC?w5qxITNt|?)NPw0+a;Ma@%y`OQ+MBrcQ^$!`VfIISpISF>VtuGeAR8X2ljv6x2&1ckV>QCQJRQT6(o1jf%|Csg{E4}D*<);YI`Nlf2Zt3Sx_@L+pf znR$j3)}k-|2 za5UZXw7hQlM|=6W^zcmp?U2Ll>Y&ZAg=81l+-(0NV zl@UhH#WhwF6$S<#0bRcA%`XIQzBM^oU%y*Nm%FUHPo|2|J(GIoqibW?xfQ45JjJFR z5NgNWPDeiJLPQUZCt?c6ti4j#T2o6{ley`)>?T`q)DsHdGz5tP`_R7JY^O=Tv=I*-3# z69-jk34;y$zXVIzrZuv?r@jsgSl9g4+gmP+U!BGJ1s6$|)5A8_zAX}~%|u6X{i?v^ zwgBh!dzJ#Usqqp9SB>qtjbBSg$lZ5(Z%Cf6ZCll!9&F2}^|#nTf#$*~j`F1-g>7MewHVbmmz|47*9>&M z`s7avdhH}uOpau>%kmr_9NFnLUKi8!O<#<^UpK1MdM46PQxM!pkqQe-4fzjsAwo*Rssi%nK% zCY~-Z9ZI6r6TGiud`DtA*h|`Ehz0O9#t?TGp83u1>G~C^rZcqtc^$1D8$n^%y6n95 z!Oi04ym`WB)$5DHGLBv!$nEVHVR#q>Awm}~HgyZN>lE#?WT4fZ>aASt`gt)?*FKy( zZel@gBv#zu?SrZtnMEU)Qo8DjTYWmCi)W&ROEniX)a=ONwN1yt!GtGrPkR#It@(?HFe{?Lgau?HM9T-rH|BOK;>vo&XP-J{Wp?`{B!A zpXk)QKWmPu75Td*l<=%Jt#=#(AFJ+a_vZ{lHwF0zN)j-H7B};w68?qIgfm%)S3_^F z@uuA1fZ(R^|7ZYt#Iu!GRSEMPF;1dn*Di-!?Cgj=B!y#I@ZD^9;}`l#%(Ryo)B@?G zmM9m_DRL@Zzf+^d&MwE!p4lN`dO~H&r`QjpFOvpyk2-UjXF@?tdeiWBj7LLai`G4sk+Jx?C_?x>8GrMgD3 zjE+NnUdcO+<@d(F80g@1T@I_VZHey2CXO_(8ZjN%ZNh$`JnUzQ8}SH>5s8v75E zEw`j(Ie>8pL{s?2<)2;r%R=w328vTj1h@UA?hsiALg8j81v|>wKEuq3@fM}De$Omf z$2Frf_0x1C9%(B8kXz{Yd?R^-pLb{m!e(sL1&fg@@%e%40%)(X{;y6epDY{ud$Hxk z);=?t8tdw;CK61~#40b_l$Wt}qN zv4V3MQx%=I##veNzGFVLGK{;$$ltSg`ayR)izU6kEn{rZ+0j&4VAmklSV(UjQ*8+> z9ax=q>tr8wo$s$xsJl8~+^=}{mui8m`L*~TjkD05up7`lOxDF`^|C~GRsfaRa#r1K zWy)phN8W)$B=0OcU*PTf4z;_qGWSA&xU_f>_tbtP-L^s9oK3x`l&@JXv5^~x@p>y& zRc)up6>IcPA@20y|rvBP@TJiOdEvbLQ) zoGo}O+j^6Z{MD_=ZebUXn7h+nv|Gj*p9uWY%RP$qv)NCO1>c*~zIAF!4Izqse?L3RzS#U>z2SFH+xVsY!>I>Jl9_P+KsX|%|_(8?dXP!jC_d1 zHqu;HUY@Fu+jq#*pkT&utjy+sRBZpI*k&n)c`0Dk_Tc%(?gEa!xgYa`-x#qER@Q36 zCYvSSFKR7O3)!renp{uxV`1t#n&IK@Gx3`E$;oJoABArB#?^Bbv(<$wgPxbTZWEG` zMLLc1v8>g;KZ+Yx6uDk)i?T_HOxM=Y0o}0U!qB(9#1x%|*#+NqVluKo>S+egZM2-1 zIYX(V!t$IlMn6ZgR^hHfR5!Vb*}UC(z~d) z&z?b>-%I|3SB87-ai1J;Is$%bP1=gfS8MB-TR2c9l`e~^cuqoWPp^u%a6g0w{tv{# zu5NBn0iMhJP{Mnof&^FWrc@K6%yT(YCoRuoaKoiuL54GT;B$0SHg&P6zb}Vop3UZq z?CgaoNLG6~xfR#xc2_sR`duf%;pgr=h zZY*kzAJiHakeveq41@>F7?loLlh!e=qn5m*Z8JV_zj~=%EZB}Bvjv;vu~0lPI=65` z78kUoo-V(gbjTT{i^|xsd3mPfhWBcY))P`Dft&Yi6RgOFqujUYOH zt8r}xw$Aj<@z0jnI!jqsW<0Ub)X<=?n^HgkAP=-r5P%Q(QvFy_k8WVdz@-2Ii^aL% zf&*!@6-*-qSn+csR|k_vIR6bC^&pQ(;O#1Yi8iJ6BX>IjC>o}D9&80{Qdp?7X%ybw zKJk>O+TGQ89_NLt+?ABde;sd~v5$ z?BT8?R3)%vwD#4@9oQu!tSZQO{F%_J)xw>{x)yU#2EEc*?6jPD2b`51`LIYH(*@GzW1##ilzgVZNf} zZj=uezI=lwWa^^lvJTcg%I{?;GXui`wE2ODsk8WMxHPBA>ivB~XM&__ zx%Lvi*%s~uvs3`m&D$om)rk7=pTk2u1`s&OCWFo(HYl584L&-~mizXj(GcYXbS-QIq zhh^wxyV)JvlN$+T98FFZAKq*l3QQo!i5p2={H32g>(~)`DWFh3|ZwUfWu4Fb*ZMmU*95F zo&ljxgiwIYK)A_Fll-r66S;)(?d$Wb9sp?rBi+^21;yvNOceTpOM0!gBj_ezG~j!W zP5!;}QDl)v6=~=G718&8;p^{@oLV3UUL3At2J!%PCk!T=I!$(PBH?v6G<#9`#0abN z-|$BCZVI48Eon+|Lx^J~Tx8-<6~owRf-xkrX5pdyL4HRBgH7&DWQpU!Z$u>E&GnJ>0={Wo`pnH$~&WAC*sY~Fr4T~IE-QJ2d z@W{ZL6$;N#H3mmploo-&%Kra~%1@*r6BgpGy72?{glt+U0U(3U(J~mYXIY$|UtgPN z+ZaNiKn_ZC)PeCgh=DH{Ya6Z+Y>5y)@F4 zG==Dq>1n+`j+6LWFphhg0h8nsEZQ-E@%=%6rr*m8@$9Yc&%%$v zrVq%{uh>A4j0^G~cCq_Vf-k{n7P!PK7cQg%wT-9>4F4x?_d*u@TWz7<-Ht(b4KpU? zu&p)4!v{zeQ<8*V5B~XXTWgoVM-!=#b2EaO(BCPu8eZsN!dRYG`1-ODT%5=jla_*w zNyTdhk?14fkHIlcy!xLYr$3jhUZ{Sa(GA3?n9ov5<}G>{?{|Z_-3|c4X;#%c!?j^x zT!ZoieG)$_UY=FAZq1IX`;*7_>A&G{PDs z_Y7grtg-#4MD6c1(Vv$@fv7qtVnB2i#jeSf3Q4c^a ze3kV=COX8q7x-Agn|y*l$HxWl)Vu^N?k(B`jgZLyaNNCf0jn=yZh@810d)~_T!`O= zR#+x5=z#P?VHi;-ssFKq5Fy#nVJN`!!Vrq}olEeqEiG`?!`zPNv{$u(5QZ?bB98gktpz#g`R+i710~dZ8i-Tr z`EO}n+~3fJns8^}S(asE#oqdqA1qm6;Ts}6 zgQZezfc50mes@tofcgARtv3+r|KhQXayVpeX(#=4Ob#WL?DFILkcS}(MwP@T^oJq0 zjNDLwyO2H@FzsB}YT!3@bTe!pdL#wACv8vNz@0*g7lB?cPrSZ{?qP5@^84hNBaSyOZKb=p5fDpK z;qx<>20$+WC+sWaghENv{4>aFA>`u<4-sgz(_FeRyTA#*l9kb%a5B10v}M2+PXgSH zrxE_yM58;0OT8 z*uEWVVid|X9`+Bs*etM}0rn60XF-ZTFw?)FXVCY%j!=in3U29u$vcAiG+^Fa=;3H2 zpgxLTwuQUj4PsC*ieJz~G-M>2NSyiChy}#}?jC&VWdJhv@A_IjN)X!`ej2 zNM2L_PD4rQ0*M#|5OC_+vHTG{{FBHrs#+P;P2dlu22UG8OCiMY_7o^&L8bB@Vi&O6 zo7aQ_)jxcWp?gr=0qx9NuxbTr331m(36fkp?oYuj3TEU`0;i;=mdie1clM7D0BZr& z1yU6lXfp<~*9aDs>u_D7Y7(~QK9hpcbF`>ODPA>zB2!$ybnQQ7YJBYqV54~N-o5l& zc?@1?f+2Wh>DQMn*}>6$4a9mN`h`y$_Q$8)R~%}G;MCywYIpzs{OT&A=0zIagG4jfL5jST}h zx@wvCoBjAvB>zPch4yHL+a&0$;K1~Bg8^D*Zx?Nk)BKaJutQpzmkoaz}**qcs@Tl zLJo%bI=>}csO0MqxPj6QE}!F&IKTN`L;K~4X^;e$!Tb4{LDOp&S+rAi+iSx(7o+5| z;RKcc7+3*&;+XXw81(0!KwEc%BR!-lQ0E8Ml6!9{j_V?q8f0=a-Gu>Iw%wd(gmE_A z@ptE2P6-PNtwQkbJgdJ#Jb9`^%MU!u6LvZ`=2RE@Lo zR;lp{OBydB?&9X?z8SCMDh(PjyTYY90ypFB_ruSD12Cx|`SdrYE31e0RAc`#&}r9R zUrwTL2&3eVsh#n6-(#0c)na%|Y9Vz1b;w#K8_(|tW?*h;IKS8^wz;-8r#ak-mSwtN zwD$VGisT&&!O`MnGTTp&Z3wTD68BZu7}~(>ulcq9WEUbnLYeD7@|S~nWtkT=AB1Sq1tG3g^4~9Nf$=UW-QpnU8qu<&zbUQ{B7G-Kn zHFawa_M}HBt<3h*tu?;)EuMwhE&dT1%4PZzX+!nbi5}ti)*>*1JA&muDb4pTl?vt<5j%E*X z;gaim&726H4j}ac!N+|h<|GNkk4=*Z3!8|)_86iNr(d545S2gX_-6O+5&-~jVQku? zs^Dm+Vl_x;ZRF=`Ho045PJBI$WY%>>G@JtxK@G*S)5TolxtXeXaUGI~gE7+Ym9?j4 z-RRV8jMc#CKrz@=je^@;HRY`|M&XF$r*s0jZoZtX?s?pYR%p|$naB31GBBtG#5^?J zc(=Y&r_p?`Woo#;KLCs;6b6hzdQ%QEzILm6sI|C5RG+DtJCe)hVt$tD_YeSqc2Jif z^J_pL56dthM+zHsrgz&%I9H5Z#V3b`^SSB}THUs*%>3ym$#>49akC)*e%#bgQ|6oA z)AZ}~2w`_&iKC2|UKks4T3&&{2wzTSkKddB1U}!5ZqLUvinQq&KC-OFk0_vVUj81L zd4pZn0ZP5D@{)arf~LBYUsZR=@=aI2ptczceXu#!@vh|9v> zQVI!W*R+A~2MUd{($X)xZ>+e#aBWVpo)lZrXFxDIPOY(U3yyOiOT2bzC6`1w)>dPf z+XX5-9A+A?GP61dyMz$_B-n>yIq|n}vwdk)skb~`yT-&S*iP-!1R9&MGSijqWq05f z4OLH0J{uyd-oZfjK_%=2ls_k^lTz-RMV?^`PQI~MA!*M#hKBzg1UQY6mwm8ojX9X( zNsOC?maao_nUd_O*=L9QhUr396ff?rXvN=9hmx>#8DGyAkZs?9E;7v(x z{5aTqzRwXn0RBJ*|7^^*Mq;T-tfyyoeSK>ZW$LOYq6hj#yWA!O$yEAl6{y2yY*3jJ zgI#DFB-w4$U50B3rj)>Nx}UkV$-E?-6TISD9p6#%|4En)Ate>+~2U?bIz3Dy1p)IA1QB9{VZ9Cl=djzQRPEbo7Zi z9)eOaa7IEc)xcvT96!pfeTt^Gx7Qt#ZwTN{-w1xshRyNU32(G&%QLMB zxyKMy;kw$tyB^B*+DEmHnc;Zw$LA^fsgjbmrX}As2wu$gZ}UX?a=1C=Qye_OdTO7I zUW=9{;^_OEj{T#rxE#%HaCJS`-lvH4b3agBD`FdpbmEej61KUiexmluB9m#~v91`R z%NL%fYu0t7-uu;J!v5}_S#gu|V%pl9WkPRc`e4C%G2`mzP(Vc{KV7X?3sV|@<6`!8 zCCBy$6h)+nuX+lH?j#g#a^)zurOE~p8dobUycr!Aw2iHM8z*}@FUNHD-dwMvpwqI; z*dWAraWFOI^C)QRkvdj^M>=>Vtc*2(?(B@fLI8E)%Y)|*Q z>yyKkB$4`enJ7h;^@Dxo8S(fdY23PJeLhE-Fa69+-?E5Uhv7`5TdbRtc!|B~ z=@J;9JAO^1G2qb(!G5#;G6NS0>tALr`#LbmFEKpiO2?lt#IuTBXab8BSw+r*hJ1^U z!cT*ye%{-j5?i*S*)4OR5MLBs3_57b-}dS%n=qr!l_IM?%;and7R5 z!xCUO*OhiITlW6E!0GBC-RO2YuR0EuT&pdT5iTMM>RJN>EMx#vnLJ?|WzP1uZ`<+pI@QcumvEW%>3i9u>1-172d}a0k6JL^uK?bULv1`g9GR!f$=wyJzqZ?_ zI!|?s(xCJP39z=J#kR2zNgmYDoZlKv5AgNkU#1f!6BlSy0YxsZz_c?fV^Dq{Dp->w zD5g>}m50iG|4TN@`DE=+YY;_n!8CUe87&xQW#oq=UwuJ;pZBQ0ow~+?WzdmU)Q7ga zla;$ImkVrlD;yXX8tQ7O^>k_W(GO31?}!bjo1z2S!z|G4>6qjV;X?KRdwROYD;!^oqiU)RQ_&JLHLBwtwYk?~2wb0Vc zG#h!NU09_HI?|u{@O84LP&#rm5MG^63-7wCwS0Le(zrrMQU4v!FJr>nG!K^6-s}>0 z?&xZM@_M0lrJ_!3o_u6|R;=7q4Ocm{z3IlOpSQE~`0Y`XrF{pp4Ng(UC14Wrl+i0{ zA#6nRR+x>oHRwBO>FCt?btzV!x#lV~Ep$q+ z<7jPAMzpxz;}59BcMV&u7398sDbP)^RYPkG9(kmEkazg&!6-05`Icc)q@@vti#)OE z;4N3dc`gF=ZhB&wXC(OM=IN&nDVb@Uly*M*LPmldB4)6<%N``S zB=BDE*Q~QD_tA@zUxcwgAG_Z?)tlgutWM7DDE)AMjaM7RR#ou8QU3+!6hdZ{T82!a z?>rp0FMNGV>_L7;Go()f$~>`KLbM-(3Mh0aE#w4FwfLP8wQYR)P;6+rvv_5h zl8p{o1`24cKx7$=rE7cBAD)Z+w(aV4m2&>f#i*e&!>&iyN)1YTO-w9VyJ$u1vfRaS z=MG4%Wgk3lH$~U{D1o<3>A1xg@Qy>?z|Rl+&;iGzoPM9I`u0&7cX)4)qKfv z&DOT=?e4kt+C6o2iRjmEU&;2x3;gGNMme*sqKYm05@jA=-)WS0-(6^G_JW}%A(0_! zAB*f}MYq{PIn{16#f3Ny>aJDk6yv16nwwijWSaFPrsxcol2p-%UOP!-Z4Gm!G@Zv= zhM`D9LgG+)O1dN8Km!uro5VAEuU`BgUEcvub>F{#L};Phkr67RNFsYj_9`5*qGa#A zMcT$KHD+**lw%z4u<{|338G&;30A=jTwg;!X|tP5%9XsfD*>mkE1r=#gG@ZpxK|CoLLUhh{wgy*$;43UO5Vv48hyr#LAp4QC99PSA^ zM|-=9xL&OrMpKPE>KJ<8b~wVzac9ogT}!0;`n9^UP#2GwPK89YZ}_AOuIIqJ@<3|% zyz2MUAJ9j4j|M(03cPw7Am8|YA(Gn!1YV~13No*c$Hr_Vy7XowvHbcl>pCEU22LDF zxo2AR-2@Z~3a00sbY*&=KR~96ltbDmQVYqRLVTGsI%DzWQiA)?WKzfrsp1^{dUO(& z^)l6@6V<2T3YkEsm}#dcpr6Z|BCBeuGV8xOxBq?4X8G2AB0BHHgO9>HtPE)NA^M)N z&`;|6QF_SP-U(GMedfV)ahkt4{XJqdYclfQn(`JV=S`0>A(nLoSCEYp6oPFYZv!uG zh2*k#sC2Z?Xwo4Sna%k<>14vrld&a$s`uN}oKJhDS0k@H;Y^#+`syJ&lx_5bCAHv` zrS*KNb&l#I)Q8DYz{q_opYzE>h5Tdpk8&!W{GEw?Mad&kH% zr)%UJ>c=Hr-5g!&uCM#hE5f@mV{_ESde4n{R@!?J{j=AA03jf%gy#}9{bBnjmaF6P z@8P|nA2O|WW^_k^=H3pozmE>gt|LlO`Q$z65ivoQzcn9A(~8PmT@sG=NgROMnD@IO;q&9K%Cuk4p2jInWaQNm zUIoEf9v4OX9m+c~6*LP*%1Km7pW{1{sUz(QA|NfP-#s_5}=I`FZxmYMcVm!9(6 z=_Tbd-BBv>dRM-$5Pi3+OW0SU18H@)N(d^935TzB`M9pk7~ZG+!r`&BfNmY}<=kf7 zx`0@T6;X&`<=~K0s7p|@N#L{SiC4v=_~hzeB;ycd^H4krk0@s`b124_`d4vBLdeAL z!=Zy>K?arwBL4eV*46p9$||V>NO7q?Eq18vRA<>1UpR_FrwrWXIk#=08MZTW;Gn%z zUWh28N0->F23{f-2+pCv-uCXc2nu;2fcKJ*E4KOQOqH@R+~YDoKPgGcdT1m={ft5O z<=s@&0?L>y{rp+kv1>6uN%2TLoqUXgX;iuno+1u@( zXIpNU6>IydVCc9;UDIE|ddP@qBcljJTo zZnAInCjt>{hh-u&KQCDqrEF?Bzhrhl0I!NH=Cw5T`+XX9`ME$xGtpHEhl!P9=DH&R zx{Wfy(ZJ3<-p-T&Ce9)|36#MtO}z7)o2E_cPUzrB6;y9B3fXt~@olrR6~pM(;$`~& zrXw~7Hg1CA&xJ>&eio_S1n$Y$itWhruQfe~IO=HX@ zMsyMvnDxJG)BTxs7#W+?K-uk5t#Iy18H}J=uj~DA_0v2bPhl2&MlN`0M7id58^V(G5;#~G80q}s0U zsc;b=5)33LyxIcP8GRiggpVmxzU5sk{?mHWQfSIe1XV;lp;=;&E!^L;xVw|gusZ7W zWG9sjL70(-Btxu9NmUt~t8YD7w~`$wa~GQQw*L6>qq{rQ>NrV3iSa|T#WV2$U*t!Z z$?pM$RM~4-)%h$kzPP7hVsG1SOJ!g$VX6xApa<#%`1PLZjIk;k`#aJW`JczhKqG z{L)I_TWZ_f+0uGO{}3hFf9CT87*tCIb1$2kQbE57=#QwLYxp1{MgcL<%Vlf7qeAVv zJ6aI^=-CrQO!0YR?_@5V6<(yjP(z?ZVn+GqbeY&);?L5PK?i5xhVj%2_hoYq}<4x31Rn5o@2CV;_wFI8az2~MxoEiJ4(H{lEIrlP!O>ylNO8Aw1*uU6*^gOJ&IXFb-3*jC z@=#vc-#w%eBDzaB@%V;~foHs_ZPqe>m_1{D@+TYUzvV%!vMO=mmm)65e3#c>jMU`O zsR`03F~3+o2XknQn3=67QhY=rzo6V>Ps02pCM#-^d_L~5pOqxhF$cF)a&p_dO1^Hq zuuU*eo6`gT~$;F$0ZO$7SxLzz!KqM*#&#Bg7&p<&&Shxz*IbrH{bq2|DuyJr%3%mIfke^Nq~ z+iUafJq-^PNQv6|tlBRTc!fPRZ)>ArxJ~v-nM8`Cs2WB4z%VK_)ATHaMn7W%J`6W( zoml>-2QWk4d21o!a%EpgL_{$F5kY(gWTQ^D zGsc(xRrm#_yMjzN1Xx*b!7nBWoYz89qHBH%WUGO(6)gxIwVrs%6sPooO>)HRipy39 z?xq>9X~jc`VquW?#x;)1!UOvf-vWoR5oyrg_?j6#js88^@{`aZxy7W;_`wIYVB!?#Aew@mI_U%E8U)!;i|l9~Dw=0XKj;NJyIC zW&_28X~w9Oe&uvPZCO+va#{@YZyjg(jn;oG$3G(lV`Zcwgb>OcQg*OA(2Y%n9_v2J zSh;)I$*?{^I39m>zW@zzeDkMIE7m*tXhz=fdyX8;4;7t9%*^yqi771(q%a|9HtW89 z5z@PnsbDFkzyciik5N$$SMHGt>l^1h{_**ZSLnqW|80a$OJjb@SOMh+Nq!QkwqY-E zkH)DVDOd=pwmXp;A2l97hUuaT?lV5hQaLb9CrAAF)FMDr2kT zz*L56d2(_SjCfYo-9K+o8}3UGreK0%ML|3T1Ic#)cF?Daxkl5X#6=E= zJFhOR?ru+h$(D)Lw@Wh_R3WK2aH=Wd-S1&fF=4U&;h*EhnZEHPn_5_{R3C1TaECIV z6G29$PX8j8R9go1!q6|9@2@!W7n`tN`#FQJcDIUsR}uh@XSL#)paQm=|r&A}HMCHxE7o&=ar)-oC!~j;$J8gE6NMl6f{igRUPfO|Nh3 zeUPNRq<7v>Q7b3c{aj)8IKAwZdnohGA%!5;e4cIgir1)@q6YWzo&Zj&CM(tN^P?$ut;t;tEuLh^<~9O z%wZab^uw&c}|c^E0b_qm^R%on&ua@>?-4XS?-^0@N-IZ^R_AXG>SY zUi#Sg>S}%g0kPt&G_c6slHK6@Kx{Yv;o*?{OPUHETU{3774pB!Gk>2OEEEE8E^N?> zhB^!DpZCU%!K*U5yc^E@VI^>>N6FxolRZgAkb)6`3SYkPU$F@G!u>|;#z23c=E|*hac?|{EF-p!eO!b z5xTOV%rSh7)po4-y;+7_?dB za;Oo;3gCf*dKV!+J`}o6_L~^o6!#vLE|xQ?wEXku34paRG)zW`fv2tzwzOQSL?4w} zjf+FnZ^bIzdGKA(~?ETJv0i%|8Bwi9(YzSb{Bq;XHi zBV?sA7GZFMq+E&RmaC~XDqk+N_T8r3d0YR^^}|w!7_sv47uH+IPvl)JS<{&}?lDge zmq#hYNMLI^Y54Nyn?y!jaZhbMGnOhPBLgzyg8)h6wO>d!CVi;|VzwY=JvBX@Wc(r1 zn`%ztI7oW@V%q85`12=N^~<*t{PG?35-S{*V_>q=i4TC_0coe|w!8K&p*h53h<4=FY_H?ckmxD){B z8fAa&3T6N`fI4mM?2!5Osv=76unRM4?y^-zGfC-8Cwbk!taZ1#9e^(Yq5zP{1UKVMHH`u+1^Nkz)4h0AjLWJ4U+^oDP z0yArpsiAA}5wHaf!3-cIoDR#%15bc+zh3k|)62gf;}KE^I>V5iv){X?tA;r~qPqMX zDLF(6utG3odk8W~2pV!S;nL9|#m6v((2d(d^l?acI^UQ{2_l>(99-PUhzK}@a^2Sf zO6X1gv&?B7{tDw6e$>{Aci+L$XwN;sfBD{51)du|;h7TvrNEK_6@K`B1w@7{cuvp=xf5U)wO7dr*Jv*QYRSNtAOuMhcOH& z5=;ck?hRUP(4yK0lpqj(k@@Gooduh6pJ=U}@t-}AlgI;}V^gslbZ|j@yR5vtAM+3> z{upIQz@?CrtDtAOd$>IUavlv8jN^Ylg2a5&W6xoqAYwAI*~P`HFQ6<~3$c z9B-A*o6*rx%#e~;L9LTbt?dMS9smebV1~GKC?gzq(AJ z_2dfIU26bcgRtob0$nBeAC2<-DM66HG2U1O=qPX_&yn7laEh@)>O)`P#&O3*9i0F1 zQ!om>r0M%MIOqb=_y#`w1z)6NW`2I1A4XC;?QIM%Q>w$^^X7*IfU8JTK?fK<(~i$R zK!!UubFY_QUc4a={gvMU_&eF*zL%JiqLQlNe_cf~RSZTFW=247eiHk!5^QA-i2@3O zcW6-^bbgfqO#d@o-O2BdmGqc7QrIpXH^wMjB0S9(m@$6mJ`v+Ih&bNUZwAFtb~ZM} z{B!q-a8|DZz8~PG-Ef*VXF5c??|2)>Va^`r9?E>-URX|A380-J zrwwD)2y?@vie9Ujhrl@S($Z4@2cJP2H#@Tt${>2Qn37Rd#~vF=oJ0HsV8MXv=lkjv z#xT8J4#AWaA~~42xgX2;-$}yUImS_VKajE*F0{~wOdhPo&8YuzoHh*3{G;vjuf1f9 zLV>C(d^HRNuLuhx8HeB!sXvZ6>ySjeg${K!WEXC(u6?R{41X_>0n}E~*O+*~TD+uD zt_P_Xh=t@89$ts-QuYrBXaOBa$RrmgCK8NEMN(>lk1zC zzbZW{p@0oGhwgsc+6{aWD$K!xCDT6BwjN9`H&9?k(Xx$M!-a=Q@>c=)fQ5}aF)@)m z08{N>J|sKt3YCaxoaBN33OgD@=HTF9tW<&&@v#wKs0+p%{gfPPAe0y^M5)(MP*4CI&Z$2~@7MuJA@3hw z!9{S0sRJ*-z>j$L_4UD-1FVfK#tOKSLJ=7QE`?m;eGzJF-Py;>> zZ^ICIM{vhLWkQKnT#DSk@&DB}|K)tt9v(uY1&$7++f^8Mjtm$(IaJ+rR8`Q++~1rB z-QT*CZ1wVA$M+8DE(@hnX@YdjUh%l@ZKOb_6-F2UHUH7c8o6S@(%|9Yd3c}!pq&cO zM00E8%ltl)N2YmcJ?nHGXC#`KOFDuS@>u0JP#f`xSP@F&Y!|~^W>5;e?9iv0DIop+5%~8WIq0V zBJw7P6@YqTzcKR&2<5PoaKav}Is$Zkq9NGJ%L_yX!05ZW{AW}&b%ZIa{cneaOgZ%t z90rsc7Z(@FRP|_|1SoSj8lIStpa4MV+0S(u0j6~!HHT6Gb@rsuTjy~1D{VQx3Nf0ua3880+;4V)NKBkKoP@I!c z-Np9f`Ee+8oH?x_!|!ORgAgc?DI~eznEBmDCXRJWBE5XYkDUbL2)ki>9H^l?J399D z_p@d+>hL%H^Qn*HC2E_Kc**-ZH(>F=FLRm?Jq9Aj$Wt^4}*U zpj=j%Yb%VhBs-kuwM7$z4+NClcL55CNgp7b6S1_l#f-23*Bcrdiqd)=B*L|I37$Ot zKj0I8@6)?E3^#pip%`Wgy&J!xs>k`ygX*)8S5QCz1g6#1r`m8<6p;^);}h_i$LADt zm0w%bD+nF3gVzROk&|GY<}XPwWH8*xadChHMB!ms>0V;u&HwW;UK&4s{P@|kG2rm@ ztLpLm^BJ^<38aK-pg8-*@?cIb8hBDG2<5{?F&Ukqj}!N%$&4#_xXM2$PIp zh+aua2?R_PLI1qPY!nD(mRmv(a>^iSD$wSMdgNXKA)d$yy z>yu@Fs$?)na1(v8vjg%|V_DuFpAADqh?Aswz)CFgK`wTnPW+(29y9IB0n= zUkPmAanS^+@7fWlSd2P=qQhTUZeFa%4*Lhvy+5UCx><9!a@_5ib;Y6cD|4;=^v4su zS^9drUTlJ8Xrs;t=*9ic^<^$Lj%A_eU6hr@TT|kv^_v=YX1Gi`Uon?nQe<0u$7nWe z(VkW8zD}7Y?ePPD%N#(*M?rNRt8Dwxn!G#AY90Av)z^gR1(%Ns0IB}^S-k%@m>IeAwVQAP$W=y(B zgqrZBcE7@D`WVJMDl?1xMR*caV+_{loAm@Qkx1BCOq6;#^$i<+5pSDj!IO{6xmg)= zoh6|We%BDsU3ssTl`BmT`$g1`oO!?A@GHN6U}(4EYym-QYm4j#lods*!}6QTYMbAa zrA*juO?3FHT3nvmZ|pUDT=?dyXV-+cnMcOL%$_Jc3+>I?_UkWIHmSL^*hYG@td#ho z*s8ZeSAu`>ITY_7{hTftyGK04SD?LV06kg*t#p-hN#Y`X-%SkgHs&JU#{>)ALQoEr zW%>3xKCQ@8$wOH#ecgks z%T&>4&Ut|5uHon_-pO=CjrgzCkHB|f;I42OuPpq6U|-l#-}@2me4z*s)#l!s+bZ->^JxF z(k6PT#uKqTQ(Ai5k^ml-p zbz7`6g!X*T_4U=3i9$0SZ%|-J}$(f!cn+{0mtcO{!PBG+YmIG z4i>Zk!ch(xS{ICZd0aI3CwdB*e0H>P_aVZwBObj~Xs)Sh*x7M!Zj4oby`Wp9c{V?F zILQxTIkt~1*0?y0sA@l|dEvRo!F0xLjv{v zC!gy-f37zttv8NHQp2MnA+P&w-rEdD~4 z{Ka52=Jceu%iiJPLmi#bnTo3kKLvP?wr4dgur|m!Gv4L1#-h_Hh0LVM1Q3129;N!9 zQWF~G55TtGxN!rh__YsS;LD=p9J3E|o9u!NqZFd`a|u zhXR#HEKGOo{~{rU@OfBUmKF_OTT5(rIXf@mBkgLU)U9aO#R38j4cjwTH!X&OJy4Y#D% zRV}{Qr>=C=)zeB5?{2J@3@mdy9DSEAFv#l^5E~VvRCVx3UK}QC(<`SU9Xi&!Ni&9| z+dRuf^-9m`>3-IJ6~oVORDJ+D z!OH>pkJ{aE*ocW-^{azMdayl>ex&H~N*YMH*sNFQawFufYRp<8o)b=Uw>IR%RPo;j zKP0qO=_Kun^k+LCAgTxfxHe-6YIpWH2Ef#}Gi2dOUOBo)9E117{}iIj{8vpyoMT2x zDvTf&;wO_j?87xfG7ae+S`v-K&tr!xR-Dy6QjJtP!sq zA&kM%(Jq|aEp7WUQeK9hnXTL58s{HE5D1UfiVePt2^Vr*QW&;TF+EthMe!;unB?$c zG|~1#!_Vo=&%w{0w2=QK6qfBG&b+UiGlBEiMKsj))J>k_JYC6MHZFxJ?--OO*S+Eu zm2{Xx1^mPVk3+Q`f{@BUVdDp%O$-PN)0Z6&o!C83`>TX-b%wRBEzFVqZgOUxd&3vZ zBpE!w;k_8nV&Se8TD6WC8xhpJYqs$+6blhqw5i3>FLNiR(tY~nik_Fg{3ZYD{Xi#@ zTMH>2P2HNlOm~N~?d`5jZAF6yWkyF~w?lFXqz_PRf_m_4H>9}YKQ2)|?JD@Xz<>Y& z%TWY2ibsPJeFky&>=5bD=Yr_==Y}fohfBJZZ|zAd_=*0yZL_oMRhg+)iaok1+Z01^ zPGj=kH`LoR2u~(6wWq7E1Z>0|POosXnYJA9y{(LI6v7H2`)_O15`wClb(O@fgeU4T;d*OE-utFRFEi0iS{;sT z;+dej!=$6}HIZn24EfB;m*fN@MqF0DzqO!T@C*hza3*1u`!)+&ITmKiA7NQjK8Rh? zbiXsxRd8>-s@%!ern&va1&XfpC#mv`j0-38Ht*MYLp7hzj9d8+(PzCrGNW(R1j1%KR1Va`gFQxF&l^mcB9lQO$jUA z4{P(IR4G$6L`tMmLzb7B0Op;|TFvr#tahPmCf+N_{S@MW+eMF}PThLD$1s5WUcBsS zm})N#A`-d>7m!D1;+ipa=@$z&Mfjm{FflI#gK@ltMBo)3vAT|-5mj-`6StU1b}wL` zeT~KQ2%l zg>cTcyHs_Z5tX}O`<$g^mH&O{HU6ab0ePm)UwOBLb}fE|2JIhIF%T}JZEhO=ev`3} ze$pFP5=fUp;VD=LtO47M#JcXm-9L1 zwhYSo$yMEV$|YS3vhh;A!pphH7K&4ZP>fMzeslnMG`N0%EoI(9Mo9n1@u`CZY8kU= z)Itz5F2!c3Bdj%QZ>#z`}j9uY*)|3vL%|_QuM+wJGWo^GkCG3Z9e4XHu>{vBU zkS6ke3AH#dIDbya#cuCjE?o58rPzDnSlor{J7$Z^EyiJO7rqaj0q9-=&*j?Z|HvP)IkAafufc&wYyG)dvJ@?#wesh&CZ-S&$Y z%zG0!5jq1yDWtCg$lRv}#*_IZ9H>hhQv7H6J5?*c(l|>%|Pa}7n7QRs@{QG zJygjk`Rw1iA$$I5t2U!*pnTZ({rh-ViV_J42}<$w+7la%s`Z2NCWcr02aK-$mD+?- zOl|9`RQ}=1n-twbTu(S<&vn)# zC;huC!wT#-apjqg@bMpS5qoYBW_#_Oca9Ca;g|BLR{FK96U7ZBoCXv1oRy2E?Y*Q5 z8Hc649`5%ShHTbsq7irVZ%%Vec}%xm%{`4cD0I;hw!E@NfN*^6y?CDB?gc>`wU5ih z1cfF;)=kSyK3i8^wq$bpuAEiSzJK5~RLVG^n8e_}tj)>R5zKl(zfA6?;l_aCZ)4Fc zx=Tx21B#x4ZwsGEss9TLa0|Er|1jvVNL)~pgGwRvPoB$h%yz@fi2cgLDlEgHCWnVy zt6uR~o=tvkn|~oTQu8vN##O7qnerr+ z9^2H@_Qp#HM2Z4obQz-&O0!%1_1iaYw_#1@_orFB4+#pws>R(H!eeqk11eX-KhaLG zS87TABhq%r%`$&wGXA^7dj~|EnW?tifmqWM?C3>Vy^v2X$xiNw%fGNGGCbMGoI%9dqIFXe3kW?cS_1m^K-S(Z(ZbRsBfY-AWuUo9;&QD z_Y?|Fe0Fnx@u5fw%*{q;4*2)5s~l!nr<6zAc8`i$N zV>J$PP>}+SCpi2hi@&fZ;1IdqWTuy!Nq5hk1JZaM7)ZP5s)1}r;A>X3& z^}KR&eqvSCKh)NbZu(iTA!XG6-t`JTVkNQ19?2Aj%;JJ7onrj45jlxkG(u6M@=N_B z_RAMM-E+B|(4)2SuMgKx2cDwzRQ$T`_Wi6J?q$lT9(HV^i}pMet}mD-SUz1$JZLN` zQYKb^!Uwn=|*=OB@WDT_ZwoFj{ssWLqGvkj)rR7KE}nSX!82BVwtv zUOOV=+I+xTAzq2%7T%mIty%$8cw->MB%2!>2b;axP=Mpi$4&ja7FqeUthjg=kUsit zF_`3rdR)8E()eccwwh`>+G1yOR>-y|%-^@mm1>PE{S!xh1AL_TDN)IVqn#pGxs;tn zwUqs-{vDW{G?CM#kt^5mwokdvzRB<1B_Q4U>npk|BqSjrVIoAipMC`aGd!*>^=Ibu(RI0(mA>^67Cxu67u|lWM)cAtRzjMVw#}i&9%i}CzBr03sj)R>EiPiiW zPd~vXz+Dfg>GS+nm5*=~R#hcLTq0J?d0rxd^;4E|-6Hw<4OZ3<)4SL0G1RcFHYCIy zIG8%ImihtxD%&8V^66M-){RS^xB-#j9PLNe=;EeH_nE<-p`kMM)ZrY_@uIgAs+C6< zaS%60I$9o~&S395o%zP3nt5^i_AR^zm2VfRLxWCVIV^F+Rh@`m962flY4>8E-BuZk z$??JiUamXX2;P$XaJ9xHje!gY7FERd_ibECw;+~tMN0dHBd_I7j}9dU*p^HkGH_(G zo?hA3o*xsOoZ$2e{8eZ)nHq8%;f3pH^d))uR1-je8F`M{<3%a!Hs`wiF?53eFphO? zA6a#wqYlFu8dVQhro{adTiSj(;Z?azX{VCPF{Ni7_B&p^mn!`V(fK*1e78o1EB#z? zXhhTZ_R0@~wL27y{oJ6L1foufvJuu(&14@Wm30n)H0^;t+=hB{V_M^LdqWI8@LgiJ z+JCq65yC2Y(J?Jdapt)hs-$%TK`hg6*B+PY3F&Zm7<89Kcri=+3n{bT zqBkC!`M^gQd+M&4-pX1-`SUeq@^PN+OfSzP?^u$<1-{|x2h@N(OWJI5rEk$V7uTD` z^G$=~FE<>nKs?T+vC~x*;@ef_CZFa8&h3lwM7SJ!Y)6h_$E9igxl{&7c~|sLQfxPJGN4rIspTmj^5*7(670Wbz=xv>Sb@h)roO`Auk_8&bn?RvKm9wwJV2RaI4#bBFs$7AY({ zKL=cA<+=W0W;0YNh~AAj_l4*yw8dDU0AH~r4AbIaln7zT-(eDTdAM(kz^m%2cJ7Gn$0^E8I-cw@x-&AQJKxul0jtO6s$sQkz!{DIZWqBO6e#{{a{<{-#)($&Hb zxX#4X^y`<~NkgQuK72hz#%&*H8aj`cw!Y)pF@@Y|yx)uN|CKOEgYZj_DKPlY~HR>U-gPnf=dl_Stla;FmwiN5T# zKbNoZA=_$|=lYeXkPMya(Xr0Xp@h)}L8E8dLOi?LJ5hZ&%x26=HvUr?SLaj;Zu!ZI z*edVr`e%-m?T3WLD@nI~PDB1Axs#7lzCHGP+x&^3!|IyvgtCC>jX}nI-lF0w^G(C} zw?(a8H&Q$lDjcbq#+<%%>KSvHbmy2~FmqnI`N$Q-jSdbEp&2X_%J}u9Q}xe#YJ!*5A0t>o9-;+TZG&14M-HWirk zF4g!E1M=rB2Jgm!{JVC8YVQJB*z@@Kpo044Gm>R#)nSVqTc_*OFB@@=@B{aof%$TD zZd&PO-+zun7yD>K?h+!?s=^}^Eq2bS($#C4+IKm*Lm%H-bvOHAH%qMy?)=h{J7COC z&BtYCQeVETXJnK@GL6d0t$G1-6)&wF*3&4T2B3vRFs4KJNF*mW7cf4c%LxEeXu4xM zBazJ@OE>iESE(J-0`|Og>!dJx>WQxZC8w#UWilN1W(9iXmuCiSBo`PEH?_+jRW4nf z??w?kQjy)5kLu0*w8L_nhvRD1j9Muds+&;=0m886(A#?<2XKl*koXB*P`U&>0t~(G zb{!7rM17C(`LAZJ@uNuaHYz2yMhXfF#}JZ#1i(n!1JJvIKI+jNe5X~2M;JTzlO?S7 z(KV`z%)OOGJ}oE`0r&Q}`_T6adfQP`GXd}@5Y9V~BB3ILJ}ZZlP~w@(A{eYC63~+f zmeAkX<1sn@JsbMT6f$%fL_vlp;{A1FEWWe$%#(B&{*9 zW=u^N0Fh#6dv<5z(pLN=22qP~T*>>-tVtAY06P-8?5eMFjBmi8++B%1f%6U~22eA> z7`D}%!&lTm{I%r=uezk7Nm+6WJ>`oIR&U<*FNpAg0JZqT3-@n=^?}NrnbeWWs>N#F z^i+yBm=c(*?$*S1?EdI-8aS;yo2z#q+a@CaB>POm)LGl5lsuK(LqcXI{|*$abSz!)6bOF!!B!kINxFzA|_Q2@vX zUQL=tVJk>o!_`{lDDxoRN@5{5++gIe>y`xR{qugV4PU{vn*gi_>S@$hzGj-#& zb%QpcM7=8!At}lY1$nEzY2)K!JRKIFhwJFbqSTZN^1JW!+dW;4la*x}91QL32s4*{ z4@<4NS#@A0 z^zg%v=As`N-NW0L=Jg?9VdmhO(^GcVf0rWGFMZkcjmlX;V4TeKJ(!oapJZsoSYoRa~PaY3fmP0 z)S4U`#=SWMCaTz4@7U&zgrb6c3!Hw~0uZcMCEdJ2+ONbaUMm_k$<)us%i9BNry>vDrV;{I@e3N{VYH-!4GV^C4*H~Og%i1Vt=}nG2rUe zRKC9ORON28Ct)}$TQ=z-UG$Z}ML+K+CRchhes4mg)3 zY*N<(u2OWTYJIO7*b0mbexH5`QC8s)uaP>XA2vA;rJSs%UTb0cEt)QxMce9$r)-km zSz1{w@|d#KS!J4Q+NLVyyMAqi`ZP+tzo+2c&)+62K8{kXSFcj^rl}NLef?f!i$NTvG+cAVN;N6ptSqP=*ji;6>6*Y2JvyEA z&Ezn#xTvTk&pdy;)pq2qcqRFd(TRdAa@!C#in=unC)><-%?B&DhZXOa|AqWrL&ZGUzKR)E~08tdlCy zHp&yKv!!f9I7S*E zeQGfg5dfe#I6^W0YtA7VH4!hBcwpR}hEo+UpX#Y~zfOd+FwG*I&qz5@V!IX5sG44C zKL4)WLlkD$(#nc(%(Kac3{H>d`qJjgHlYQtFEmTa3}-p!WaXCFkV+ZP-V%ChpdaMe z*j8f9%tVYZ{M}=uTE7~ng%z;KIAL#U%f*Wfk+~)sEW3NgD+l%XhK_2x(6y-O^$RFs zM6Pvc&*=qx0jkalDY-Uq^pK@*1 zq6v$k99Jx)L^(rS!*Mcesz#HBt3bqA zY|#p)-<+hw=gF`C6y2VAB^k>yjfwqgm1k2P>_xf^~B+lKHIwNL{-cWrDgG?#)PH2R=eaQe$KnGA4gDaA%ei_=gxLn_p5hpL&^sF4dv(xc~TwL zaetg`2z^h(?h8$xmT10hD0&7ZY+2}&X@a)AHq5Yag$(u>TwSSw z{7NXda~50NIb>|@N8go5d^rJrJc@Z^DK51T(w?+(_o(++2ufpi!{KbDI#AgA*wD=R zqOCb7c5ZyFfcuU|@M`7&S-^vEUKza) z^`P0ioXGC$Q0WC8HI1z@voHeDwtl+e7*lm(7*GFz$qg>>yQin;KUNND!XE0EjWWE= z&eM}j_fvWJK0jVKGiBR!)8@51dm}d_G9Ek_a$TWWn_8S9y!GCvZSa!w`-4!u-pcdBije`h0kUjeITxUw_BO7~*y z^m)XnV3`NA=?^-Ov0XMNX1zIHo+~nh!P8DkHmg^we??zSKw^E=;Ctk<|scI&Q) zV@|wOuz0~(eVHSb@V1J4s(mar(N*Fz?9EJZV)^PS&Yi14-}$z;QJjOzRwA|IqJtt9 zEmkHEUrg_A6fyW0F5&5@HRW3j4g_JV37i@<%q zUTLroT_zMDaCL6PLkK&sZBlTVH(HPHmOj45&OsLt%$Aq-+$e!g!&pF63*nhvkx{U4 zbB&bPbxOjjg)xM)^VW*iJr)MOJHIbvW#_XAW33{jBUB=}Y?ANBq-)rpHA62DUJBc3 zSy6kMrerCg#{2go98N+)Cn_omx)0wlges25p)~lX@BiVny+4NEyAL`dfC-`rj2ocD zeK;3|G5(6ky>{=+hte7vob-h$wqi_D3EaX%*DuEgS5zAej0qLee$_{0WvZ0Am1Y3Q z9k>nM@3bX$(+IHEuKFGbNVa$O90|E>lM($`-Ntf#_t}=H2KUYBg$n`XXmS^J!`l~2 z&uk4dZ5d|Kh2c;n-(>v!?UmMT&+A*Sbg+~cl3#zu@3e>|4Q|fuFXvl+$G5~?8B6NC z(7JSFZ_orv&1q?m*gBasISLf%$IhVDZYAYZtF20`9~u8LXdWomeZ4R!EYHYnnKIS9 z+8KVA^BNl`hXnpLy{3>m*KUyFRDMODuWt*tK4@umpO|*NB>UsyJEC_7r8E)i%R=TI zV?qveWv$$KEGysN%-Yk{FU3WB6P2O@#J5cjVvA>IE7ac-FnOc2{io1Irlzhi@&sri z5Ry~_&^K1JdtHpeG8qv^XE>QedVbUDf{0i${^fXMPJwIBA-MvEk%OgW`}#xw4i&Lv zu?ph}?a%D!cVh{k)v}F_u3iDH#pY1=yb6nh>I;Np%cffz9lg0xN<4Ts$O85qWhTW| z&^L}KP|X`>RRidzYkU`lZg6*`?L3vFt*I}Or4zwtZRN-Sp>;r2&v&P*0{R~Q(32{G z#{9V)_rj1FvyAkS#*LfHZ|^63dLYkKhDMt`N2U{8U0Laml8wkMAzy!Uq}Exp7t2Z+ zjnkj%8~er)YW zBjEAXJNHsXniWT{xcB?i-s+J_=`+_TciRrorT33=N!YkHD^0F@bO}|;4Mo|-iC%Ag z@W$ZBq`|_GfeCT%z|v<*<*d+p&ud<@D{+g1;mz^XtnW9Le@bM{ZrJ_(R{nTL2kUJ- zJUr0GC_M5-75a0IKEx81dHA3Ed-o9NKidoa2Ds|WgB}h3mHuW2EE3u za6WuXB$AdYM?K^xglsLXX(ygmv+f8)2TGVLRro7)wPvgWl%EIP(=LQwi{7&2X0`I!9gqAt2A%fq}YEWZc zskK{%V?kZp8d0DFq6`#XglZb0M9rF0iAQV69-@{;yG;r$#zZ3jkG=Q)>-qow$MYmo zMro0f5~WE?nnX#`-dkEKqP-TXkw+Ecq|8V#CS8dS7*N_&2;56{=@d-;Ce-_Jkr zy<9$icnF=3^Ya;iJ zTV8aiZx`>aasICsAhv91_7Cmh=iB|pYvtKA37<$`Pjtqc9N-rah{nPgG@UIO z?C>Ea()I%LNc7baFI@togfV*-DXtv@*@YXYExsP7*vOWtj4gqUewkU+OL+d$^iI!^ zgok%nmrVOF`fyn8cPp(?(8qD*Z z8i;nsBe6tB4>-p*`{P7J2E>0)~>3>sRcNG{oMKR#b zr<#+w{W#08!-->2!P|c|K1JpzXm%Ty@)`;H0K$=l5dwh_w!gG5Ii+jd|X^8f}J!(7N_mI|GrpIyS zj`giN#>HR5(QUM|l#&&7_fM|_4l^DsoIvvE5AEnIQDB$L8Yxu zJ+)^nGFf7ABRAOOOQ3a3lyAu?rbM}ph%CC!6W({mnz~Qbe8Z(I5Z(xD5C5V8x{r5+;Gkb7>k0c{Uu2FUa4xj~?SypJ;Xecv?Gc?RrI) z(mQ6)V1AxS)vmdtoz_1*7tZj61!t&c-I;!@SK|2Qr(vUl!)f7x>Wt;kB@>b2ZFzEK z$*H6+Z`!IKeSd0~ysrERq%_K|Jtadj{<}ZmDhZSBhhD!HGj2WKr{!U+jk$%{1ATAr zjB@L71Q$^^Y{yE4v44N}@NSDy{%*(Zo3#{1I@8@RU7L!M4df0Qc3~)M4#Ew(1SW;a zzn(~4-}!Yn42|sBAj_erKMf?GIK_D>t%V+Y&8+I}t4Ma9L-I2U&e%lKUgm5ocChg9 zZ8h(;#Y{TM4z<(*yDOff$tTq_7605maAbn=@EOOTibv_J;}jE}H0hYifbL05*v>$d zX(mJ&;UJ>>$(y$KAKYQWehp(xM$p9c2)$pM2h}`jZohy1&;8K2kXZc-+(blAoSmKbW56O7!j&A@MRb8!N27s$ zru>CORhE`d{jb_^7MBztYa8%H+-wOyeDpdDlYOfmSCL1>O|1gXpzFcu{L{7EY^tALwQF( z&-e>gB{eiQ+B1-i?MvSvD%ioZG(mjn|M5>2iG=nvNDooH&i?PCZ^EM|ycpF@1;`8f z0bt#r$odygRC5qu2jS@uzL;G|Xay6P(7J*`MaeV#4w0{hzCyZCzcO&Hs8vkH(D0|N6~p=5nm|%C6ihG5qk) zCc%I^jHuX&%=c;o@C;!&43jZtN1{M7i`|t3LnOK%F9?nn9gpZYQ0aVd|3KW#!3#&f z)+z8Do*1OVsQ^M!^Dxxa{eh-&baTf4_ipF^bGPkA&ttYqjlaA&d$R^}Tq`PPCq#Q7ub;$Y9{g|zsB96X%3^h6V@2hV^Vme38wzDTEG0hF46sL!oU@DE#HN? z>FDU-wBh1PmNBpctwTXU7#(sHzbCcJ-V-NK-NWUBB4g)qg1ewdA9&y$gt-w6=s5#_ z+I*?w`@b6=Z)j!i-EAZF4yweR0v6~TnimcZo65(zX{>Ke}drf!b z2u|*8JT>$ix*SXIOaAws|8ucg+X!I!c(fh=T7DoT1=JK2xfu1Jx91;ipAre8 z+ZQ+_$_-NkEy)QmnMAGcJ@N|lw^ZuBv%#a(Pr8!27W5zQ=_lo~lcW$e(SyfC-#Y&} zwHns~_q3a}x$gv>6f%G?)z*wMX&z|WQ z---VBa2O3@7zEz0X1R;K9}O3dr8)8c;aG0Pf*^`QBQ6TLz-;B$|M%~GOqGsa4?Mb& z=GbP1KfdJ?Y{`dI|aGgAvgne~nG@M`UkH=k2o&OtQ39t3< zuftRe!-N<2_m`of;{W}h|N9Jx{{LzRa&`<@)HoOP;>96GMn+0XTgjW`<}_KFcz_jF~j#K6$d%F4>Yq3GemOK{Ji=XEiL zM9;@`rM0b%QPkF3460w z#@F17y3DL3?hbv#(?cf;NV-N z(4H&5AMC&N<8AJN!5!|&OD#&^pYULEB@i4lR)1c24F~Ty)%9E=5l9eM9klP39+4dx z&k~IQhG(d#sF0D70Ro7Klq!>UcXhoA4=;C`^OEpE|3AvbZ%a!0D%^E6EO*e&;cjJF z4pCB4Vq^*CpkseNd0TDY=kNDisYRdY_SU-fxpU{#Sa)5& zg_#f#)MJ!PchEp2nN%gWi>u5(R5W{}ICyz^j~|c2khBe5HsCFwXl#xmWN|PX$W@@k z&&kEDjx;}@?j%g8%P9P6tDLrgX%Q9*$0#ZD@#cYBqESZ#mGu1ib8Ir~0!InGJ~rh@ z-1z7XX5kh~6D$`89rIM46}qo1eYaMN_!Pu+Y0MjDNjNKe_kL+??2xfKuHxh*)cX_j zbS>nXJlD#>^auE8lo^|vVzgRI);+AV((_3;D=seX9RzJSH5FCP0}KqcGlBHS?r`LM ze0+S7Rd;K`m4jPJ>5`8~@q;+`&g)BAI3He_nVb&RaW#E~cr|zjH*XF?ngPj;E&cMZ zPd;!*5Sq0*_w@8wFj?$}p)-`eWnp14cfAL;1!KC%?gqKo|v$)%DrRPJ2!R zflZ!+sqS`GJq1tYHPJ7{RlVClwbH{qf(+G!c6-i8YW$P&+dgQa05!=s)ys{`#fu=V zAt*xOW(t@#VZVKEo}=a}}8h^KkR@L4e* zxulViQE=1*ycXncZ-uCn;6}ghzhi2eTr-4*qcZ{mNw$DR9ZpWw@<{8(zrA%^&3kjR z#lN9JuIJMr(m~>cV`46<^p=9qfqiO{#}X%PZCOc4uNpIb><^?{!e}&Aw6S$$6lk-v zuv|VP%N|0|AT=$4PK_W_*8$saUI3KKmiGwttK`GT4aCvKLtM18q(4eQKHdNQ7FITU5Y{sfnH?`{sN=4pzkUN2_uB@ z2E57V%!Jd`v(_rNHx+0vQv3S&?Ag3=>(*+oWB)C;Ej(GI@#z?;2)u7P+7R<3wf&JU z20X$4*x1^-E{uKf6nWKX0e@XUS%3&(!LB-e!$(tTDWS8(-f}6~Yo$juO*sj(ATg2Z zkR+x$<-uAdx!>T#!U1oLL|S8KBb}gCYHNXTw|I$(lbN1?sQa271f$q8iBtJaZQq)~ zF~#+<71DzoV#YG>6#r|HzgG`L-)Qbzo&8PfTJWdB-+y1g6=I{zg4YhYH-F-_?>W$}d%0TYS8+QPerqtM^RZbW19Sfw@zF|e?(!1hXDKaA{`^1%Q`9Mz+wr(lJoWMq+` zLtIDYkE(eHe`(}teVIzyEzT?QOn@mr+slYYAhWGQ~cRd#;%+ z9&pJ!sG6zyd<%18ZYwQ)OJOxDV*XSS(3P&nLHtFvhZFYv$oHy!cz8Gr36t;Y;j8Y# z#W3r;FuC6zWfQ+0>!7Nw5)iiM!ifblM=t4oHxqsZ?fUdEMaPAmgToSUonUH_kw=fN zpnC-4NUH#d@jzkBS=xp1v(-;}-`SesA!9cubhamDgHwT6e0*x3P@LG<*r4Ijw=yz% z5fWk#_zXx{Y}Jjtr!Qqobof-riIFxZch6Lr)XI zY9JDBt&YZKKp66BT74x{px{JheC9khaZxi7{v6;Fs@!h8EfOa9#UBN?UY1=IwCegf zGXrAn&(M&uu(!wA3lGrB^8WpMfLsapwRT7&!ILtGIMDN(2L%M|m*_^#6)cJ;9s+;| zvV~#HpevveIDfvozkeH#4gJO381DrDZ`K%5oxHg)-iEmT3~>vWiueMS-~b&zVSP2} zz*9dzGE!2~g9pI|KT>74x3RH+rJ$+3VtdQ=p3(4fE;WZb(ujzN2=GFH8$-jx!=s}| z!4Y-mJqnpJD0dOC9g!>f6#42E75)^{tD=OIl05oXr%!O}mto};!I4(DEY@KKEEc9? z2q?wu7eo`RWqT430DRL5h>A-QGyi%#oKItZ45offR@N6So#=owHy^{YJ#&suL`hEV z0=849l0k3bq~Q=ySvgBcRAR`CxA!gpWXLqZxdFO8Jt~rV&QtO;gpzn|bQBbG6CE7D zUS?*az;pie=U=Eba&*Oj!AgoQ6~hzm>UxX6rjjB*JWEYq8*upSM?m%6a<=F3d7!oW z`uaGvoSar*2-kwypkcAFvWkk0jSUGY#OP$eDCe_JqCsAQ{=t1(*x2MHC1D7$3MAzo zTdQVsDd*o9R34+EVhNE2FqiWoEL;V8TyTV0OQW*9VH47v09ZiS;SRE@0UIh0GJ=;` z#1D;|b`#crZm!=nG6GP=a?%zU8Fq_%%-LTHp|TnG+?cCHa--E*0D!4*{kq9bSO?Em z&sCT)d~S2JNZ5-P1Ux=6@(o@TAA2jOycMU?(AXFk1lWy`z(7HPSF=B4B+hNgedRZh z-Y*OfWW|Iz$C)2E4CB<>m>hwpjs>Nz`19I(I9*5iOyvOhs5uMb;tcU0_})sySIFKG z_Di~*1_S8PVo$42m!)6zsyN^Jopxm1Bt{oE)`xK zOO%W0+fn--5lWp)~1_uXi zZEV=pGc_R^L0HBt;Q$8r*RNk=apBdgR~MS`TIF7ydC>SP(z=4eAS|Tea>%y@zu^Y} zL0Ih-!egL6l2N<5y4u~{4G%}hYy89sZpQ4Pmlw#lMJQOn4D#c}qeTZawqnjWpkDAC zat%z&F@TN1%b|D#jr=suIq_%*_8ZWPI^`gZURbzBW{p}5&JH@}OuoSVFR%VF({?)H zjdNOH-A^bG%1YaSiNJA!qbwd&53mzReJyA4}I=#ybwLh^yP^8+3V-vBei_IGnY z!o5sL6e}t!!2cmVfK!`kNvMT9r_zZk<2l7d^jYL0IIPqR4DeKz92^;_$f9>*1Q#rO zhbG)k?Lf;)iA+*!P*4!61AUk;4UdQK#xFcd+_4g@O3QOiTa3joZtS1m#8O)UhAXuO zo|{tnaY$eXa$%iJ-n!*3A^TseDY;<{3WdU}moND&+Syz($Y3adw@D#k(%v654@V-QH=y&rI? zt2;4I`*Z9N9^pbjJ4ym?vaLYWbHhBui$Y|bUA$F2!!7acp|uDc)HB*Rk*tf zr#ZM=1fm#cbu zgwbFu@p>gA7+!>z_Vq?fOQEI4*1l5v$(nmVkd&`B(!dLRYBe)9hP)IpWpS#Tz=h!! z!GV)Qa}X`)(d7&Z_N!g9mZ7;vDi?*i8XWTSP=hX=WaHKe$id zV|}_9SrA5HGYD8v-Bz_UHs-(8nh5mcu?86O9cQzDlnx@bDwwjZh)*IlwTG z(%jq}d)_t~M<^j-5a+5hQ;QE>N+l+A=k6dzb3QAB$=Wrg$An^Y)ccQu=gtxK$GEtZ z@KUA+yJNaMl@)VI9qyGKGftfddw|sYY-WGFyQEPBM+SliwX%?~Fb!ltD=*u6F1<;8 zc3eG`goK1VFiEGYu5JQc$UrW9arHS3z@z6!n(=Z7C+4{f*o%?DLBiB`A|@u@sDkq7979LGnZmO{tiAj-GsE52Z_)XN>s64foLr_sWd#Zz zz;kZy?ikJ6#GU|0eO;&acbfKPRr@Wu%a?a$6^{25PQqvbp5Dh$3s`j_a}PPSj_ej@ z-L++HWb{#91a2_`L-`Gh>dfNjEz{+k??+2NA4N_6x7-L{JilU;ljWJ&hZHe8E*_gtY)GG zN%Ae;rD#XrzF7owMnKw}q9XVgc9E0cU=-rw`h5fK^&|pKhY_bFHWw(F;Hphfc<}_- z1gc*NNxa;2Rda`4$fbf@Zu|`RkNr%E7$FWPjYvDuUnx;v1^3cs+#|x$!B#?KzB7Hp zPWoaM+?9P|Lt-hMk?L>k=nFe{gRWZfFA53kU*9nI(*np$qv-gb>JK#F)QT z<+(5!3CBw$I3*d!4~L8>3?>FE|uS1w=vT6O5@WyQj}^bPZbK}dwK4TfD* zlrVn}!F(zQ%Ll@b7vb{rg^58RI15l9%zKj~Zw{$b3p^&4u9|j;35!&iHh#f%+-M$! z5pn0YH_0a=Fe!OF4W@Gr4hqV#9hIl!VlsxifNVKGH}@7oIzSVlNPr&F6a_|MOy?T| z{7;uoimOvNaSZ{O_xf=s-YV3*uUN+lJI*vz7UX6ZoV(qlDjL$G=7Cc*wd9X3-J{s_ zKCowJx~aj%iyu%Bz)F|uH{*yQKm&!Bna6=dP#gg3cm#3q4xg@`o(cCd2>pULzaS+T zJ&4!3x02mQZBO{T2++J{F-U4KHF{1dtqT$LR_I)_ zH;g}Jk5ES1(|~~9f?JdsYM5+(4DTi+qyyLkc>~@8)(pho#M(2&fs^{7E=OM19614R zO%spm{MFbGDj*9snw!#9uP0~NJQ4i%Xz(pAm0S|1f3;I+=@7ML>+7UT%H{E7PCB!rNe-r=(%FiaNAB~& zBXyQKS_|*#c@|B>nTpershKOOn-?aVlt~fw=+UEwJ%gm27eXQy58BQ zG;rAtRPFufT9Cn_K5T}46R#y7fyyGCIfGZEK#A$#Pgwyu%($455uHAq(bqz8?3nx& zpsI8b6AMKI7lx|GL|^$j9?`8l)Ouc?qC8h<`893_w$pytd9OjXDRxk3ttb2G)4iU@ zt7p7+-S*ZBiS_fV-`-l5`0&SVD}#QZ3)oWO%8?^SP!5r!KVN$fkP_|_6$;+kx?r4Y z4u1G*Hny&N^q?n1)WevXPQAIS=3y~P;hCLZRJ4Vv){5EdA3t=zxfr3;@L$iMkz8ku z*&p6P$b0<0i-XYn`sLFnkny0q28Fm;SixU({OxzM>ob=PAqLmD-PG*nkI=~$v*ITXlCXZIr;lavO|hn-p$sr z+~ywj_kJM#x+Px6Sz^^&qSiOV6(W1fJp(8xPL^LpB=U~K&6_vFsXt8UId|Nh`EkA^ z4zE_{jBlYdA&#$p(h4!aEo5b8A`xe0E68E60lnqr+?vwjO@5JY3D~AJfOD4fweg+w zbKC9hs%xYZP#F;?;K#3+ncu$M$oNJsB-RBd+9M-Q6blhgKbJuc#qtX0via6#1rE;7 zCryowNgCYu=1y~PKx2}bmDSeTx{`n#k?JNk^T-C1>wbIZ8EZ=^37xsFjS7{A3y#X5v!&OPm)R}S@1>&Un(fzhH<@C*&E|?kN%3zZjxg^ES7?X+PVIN zI39O=I4>mBu-*x74Iuix@EPBL0BQxHdjpq+9k3wRODXf73f5B@Qi;r=_E_i7%EtEO z6nSh*Do}sxEquJBT%oT6kS}=T~K7^xo%m3-q8}*0!e`3$T7cf4I$8Im& zv9jWP7PX29?j*TzUN0q(sdlQ5NU5uCuiP>@!c>J$?Ttg+wfCk< zxXo{by?P~+uX%UR#~FJ8XvZ5Zrw<%*FJGub%&4(04_Dvpo7{n2LD$DUq8=O$r+MFDFge)wr^ z>oYyvN}OS1`Ub(=D>Oz~$*sB5RO>1xc&s0IT*%d%Zx(3S4vaF+HrKej+Twfl-U7Q_N(1U1 zz}UiYfpEjk5)!d7mq47b{rMp!qV)WoE5dd7vlpu? z0Woc#D`&0e)7*#EI)FmPIqZ>D4@lQ$8c7Ac%dA614^tV|?qv!wpsUGj9Wv?ptAmHjPLq;1D zvH;9h)7iCMgJ9Q}seEB(1NO#cx?@BE8xBa;4ydk&iCdkNm|$#FCdCvai%lR#R= zO|MBBaM$SdoJt7r4gx8M%G4wA3?^@k^MHaw@=OP^&sg~DscybC-vC);`qi@@Z@`FR zUr|yeXlgc@G8kU0$J$fIV~vwuUS6Oz_8vm6`SP*s(NMA+PMND$Ddg&H+Uo25%7Z>4 z*0eCU4uR=Ok8fG8h1iML5A)q>WhqIJmXdla*vhh{^_n<{<@zyL4RpHkv=}j z{)R$~*TaXzrQOg|C@U*hy)>T)Vi88rd4eLO!v4c&?vuZWj?QXT&Fp#RA@Qsku3pbY zV7*290Ur3?wKJyX%_M)Tonfa{YJgWjCw=_r<#C!ok|06mPkJkVeH3W+N+$=HWH1>6 zyWoxt+(ND<Uwq(OPc zgh00+yfZR1gk@<_Tk5(e5)8MHYAmcrdXs;XI2W6hl?4lFPzru)8m?S+)^l~3b}fS7 zEtY0_IS!YaHqsqDcyO-Mp4#cp$bL&x4jye3ikFlFy~oDa(plPt7-I!De;%bBhv#71X`_7o z#MhrOO6V&pULbjGu%h&^Ch+)4BtsIy!V%)7FJzOjST9*kgZH%U$FNbz-WPo6B4sW< z@Fo9PvPw&vO6obRc1S0v;bjPzGzbV>z1Wg#w2I*wP>3+=wK)quBy(516RSp4q(wul zz|eEYnk`iRMMXu8#g&!geurzm+Whw6!vhbA2m76YNzuYV!UPjQ3EXNl@lIdaRfYS& zvq+54=a>UoNkKs(<9h)C0TUjx-_0){ofjregGOOtPwhP~SzE9J-zpnn*yit^oX1)k z*0VPOU zD(CLqgkA=aL{*Uyc{w?XQ@DSs&H_#8;= z*fY=e%G1qFRIHp_e~>mnvFt23J%pGd$g(A$AaSn@97WX;Z5}z?vLSYxYxZjoLtBPV zq6U;)&cU9V!X_#(FLP{h>FV{<4Xu=i4w;)2V;2fa!Q)ED|9lPVY`Cssb(_Ei5{B;q zytViofh{pYOXM1&6GxI4Xg~Kw{!V)93PqwQ#A}|Oo;@2(s9ggKWLjU`aZ+K0m)evv z_h1U4p@BVwl+HazIW*3l{Paf-9u8lsVXZJoy~Ld7htgD1P$Ds}ZL@nj5UsoVL)B(W zyNBdabJfSGVk1~iO27-u_rF+qft^qL+__?~^`HIJ*+b?dPg8I0iWl^_q4uN8qUs3+ zp{9jSMgRZ=4b5RXrmD`)Vo+tI?0LglP=leGgmUpVvIc;fO{6Ap-N3aaJ%Rk1k%gI= znS>^ssmta5iZ{(T^2#`9XnCC*8X5>w&<)=crKzqV+XozI1Z>B*fwePsUrM_^$CM@^ zMN34g=HVjC{5)qwzV0ZtGK23u|4hVVLuhh7&`2W~WxKRZ-kVIhcbb0u__6C3HCd+r zAzIp$58b{xt6JLHSRfVTaHI%PSbJDQQSs;OY_rQ_(-k$3jbA8SO{F=3R`JvJ8VLO3#~?`LOQBNbK^^UEt& zof|YL3bPmt*vB=jbhg?d3xpJIDkdSH@ zHjaV(88in$(+5=c2k9D^r={^WRt#E$TSswGO2RX=n(hb5nz|e5{{2Z}KRPnC{$LUy zHLKy#4u5lc3jQzjRQ%ZK*QqBj$7*t2p%X>57F;F); za>npIuo(#x&N{Tk-%*CKvHe0)JqPX89l3-f-YFk0=FXPFG^rr;aP+CeziNPtKFO^(hnLDv5 z=!TeBWiKuDSRj=*EWPJjPIxa421m4trRSAX6LLIjm!#K*o;t zyUnL>j1`|4vv%(SH>R@C%0XGV*Mf;>8?KD{9dv67jMr@F32oxo&S<{0*Xg$V*segca2`KK%m1c@z~XtE;OE=Pm7-&rOhQxvc!Yv4(Ad zIpzFfVtOOr-Kf4_6VR9J&_714ve9{$bd@GCc>#^q?v$6lCMi*vFJ8GlgISm8;yjmk6}Fk%c!WM1Exr5uJkI$qyb3#8_mY)_i?g#B}(h4{M6bA+kO!Es^nL zZo`VhX6C#19fmZW^SKP7LkB(-8~%WNVUc{NPv3(03)bGDMu{e3%kl=7YHoeaXl+>W zuzS@7wS|j8Z>!pJZd_U#@v5wpU@`^;ih3WV!M*OC$`?aop+nAi_0?xT!iBTC$d?L6 zt{UG(uo`S`p8z4I;nE6T_QF+4IQ_ow&Z6pRzCQNWW3vQ$AUq8)8uBrsX>pwr0>2Gv z$(PyVZf7bDq0BX&Rgbq!h*v#l~CX3yAg(2M$yWR2jUdyXcNG~ERBHh}-6 zeVJSA1oyJiMssf|_wgvNh>Awc?!e=iex>wqD@cZ=ZuweV8QwC&Gy$qJKSyqzf(j|5 zhXw`aN*E1S>wiQA_#PMKr*n~}JERi`v)6*ATgwr53($03K>?zqxj%o}oWhO+r|7x! zzol46U%}4BGd&w_PzTNHo12V&2@a;ZsHC{#dh~_%_Y*~&(9CAnP)gDPtwZuSKYLSK zQU>}IEcQmOL*`7|1~7)29?I*_ww=wLW8W&>?@*YNpiB6Bm~+c8uI{Jfs-BZ@S1 z5Y|zP`0Pfj_F+_{Yd2JW#VeNnQh|%%AB794Z|)b{TCUvQ>+(tMA(q4v#M0J1_p1@w z;6r)+UX>(uBs?4xf;_ONw-5O_f1h9$j{Q_M&4P@+5`;eB zZICFR$kyp#E}ciUGH46yoZI`9UqQyd_S6izULFs>qR%7Ef*)Zmt9o*5SNo10by0Q$ zc5lNK?`66k!5=Q-_{Pu*!tgBS8!fG-ma zX?#gin!lU_xHsJ4u0r^$R~z&7JfNkgOfLtxY0L+44#bnar~Rw$oJ~nr&&^#J*b6&A zEo~UL3RZ|PbQ_N8#*G^U+rV&8*HG?*lV2qJ_-K|EJK*IrsHi{9_5+tK`VJ}`ES+v~ zsy4ZJamS=l5h`8-yCD0;uk@x+529-i*Oqic6c z?3$W5d$kDbQMT+%PM#f;2}7VV=KFpb#a@_(_OGlvJ@_2~M_uQIGerdk`=ZA`E(9-E z+ix31&DRjB9{E}*SB~9ub9HsyqP*ptuWY{+8X5{ieq9Oe;K$kG=L%&l!Tn)WX2SJt z$ebbNVdCRcDc2ALclt%Rqp#31tjySsCq#w?0thdqsV=3(UeBzN=PtDe7OSs?B!_bU zA^QnA|5R@?d~bR?om4oQI(b*`L5<$+zelH^3YX0dIYfo*esNaNP0FwOW={I ze6@}0(a=}Ry#}pXrq>lJul=b@TIV=9{YOk84WJSYQdt*{@7w5>{@mE82cdwh62A@p_AtDVK%-1y6%*hWZ|LT9+Bq(&G&E!8=&w66f|bNr1XJj_tn#$GBn9! z|NL#jKJsmL9+*HiA}D&c%3a~>R$_q-fglW)9)!fk^2|=ZL!YqZ6Lj*T86O3W(jmg& zCbJxfz*9AIjerzGVs-WR0S?dm3e2m=zHr?5*Ko}nd7rC1xuI~;WOwF}Y07d9fB4E5 zR;I+bxc6;sFGF&O`84be4jn#YNR)LB%E0~m_F;5y@mo*1lbBi-_U1F3HYT4i%Lhe8 z$#E=$|I>mB>VxLDopEIXFH+7pC;p7TaQfX5leK}Q^q^~IqioLE7XyxoMQpLLv8@b; z85s9nCg|+o?K|FAng0<(BD6GhkuavUKu!WumTx~4SiAp9@$dA&k5&r^L1tz0PTFtJ zy!mgE_%0h%Du$At`ufJts)cZB*?_q7A_!7e_wI@$?B*>v=MNh5!xtZN<`7xL(E5R) z;yp~>5avOOMrdH~pxxV1IuD<3kC{cJG5k-i$B2fTv>}r-agZnh+98ORd{W)NspY)1 zrLWb0sQB0DbqdTs2s=W>VYXQ@Cw1jYX-UcacLn#k0+p44m%PN(#I+s>ZZO>OA8^>m zJ**U5$C5i72-1Rg^o)!=+08Rp3hB`je+E7nW`y!m1UWCj^-}rqv*=Ml&ePJ5tQH*5 zP0#c?ut>0(0W~%he|!HS)B;8Pf*t*__vUM$BRqIb|STkSK2bY=OInKt+Q|8rPL=Q5#f4o@myOI)kqI5b1ef?vT-FB#G|5YuZ;~$`* zj#~zh6g~=@sT&&_jK3hs8ta1O3a+l&~N=3yu;{x#Q z1;6@`a~Pj`Yd=X7eH(e&P@}gPrLDa^bs$FB(0o6R<5&uXil-ImJ;XG$X*V^?Zk-!k zUl>0TV|MrMneX-lb)^1jc<~5B=)Jvip}I5{QC3t8GUS}jt!{5$03;h2W`7s>bk0v5 zLJ<`Y$+Oxgt^xoWMBU$3_Y%?p{HS#ZK^j9=lkRATf?o)iQkkvt#vXs1R{;gdh8P!;BI>-&jg2b4VA&+po{TX> z#(bu-bPYyC#j5TvUVYLVo6_->8sy6GG$c&;A-6vx0fry(td^Mlg*>S_LIKhI8Fv6NO#UXFZ&1xn16n zs(ED>ir@)`RFs2W%mf&Bt>g|Kca803_g=hg;dYQ2u*{$m$6O7rmM>f~&}Q?A9e zbae>{328=MSfvzqZ}jzj_Ke0qTJSas+Oi~0!kBMC1r2d zvM`ihYC4`B*<~BaVkq9#@jUVLfHLgtwr|w)=VwtSfM(~zRe!NpXe29BWv6bog_hDP z2IUabPg;{2kO-l0nMV+#jQ13BL_+rvxjuWW>2z46MY9AG(*v;yP~H5Vvs|b=Lv#-r z-%p!{iG}NOa$}e~oClIez@&~UR61bbJjhweO&U49^mX?wUMt4CJ-PqVT zo(Yte*br|LU%VRvu9t=@NLqylDDV39ly@+PhP<1E{b& zQle>Tr19vtQb!y%f_+Lu{0$-{$^;S!bk}}H8ZPd!k?M45Je@v1!2XxeGlz0!@dx?p z9MuQ^=jAD28e8;Iode)qS~s+|W;}A_G~azBr!8r_?4Qg7X~8u|_Kt&p;?~N$JVKKY zAOz-s$2JSIUVz@kit2Fnkmw>N9`Q6;)r*Bn7CI4hdSP}%8rU-c7=$@^U9sx~n=pL|p?`KJxtE*39WDO_@{)_thePBIT zxWrI?C9HjS-g6uUbm9PjtBkN}e^qt{2@lce$oza;H09v%!0SS2AkEl;G5^6?WY7xd zBTf3#nTpOn;5%yiK;N|ISI~6}2QXSWN$A-ns0wu&VdRk1Mf6|OhTRh8YlMa-3%x?m zHBxYNwR!#it&kp}?P6!g@3|)fV!@|Rui~wso29xH-J-y^uTCa##UUdR1LXmBS(fDm zEEN`dyM7g*>FXuFlTD=o5JIpweIk`0?bxAE;ol zRvc6nAe>f0B3YEuaNb6kp|kfW9O&c8py)cKX{S2U8*#SM)U;J8N_q zSQeT`^DB%S^mcde8nU`Q_{ew>tt5D53xEC~P7d=Fpd<@g5L6zfPK%@PfI2U}^vWbN z!ZKHCqRP0pC)gjH^*<8xidbm{Ks)3L>Zg}fn%yuI;Aj;ve2Op2+7N^?YU3Oc zh81|M4u>IJE}}~u&;sWcAH;70X{E985X5+^j5`QTB*<$^cZ>boQ?QYJ$Q^o8SS>-R zR!itRhC$mo;XC1Y9JV%AQHa5~chFbQJ6O=DjCfm!Cxy>sA5NzGW7am)Q|Q;RhKvK9 zMb+QGyMnP^xGI=+a)>aRKROF96N90EjYghKK>R{ z=nXXw?;x;Uh?)X**T`h4wA)_oPU^&i&*>sgC4Vbg3Ocm!kf^UD1+~sQQZG(!*L@=W z5;4YkmF1cTe$_5)u2}|rYT~QqYtD}icaA~IS5s9b^Me0o%{~K(WZ`?qg?5oF*lBdFO$Nn3)SS zISo8klUDYx;0`mciN~>bzkcHv&xS)W@ev2>w&TtR?B5K3j;?oDCQbH=YTyhxM0=g#=eNU?k5>}`CB<@;@{}BOZ=+x)tLHuRC7f2K`{kz3Dg0dtt!KO(L^S;+r=LwGrPZwDylSghShNr1K;sV(!$LxZ~c09N=Hz zN%+j~g{M_dvaq1b=xra{#KNyX_9kR|_fk}z-H=;J75v~EFBA<)kz+}dHTO4;H%SBf zz3A^m8bj*boo>vCjj=cHKn znXTcG5tpW`A+KJIt?3qxrmC?Q?$^#Ue%eXgj!KNLude3@*%wrllnBq`cEY%|X%`_N zq>S`*;T|`~g>}8{CHOGlP}`%YhS7K+?lASLGa4k;vBGG9!~4+Ot#93Im%Bb>f9?D9 z!LpSBzY3bWA(4@jON|{J9mwt#Yh5X@*a??ZS6^Q~<0IdBKmsjyOjld4FuE6D^c_V| zxZJ6hSI>@~n}I)h@WY+r@)`{)jw@vRF(4L?GB9L4{)jj}@aqG-((T@ojz2DMq&-?% zS_XDMmQPVxoj&Jery1yt z==Iuv{Gg|zGUlgSbSc-*?i{y++85s+YEs$@OfX|9XI|QSCs)&7I^lyM`E=-~Uw4J* z^EiEcd@{H|x~@adjnqmeJCMHQA3=bn1W7I?T`D)=Sp(cLShYlSw;-|A0j%G_~8()aZQw$}LPVel!9*vBc zmh1BrX{WTMnLYntsA%x$u9}k498O|KXXin1GRVE(aAo|wD|9(+-|mO{*&0;U;~4%g zM=#s*PujZH)Q!kSnq$Y_bWTRgr*vB(C8sv?if5Y$|7p)Io!^Zzm9CmvQrq}rNTqN0 z@Ml-g)SXZ6L8~l|6*yM(4KG{>U1pKy=c5aVpZDeMvMR#Prh5+E(+>FHLx-5ti!?8Y z?x&@oxVOFKt`*v`mNBEL6{?#&%(n4%S=NbC7bWTd`EzdwZ#+KU2&@sjgU5l`cs6k21lbOh)_8`5L7Ww9 zS;~_UY;L9Yjm;(K-}OKSmYjS_D-?2e>Z3<9#2*b^`{~m>?ZR>Og?43oB?y#58mjg? zv_iAgEx{f2BDDxba)M=F=&n5rmHlF49=r-pJ9;#nZ;$`5%iaCd(jJ-;p_2oMSuB=KrW*c~7-a|Z#t_LYNAC$$?GJzADJYo4EFZ+AbLTJgt|yI*4Lwz z=1Oo62>XJK~BXjYfiMyN=3uGWPq2-=&I>T!z{14Y1!3GB3$g@_%G~-{V;xd z@d)ST`~AM}_xU`Z=Xu`f<028oE2SnPtjGcW;H>sbeT1SJp`P6QKr6IP{)8LGQsoDlF*?elgY(0+4fBUz&BFOt;V{^ z+4PVVV})`#WbEXnB6Xx9w)fDL;*+!8?>84r;lP2-gXaRoRLa6nW*H5=4vvmRB_%b; zfd<-y5LcZQDqW9uazxGkay<6~Et~J_Q)WXHB>gPqlT ziqU&f)feG>3N@%5L1`!*~2MIh6F7~yKeFkE~?H76;3CqCFa72b6x zDizUEwOxEudfM%PAVjhJDwT4=!|73tv*eS*N*{qDA3IE9;NAqYJ1?hlUQ02+zo?GA zhipm`J>G>H<1MO0P)c1-wwrvK7n6|#CNVWN^@22s3QwVirdF#V>6`vgF$T^br2dOO zU!#`@l<6;2W`eeJzblOfgP4us%r5OlyLy~5xV_Q#B$FPKEjKx@mLrJ+H%>ap6>egl zy$`AfG;DNl8%PU$ehWBZIF2tj%Gh(ILqx%KXogBcWpoxrXnA&`BJugTY%KVv=T&>H zY-|of`u?upU!xC(83M2-aBb|Q&(G#q-a<`^2ZXg|CE5_8Ntt=Z7RP!?>+79sCH9{0 z8(k&#x}?HcEvGRBTN;k)DCf*5`3}BtHNpKqpr;TzSVUet)-2=>} z1217Eaf4=?7*;`dkJe@0^0-KnakEnj2to#Cc?C8W=$7C^-9Plm#VgCjm<0hb-H++% z2cM<6CzbJ;>C@tKg4t|&L^beRV{>ZppbDVmyM+&dJ=q|ka4~8W{e(&}rC&^sP@{^3 zpiJO`t9TTVQE)}sc<}76Dhg`u-oO9)rq3~9-M!t_)s>aE%WJTnp-sVgX%ARC&lG=b zL2>kc=Op3oTjJV|`RBW)vsttot@|s~^KELwLHs5vY3S~0=%ZlbCl{b^SnmBCd;jyXl8wI-j z5DX^@+6O>p0OX@$q{sGL#T!*QeVDEUaztkFO@;=zNhZEeW@Smfnp02ag*C$Akf_7zy%nJooC zOe3gw`{H9_UVxBEu3kB~4_du%k6Hv8&LF4()eFa&)Kb0SaL3QNxwTM%T)yn)BZ=I) z6~jIQr2ah~_8cgYpAs} zC0hogjx3%uauS1qP^YGtDmciapnW!d+VQ)?T|@;WVn@ViX}gk_ASJVUz3Iq;)_f+? zHz1~Qa(8D7>YJmN;j0f|u3-E?un;1C20N#H5f0Y73_S=y@&Re`Vi0Ax1uxR1fGXaR zCkQ>@Hp>EXK5W{yBk3ZM5?NXSGw~pyshN3hV8iQ`%8uSxV@L*@f*?-%wdedtZEb&} z9>bZ=p=~qMW)S>%^jx=`rs!o93&W0rWa9?)*Q;cLfSifIUE?d?@u|#o{BYTk+obWM zmg%+#p*OymLC43&j|hJAhbN35{{N5v&hYHjaCI2bG#~F(!T*gh{mEcL@f%ilOScXh Pr`m_*?|pIg4~PB%)c;L0 literal 0 HcmV?d00001 diff --git a/images/favicon-32x32.png b/images/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..dcad4a259bd8710e0332ead3dde033a9276eb20d GIT binary patch literal 1093 zcmV-L1iJf)P)Px#1am@3R0s$N2z&@+hyVZs?@2^KR9HvFmt9CxaTLJMbxs|qO*bF*B73kNEQA$_ zgdn66^dj>MocdCG@?nC7i5e(@7?dB=7v0JiE%0mL!z7i!2Ysm)N`Vw;f*7d5@@wig z?VP{6>9^$4^jO7$;pWUw;r$6bR2)X@%Jy> zU-9xIUOPudM*dzzHFutn(P+G(P$-_E@(PqyohKi-??H(7e!u^v!{PYxzcXh7;1jFR z=nGV2K?TYS8WxLrQHK?EJV%dssH!o>86mxXbr%1W| zEbmb`(8gUpCxQUw<>jyN=937!T~-|eydEANeo8kP0F_#7Z0t9Ty)rQ|ksaFE*#UHy ztb+LXct}V{0E{W@?(Q-fR0_$-$>8;RVSj&La!#dEL0nuMlgD#jpU-!TN|XVVmX^Lj z1&{Q4J+!p6u)`f49k95#C<{-4?da&}V~#o;O8>^K5(3Q5&ceXJfJBi}sf3=M9_E2?08laY1s#X6 zuRxl2WJw4>A*ijbm4v}yFtGpA3KM|BW+DI^0+@vWo12@EmX-$X?d`C%v=rh6v)K$e zIXU2VyW!yA;L;%oi6JVu7}{HYOwX04inWDPGuNfi_f(pE_M6 z0MJWcWXq5TNJ&XyVZfHj0M^&nS+}DV2>=YMUA7VN0A#4Ku@Q7S9ScQ&e?QF6)3lBl zfJwF$3jwGfR8>{6Aw%x>cuwD}BH)43R!qvo!$=4~Lx#ezu&}_I5Wm6&2o57s$d6+j z$x1RvPr0|Z7c@oWk_S51{lfXC=MORBpuZk z5(0?&D;YsV^`(>#T2x=ld5EZfnD7u${WKHSP}Dw7#f5xTpXdJoTF>;S1&y|g00000 LNkvXXu0mjfTy^r9 literal 0 HcmV?d00001 diff --git a/images/julia-logo-color.svg b/images/julia-logo-color.svg new file mode 100644 index 0000000..c608baf --- /dev/null +++ b/images/julia-logo-color.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/images/julia-logo-dark.svg b/images/julia-logo-dark.svg new file mode 100644 index 0000000..0acc3dc --- /dev/null +++ b/images/julia-logo-dark.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/images/notebook001.png b/images/notebook001.png new file mode 100644 index 0000000000000000000000000000000000000000..8d8e859aa3e7c9474ea09db831d313695ed04e15 GIT binary patch literal 67142 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�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

jbLepZeGotf+P5C4akv2@RWlO_C# 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

oFm^8bSiFdQjU+eJo}peaKhAEZYLhsreI$giV{ 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 IyL|uu0I_i^pa1{> literal 0 HcmV?d00001 diff --git a/images/pi1.pdf b/images/pi1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c9ae2ffd55207528021d063c902971a0fe8351f3 GIT binary patch literal 1441 zcmY!laBR8|4K6bU1BLvgEG`=xE`6WWy!4U`1rt*P1qk5McgxHvNi9;) zcgsmENp(q0&QD3@va{nVE-6Y)%;l=MwKw!^-eCovea|)jFuAFjWPW0qTK2kZPT8p? zA;B}Z#C`kqSeL7ynmWZO{LEr#b3AR;}3O zHX*B=_Y600&qp57dmA2IIuq?5u=n7c^~sj^;%1z-(A?6s{i}AiQ0e9OyX%Dn4a(f@ zOuuQn@m0n=dM|lXdrI!h)o1j>Qme0Xt@50yH|d!2#9JSwKJ1udVw`sGn6_AhgkohY z6WipB>SWu9f0!(y?ImM}5`T-%X5qfT=IXOv*d3hkWgk)qE zD*zG1O*#r;sYS&=s}+p(3{4D8Ese}fjdhLm%wUcMJ5j+Wvn*8s=qe+9m(--p#5_%f z?1IFSjN;Tpg)*pqGd*KHpx1!u8yXhoNI?-&S&*ur@1K+vT$0PB@26l6${a<-B?`ut z@SJ00WI=S!@$EmDcgR4%<^8{|pG{J?RXK$oF>H|uSgQ3MGc8Yu|kmdYzxlHBBG2V%75)(ew zX{LA{oLlSNm}vg6xo>amZtho-+*ZN*Gf%$HSC)8OIp6lum#nEg2d+&1d^IEb5yu^m zJi|%y7T4eYF6-Q_b<0D>ob$}bb!#;iJ-hkVdRFIGod%iR?=P0euaGy{xpe-%rA6EG z3@ZOy>n(YGZjLYK&iDO{Uu`P?PJBOETKetD(xj-$dmp)L3&ZQMq%A{?0F4MrP242AFf@wg(htt8N(HjG^uraR4Hb+O41r=n`S~RZmO$-6Ak}I43gC1K;6NHIV3nN~rsk|Og}wepNKVLfew%zI3(W8+E=epZsVD-5 QfT5v@1(&L-tG^o;0MQIFS^xk5 literal 0 HcmV?d00001 diff --git a/images/pi1.png b/images/pi1.png new file mode 100644 index 0000000000000000000000000000000000000000..9f896443299194a7ba2be461361dc15cad4e19df GIT binary patch literal 90088 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 JC0Fl0{U0Yc$y5LU literal 0 HcmV?d00001 diff --git a/images/pi1.tex b/images/pi1.tex new file mode 100644 index 0000000..13361bb --- /dev/null +++ b/images/pi1.tex @@ -0,0 +1,21 @@ +\documentclass[tikz, border=10pt,convert=true]{standalone} +\usepackage[]{tkz-euclide} +%\usetikzlibrary{shapes.geometric,calc} + +\begin{document} +\begin{tikzpicture}[scale=3] + \tkzDefPoints{0/0/M, 1/1/B} + \tkzDefRegPolygon[center,sides=4,name=P](M,B) + \tkzDrawPolygon[very thick,red](P1,P...,P4) + \tkzDefRegPolygon[center,sides=8,name=Q](M,B) + \tkzDrawPolygon[very thick,blue](Q1,Q...,Q8) + \tkzDefRegPolygon[center,sides=16,name=R](M,B) + \tkzDrawPolygon[very thick,green](R1,R...,R16) + \tkzDrawCircle[very thick,black](M,B) + \foreach \j in {1,...,16} { + \tkzDrawSegment[gray](R\j, M) + } +\end{tikzpicture} + +\end{document} + diff --git a/images/pi2.pdf b/images/pi2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..076d10ef667d5cc747b26fc112d3f44a8341ae9f GIT binary patch literal 43905 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 W?(GWwnp~XRoZM(1K1iuZqx}yQ4Iz{O literal 0 HcmV?d00001 diff --git a/images/pi2.png b/images/pi2.png new file mode 100644 index 0000000000000000000000000000000000000000..2a6c57de7878f3c5eb2a6c43bc18628bb0724d72 GIT binary patch literal 19864 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 YH(f(L(_pixgFtBpPgg&ebxsLQ0IJG2X#fBK literal 0 HcmV?d00001 diff --git a/images/pi2.tex b/images/pi2.tex new file mode 100644 index 0000000..23590d0 --- /dev/null +++ b/images/pi2.tex @@ -0,0 +1,39 @@ +\documentclass[tikz, border=10pt,convert=true]{standalone} +\usepackage[]{tkz-euclide} +%\usetikzlibrary{shapes.geometric,calc} + +\begin{document} +\begin{tikzpicture}[scale=3] + \tkzDefPoints{0/0/M} + \tkzDefShiftPoint[M](40:2){A} % polar coord rel.to M: 40deg, r=2 + \tkzDefShiftPoint[M](-40:2){C} % rel. to M: -40deg, r=2 + \tkzDefShiftPoint[M](0:2){B} % just 2 steps to the right + \tkzInterLL(A,C)(M,B) + \tkzGetPoint{N} % intersection of lines + \tkzDrawArc[delta=10,very thick](M,C)(A) % arc + \tkzDrawPoints(M,A,B,C,N) + \tkzLabelPoints[below](M,C) + \tkzLabelPoints[above right](A) + \tkzLabelPoints[right](B) + \tkzLabelPoints[below left](N) + + \tkzDrawSegment[green, very thick](A,B) + \tkzDrawSegment[green, very thick](B,C) + \tkzDrawSegment[blue, very thick](A,C) + \tkzDrawSegment[black, very thick](M,B) + \tkzDrawSegment[black, very thick](M,A) + \tkzDrawSegment[black, very thick](M,C) + + \tkzLabelSegment[above,pos=.5](M,A){$1$} + \tkzLabelSegment[above,pos=.5](M,C){$1$} + \tkzMarkRightAngle[size=.08](M,N,A) + \tkzLabelSegment[above,pos=.5](M,N){$a$} + \tkzLabelSegment[above,pos=.5](N,B){$1-a$} + \tkzLabelSegment[below right,pos=.45](A,B){$s_{2n}$} + \tkzLabelSegment[left,pos=.4](A,C){$s_{n}$} + \tkzLabelSegment[below left,pos=.3](B,C){$s_{2n}$} + +\end{tikzpicture} + +\end{document} + diff --git a/images/twos-complement-wheel.png b/images/twos-complement-wheel.png new file mode 100644 index 0000000000000000000000000000000000000000..b644026558321cab40d370a7fdb3de2d40da1fe6 GIT binary patch literal 40529 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:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},98222:function(t,e,r){"use strict";t.exports=r(82887)},27206:function(t,e,r){"use strict";t.exports=r(60822)},59893:function(t,e,r){"use strict";t.exports=r(23381)},5224:function(t,e,r){"use strict";t.exports=r(83832)},59509:function(t,e,r){"use strict";t.exports=r(72201)},75557:function(t,e,r){"use strict";t.exports=r(91815)},40338:function(t,e,r){"use strict";t.exports=r(21462)},35080:function(t,e,r){"use strict";t.exports=r(51319)},61396:function(t,e,r){"use strict";t.exports=r(57516)},40549:function(t,e,r){"use strict";t.exports=r(98128)},49866:function(t,e,r){"use strict";t.exports=r(99442)},36089:function(t,e,r){"use strict";t.exports=r(93740)},19548:function(t,e,r){"use strict";t.exports=r(8729)},35831:function(t,e,r){"use strict";t.exports=r(93814)},61039:function(t,e,r){"use strict";t.exports=r(14382)},97040:function(t,e,r){"use strict";t.exports=r(51759)},77986:function(t,e,r){"use strict";t.exports=r(10421)},24296:function(t,e,r){"use strict";t.exports=r(43102)},58872:function(t,e,r){"use strict";t.exports=r(92165)},29626:function(t,e,r){"use strict";t.exports=r(3325)},65591:function(t,e,r){"use strict";t.exports=r(36071)},69738:function(t,e,r){"use strict";t.exports=r(43905)},92650:function(t,e,r){"use strict";t.exports=r(35902)},35630:function(t,e,r){"use strict";t.exports=r(69816)},73434:function(t,e,r){"use strict";t.exports=r(94507)},27909:function(t,e,r){"use strict";var n=r(19548);n.register([r(27206),r(5224),r(58872),r(65591),r(69738),r(92650),r(49866),r(25743),r(6197),r(97040),r(85461),r(73434),r(54201),r(81299),r(47645),r(35630),r(77986),r(83043),r(93005),r(96881),r(4534),r(50581),r(40549),r(77900),r(47582),r(35080),r(21641),r(17280),r(5861),r(29626),r(10021),r(65317),r(96268),r(61396),r(35831),r(16122),r(46163),r(40344),r(40338),r(48131),r(36089),r(55334),r(75557),r(19440),r(99488),r(59893),r(97393),r(98222),r(61039),r(24296),r(66398),r(59509)]),t.exports=n},46163:function(t,e,r){"use strict";t.exports=r(15154)},96881:function(t,e,r){"use strict";t.exports=r(64943)},50581:function(t,e,r){"use strict";t.exports=r(21164)},55334:function(t,e,r){"use strict";t.exports=r(54186)},65317:function(t,e,r){"use strict";t.exports=r(94873)},10021:function(t,e,r){"use strict";t.exports=r(67618)},54201:function(t,e,r){"use strict";t.exports=r(58810)},5861:function(t,e,r){"use strict";t.exports=r(20593)},16122:function(t,e,r){"use strict";t.exports=r(29396)},83043:function(t,e,r){"use strict";t.exports=r(13551)},48131:function(t,e,r){"use strict";t.exports=r(46858)},47582:function(t,e,r){"use strict";t.exports=r(17988)},21641:function(t,e,r){"use strict";t.exports=r(68868)},96268:function(t,e,r){"use strict";t.exports=r(20467)},19440:function(t,e,r){"use strict";t.exports=r(91271)},99488:function(t,e,r){"use strict";t.exports=r(21461)},97393:function(t,e,r){"use strict";t.exports=r(85956)},25743:function(t,e,r){"use strict";t.exports=r(52979)},66398:function(t,e,r){"use strict";t.exports=r(32275)},17280:function(t,e,r){"use strict";t.exports=r(6419)},77900:function(t,e,r){"use strict";t.exports=r(61510)},81299:function(t,e,r){"use strict";t.exports=r(87619)},93005:function(t,e,r){"use strict";t.exports=r(93601)},40344:function(t,e,r){"use strict";t.exports=r(96595)},47645:function(t,e,r){"use strict";t.exports=r(70954)},6197:function(t,e,r){"use strict";t.exports=r(47462)},4534:function(t,e,r){"use strict";t.exports=r(17659)},85461:function(t,e,r){"use strict";t.exports=r(19990)},82884:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},50215:function(t,e,r){"use strict";var n=r(82884),i=r(41940),a=r(85555),o=r(44467).templatedArray;r(24695),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},3749:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(92605).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],u=t["a"+a+"ref"],c=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,v=p-h,g=3*t.startarrowsize*t.arrowwidth||0,y=g+h,m=g-h;if(u===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=s?y+s:y,m=s?m-s:m,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,d,y),ppadminus:Math.max(f,v,m)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},44317:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(44467).arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(u.length||c.length){for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var Y=!1,W=["x","y"],X=0;X1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(Y=!0):Y=!0),J=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ht;"x"===et?($=e[et],J=dt?it._offset+it._length*$:J=T.l+T.w*$):($=1-e[et],J=dt?it._offset+it._length*$:J=T.t+T.h*$),Q=e.showarrow?.5:$}if(e.showarrow){ft.head=J;var vt=e["a"+et];if(tt=ot*q(.5,e.xanchor)-st*q(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(vt=1-vt),ft.tail=it._offset+it._length*vt):"paper"===gt?"y"===et?(vt=1-vt,ft.tail=T.t+T.h*vt):ft.tail=T.l+T.w*vt:ft.tail=it._offset+it.r2p(vt),K=tt}else ft.tail=J+vt,K=tt+vt;ft.text=ft.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,yt-1)),"pixel"===nt){var mt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-yt;mt>0?(ft.tail+=mt,ft.text+=mt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ct,ft.head+=ct}else K=tt=lt*q(Q,ut),ft.text=J+tt;ft.text+=ct,tt+=ct,K+=ct,e["_"+et+"padplus"]=lt/2+K,e["_"+et+"padminus"]=lt/2-K,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(Y)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(A-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(z-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=N+_t-v.top,Tt=N+bt-v.left;G.call(h.positionText,Tt,wt).call(c.setClipUrl,U?L:null,t)}V.select("rect").call(c.setRect,N,N,A,z),j.call(c.setRect,F/2,F/2,B-F,H-F),R.call(c.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-H/2)),I.attr({transform:"rotate("+P+","+C.x.text+","+C.y.text+")"});var kt,At=function(r,n){O.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,v=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(P,v,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr("width"),D=+j.attr("height"),z=v-.5*L,F=z+L,B=b-.5*D,N=B+D,U=[[z,B,z,N],[z,N,F,N],[F,N,F,B],[F,B,z,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,H=e.arrowcolor,q=e.arrowside,G=O.append("g").style({opacity:u.opacity(H)}).classed("annotation-arrow-g",!0),Z=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(u.stroke,u.rgb(H));if(g(Z,q,e),k.annotationPosition&&Z.node().parentNode&&!a){var Y=l,W=f;if(e.standoff){var X=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));Y+=e.standoff*(h-l)/X,W+=e.standoff*(p-f)/X}var J,K,$=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Y)+","+(p-W),transform:s(Y,W)}).style("stroke-width",V+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");d.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(R);J=t.x,K=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(J,K),i=n[0]+t,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",m(y,t,"x",T,e)),S("y",m(x,r,"y",T,e)),e.axref===e.xref&&S("ax",m(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",m(x,r,"ay",T,e)),G.attr("transform",s(t,r)),I.attr({transform:"rotate("+P+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),D&&d.init({element:R.node(),gd:t,prepFn:function(){kt=I.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",m(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",m(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=m(y,t,"x",T,e);else{var l=e._xsize/T.w,u=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(u+t/T.w,l,0,1,e.xanchor)}if(x)o=m(x,r,"y",T,e);else{var c=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-c/2;o=d.align(f-r/T.h,c,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}I.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",Z(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,x=e.indexOf("end")>=0,b=d.backoff*g+r.standoff,_=v.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,T=o.y-c.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void D();if(b){if(b*b>w*w+T*T)return void D();var k=b*Math.cos(f),A=b*Math.sin(f);c.x+=k,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+T*T)return void D();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),L="";if(E1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},2468:function(t,e,r){"use strict";var n=r(73972),i=r(71828);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(26997)}}},layoutAttributes:r(26997),handleDefaults:r(20226),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,u))),(i.isDark()?e?i.lighten(e):u:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>c&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var ut=Math.pow(10,Math.floor(Math.log(lt)/Math.LN10));ot*=ut*u.roundUp(lt/ut,[2,5,10]),(Math.abs(q.start)/q.size+1e-6)%1<2e-6&&(it.tick0=0)}it.dtick=ot}it.domain=o?[rt+O/R.h,rt+K-O/R.h]:[rt+P/R.w,rt+K-P/R.w],it.setScale(),t.attr("transform",c(Math.round(R.l),Math.round(R.t)));var ct,ft=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(R.l),-Math.round(R.t))),ht=it.ticklabelposition,pt=it.title.font.size,dt=t.select("."+A.cbaxis),vt=0,gt=0;function yt(n,i){var a={propContainer:it,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:z._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var t,e;(o&&at||!o&&!at)&&("top"===j&&(t=P+R.l+R.w*I,e=O+R.t+R.h*(1-rt-K)+3+.75*pt),"bottom"===j&&(t=P+R.l+R.w*I,e=O+R.t+R.h*(1-rt)-3-.25*pt),"right"===j&&(e=O+R.t+R.h*D+3+.75*pt,t=P+R.l+R.w*rt),yt(it._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!at||o&&at){var a,l=t.select("."+A.cbtitle),f=l.select("text"),h=[-M/2,M/2],d=l.select(".h"+it._id+"title-math-group").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),gt=a.width,(vt=a.height)>v&&(h[1]-=(vt-v)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),gt=a.width,vt=a.height),o){if(vt){if(vt+=5,"top"===j)it.domain[1]-=vt/R.h,h[1]*=-1;else{it.domain[0]+=vt/R.h;var y=g.lineCount(f);h[1]+=(1-y)*v}l.attr("transform",c(h[0],h[1])),it.setScale()}}else gt&&("right"===j&&(it.domain[0]+=(gt+pt/2)/R.w),l.attr("transform",c(h[0],h[1])),it.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?c(0,Math.round(R.h*(1-it.domain[1]))):c(Math.round(R.w*it.domain[0]),0)),dt.attr("transform",o?c(0,Math.round(-R.t)):c(Math.round(-R.l),0));var m=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(Z);m.enter().append("rect").classed(A.cbfill,!0).style("stroke","none"),m.exit().remove();var x=U.map(it.c2p).map(Math.round).sort((function(t,e){return t-e}));m.each((function(t,a){var s=[0===a?U[0]:(Z[a]+Z[a-1])/2,a===Z.length-1?U[1]:(Z[a]+Z[a+1])/2].map(it.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",$).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max(W,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var c=H(t).replace("e-","");l.attr("fill",i(c).toHexString())}}));var b=t.select("."+A.cblines).selectAll("path."+A.cbline).data(B.color&&B.width?Y:[]);b.enter().append("path").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=$,r=Math.round(it.c2p(t))+B.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+W).call(p.lineGroupStyle,B.width,V(t),B.dash)})),dt.selectAll("g."+it._id+"tick,path").remove();var _=$+W+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(it),k=s.getTickSigns(it)[2];return s.drawTicks(r,it,{vals:"inside"===it.ticks?s.clipEnds(it,T):T,layer:dt,path:s.makeTickPath(it,_,k),transFn:s.makeTransTickFn(it)}),s.drawLabels(r,it,{vals:T,layer:dt,transFn:s.makeTransTickLabelFn(it),labelFns:s.makeLabelFns(it,_)})},function(){if(o&&!at||!o&&at){var t,i,a=it.position||0,s=it._offset+it._length/2;if("right"===j)i=s,t=R.l+R.w*a+10+pt*(it.showticklabels?1:.5);else if(t=s,"bottom"===j&&(i=R.t+R.h*a+10+(-1===ht.indexOf("inside")?it.tickfont.size:0)+("intside"!==it.ticks&&e.ticklen||0)),"top"===j){var l=N.text.split("
").length;i=R.t+R.h*a+10-W-w*pt*l}yt((o?"h":"v")+it._id+"title",{avoid:{selection:n.select(r).selectAll("g."+it._id+"tick"),side:j,offsetTop:o?0:R.t,offsetLeft:o?R.l:0,maxShift:o?z.width:z.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=W+M/2;-1===ht.indexOf("inside")&&(n=p.bBox(dt.node()),s+=o?n.width:n.height),ct=ft.select("text");var u=0,f=o&&"top"===j,v=!o&&"right"===j,g=0;if(ct.node()&&!ct.classed(A.jsPlaceholder)){var m,x=ft.select(".h"+it._id+"title-math-group").node();x&&(o&&at||!o&&!at)?(u=(n=p.bBox(x)).width,m=n.height):(u=(n=p.bBox(ft.node())).right-R.l-(o?$:nt),m=n.bottom-R.t-(o?nt:$),o||"top"!==j||(s+=n.height,g=n.height)),v&&(ct.attr("transform",c(u/2+pt/2,0)),u*=2),s=Math.max(s,o?u:m)}var b=2*(o?P:O)+s+S+M/2,w=0;!o&&N.text&&"bottom"===C&&D<=0&&(b+=w=b/2,g+=w),z._hColorbarMoveTitle=w,z._hColorbarMoveCBTitle=g;var F=S+M;t.select("."+A.cbbg).attr("x",(o?$:nt)-F/2-(o?P:0)).attr("y",(o?nt:$)-(o?J:O+g-w)).attr(o?"width":"height",Math.max(b-w,2)).attr(o?"height":"width",Math.max(J+F,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var B=v?Math.max(u-10,0):0;if(t.selectAll("."+A.cboutline).attr("x",(o?$:nt+P)+B).attr("y",(o?nt+O-J:$)+(f?vt:0)).attr(o?"width":"height",Math.max(W,2)).attr(o?"height":"width",Math.max(J-(o?2*O+vt:2*P+B),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M}),t.attr("transform",c(R.l-(o?Q*b:0),R.t-(o?0:(1-tt)*b-g))),!o&&(S||i(E).getAlpha()&&!i.equals(z.paper_bgcolor,E))){var U=dt.selectAll("text"),V=U[0].length,H=t.select("."+A.cbbg).node(),q=p.bBox(H),G=p.getTranslate(t);U.each((function(t,e){var r=V-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=q.right+G.x+nt-S-2+I-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=q.left+G.x+nt+S+2-s)<0&&(n=0)}n&&(V<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var Z={},Y=T[L],X=k[L],K=T[C],et=k[C],rt=b-W;o?("pixels"===h?(Z.y=D,Z.t=J*K,Z.b=J*et):(Z.t=Z.b=0,Z.yt=D+l*K,Z.yb=D-l*et),"pixels"===_?(Z.x=I,Z.l=b*Y,Z.r=b*X):(Z.l=rt*Y,Z.r=rt*X,Z.xl=I-y*Y,Z.xr=I+y*X)):("pixels"===h?(Z.x=I,Z.l=J*Y,Z.r=J*X):(Z.l=Z.r=0,Z.xl=I+l*Y,Z.xr=I-l*X),"pixels"===_?(Z.y=1-D,Z.t=b*K,Z.b=b*et):(Z.t=rt*K,Z.b=rt*et,Z.yt=D-y*K,Z.yb=D+y*et)),a.autoMargin(r,e._id,Z)}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,u=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/u.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/u.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},76228:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t){return n.isPlainObject(t.colorbar)}},12311:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(63583),supplyDefaults:r(62499),draw:r(98981).draw,hasColorbar:r(76228)}},50693:function(t,e,r){"use strict";var n=r(63583),i=r(30587).counter,a=r(78607),o=r(63282).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===a,c="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",v=a+"max",g=a+"mid",y=(s(h+p),s(h+d),s(h+v),{});y[d]=y[v]=void 0;var m={};m[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[v]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:u,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},78803:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(52075).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():h&&(d=c._colorAx&&n(d)?Math.max(d,y()):y()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},33046:function(t,e,r){"use strict";var n=r(71828),i=r(52075).hasColorscale,a=r(52075).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},70461:function(t,e,r){"use strict";var n=r(71828),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},64505:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},28569:function(t,e,r){"use strict";var n=r(48956),i=r(57035),a=r(38520),o=r(71828).removeElement,s=r(85555),l=t.exports={};l.align=r(92807),l.getCursor=r(70461);var u=r(26041);function c(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,p,d,v,g=t.gd,y=1,m=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)m&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},26041:function(t,e,r){"use strict";var n=r(11086),i=r(79990),a=r(24401).getGraphDiv,o=r(26675),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},79952:function(t,e){"use strict";e.P={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.u={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},91424:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(92770),s=r(84267),l=r(73972),u=r(7901),c=r(21081),f=i.strTranslate,h=r(63893),p=r(77922),d=r(18783).LINE_SPACING,v=r(37822).DESELECTDIM,g=r(34098),y=r(39984),m=r(23469).appendArrayPointValue,x=t.exports={};function b(t,e,r){var n=e.fillpattern,i=n&&x.getPatternAttr(n.shape,0,"");if(i){var a=x.getPatternAttr(n.bgcolor,0,null),o=x.getPatternAttr(n.fgcolor,0,null),s=n.fgopacity,l=x.getPatternAttr(n.size,0,8),c=x.getPatternAttr(n.solidity,0,.3),f=e.uid;x.pattern(t,"point",r,f,i,l,c,void 0,n.fillmode,a,o,s)}else e.fillcolor&&t.call(u.fill,e.fillcolor)}x.font=function(t,e,r,n){i.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(u.fill,n)},x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";u.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());b(t,((r.data()[0]||[])[0]||{}).trace||{},e)},x.fillGroupStyle=function(t,e){t.style("stroke-width",0).each((function(t){var r=n.select(this);t[0].trace&&b(r,t[0].trace,e)}))};var _=r(90998);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(_).forEach((function(t){var e=_[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var w=x.symbolNames.length;function T(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=w||t>=400?0:Math.floor(Math.max(t,0))};var k={x1:1,x2:0,y1:0,y2:0},A={x1:0,x2:0,y1:1,y2:0},M=a("~f"),S={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:k},horizontalreversed:{node:"linearGradient",attrs:k,reversed:!0},vertical:{node:"linearGradient",attrs:A},verticalreversed:{node:"linearGradient",attrs:A,reversed:!0}};x.gradient=function(t,e,r,a,o,l){for(var c=o.length,f=S[a],h=new Array(c),p=0;p=100;var f=rt(t,r),h=G(t,r);e.attr("d",T(c,l,f,h))}var p,d,v,g=!1;if(t.so)v=s.outlierwidth,d=s.outliercolor,p=o.outliercolor;else{var y=(s||{}).width;v=(t.mlw+1||y+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,d="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(s.color)?u.defaultLine:s.color,i.isArrayOrTypedArray(o.color)&&(p=u.defaultLine,g=!0),p="mc"in t?t.mcc=n.markerScale(t.mc):o.color||"rgba(0,0,0,0)",n.selectedColorFn&&(p=n.selectedColorFn(t))}if(t.om)e.call(u.stroke,p).style({"stroke-width":(v||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:v)+"px");var m=o.gradient,b=t.mgt;b?g=!0:b=m&&m.type,i.isArrayOrTypedArray(b)&&(b=b[0],S[b]||(b=0));var _=o.pattern,w=_&&x.getPatternAttr(_.shape,t.i,"");if(b&&"none"!==b){var k=t.mgc;k?g=!0:k=m.color;var A=r.uid;g&&(A+="-"+t.i),x.gradient(e,a,A,b,[[0,k],[1,p]],"fill")}else if(w){var M=x.getPatternAttr(_.bgcolor,t.i,null),E=x.getPatternAttr(_.fgcolor,t.i,null),L=_.fgopacity,C=x.getPatternAttr(_.size,t.i,8),P=x.getPatternAttr(_.solidity,t.i,.3),O=t.mcc||i.isArrayOrTypedArray(_.shape)||i.isArrayOrTypedArray(_.bgcolor)||i.isArrayOrTypedArray(_.size)||i.isArrayOrTypedArray(_.solidity),I=r.uid;O&&(I+="-"+t.i),x.pattern(e,"point",a,I,w,C,P,t.mcc,_.fillmode,M,E,L)}else u.fill(e,p);v&&u.stroke(e,d)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:p?f:v*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var m=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:c||(l?e:u.addOpacity(e,v))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){u.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",T(x.symbolNumber(a),o,rt(n,e),G(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function I(t,e,r){return r&&(t=N(t)),e?z(t[1]):D(t[0])}function D(t){var e=n.round(t,2);return E=e,e}function z(t){var e=n.round(t,2);return L=e,e}function R(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[D(e[0]+(h&&c/h)),z(e[1]+(h&&f/h))],[D(e[0]-(p&&c/p)),z(e[1]-(p&&f/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),u=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(u||0===u){if(s){var c=e._module.formatLabels,f=c?c(t,e,l):{},p={};m(p,e,t.i);var d=e._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,t,d)}var v=t.tp||e.textposition,g=O(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,t.tf||e.textfont.family,g,y).text(u).call(h.convertToTspans,r).call(P,v,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=O(t,e);u.fill(i,a);var c=l.traceIs(e,"bar-like");P(i,o,s,t.mrc2||t.mrc,c)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=u||w>=f&&w<=u)&&(T<=h&&T>=c||T>=h&&T<=c)&&(t=[w,T])}return t}x.steps=function(t){var e=F[t]||B;return function(t){for(var r="M"+D(t[0][0])+","+z(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},j=0),r&&(x.savedBBoxes[r]=g),j++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",V(e,r))},x.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=f(e,r)).trim(),t[i]("transform",a),a},x.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var H=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(H,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var q=/translate\([^)]*\)\s*$/;function G(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(q);t=1===e&&1===r?[]:[f(o,s),"scale("+e+","+r+")",f(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=G;var Z,Y,W,X,J,K,$=Math.atan2,Q=Math.cos,tt=Math.sin;function et(t,e){var r=e[0],n=e[1];return[r*Q(t)-n*tt(t),r*tt(t)+n*Q(t)]}function rt(t,e){var r,n,i=t.ma;void 0===i&&(i=e.marker.angle||0);var a=e.marker.angleref;if("previous"===a||"north"===a){if(e._geo){var s=e._geo.project(t.lonlat);r=s[0],n=s[1]}else{var l=e._xA,u=e._yA;if(!l||!u)return 90;r=l.c2p(t.x),n=u.c2p(t.y)}if(e._geo){var c,f=t.lonlat[0],h=t.lonlat[1],p=e._geo.project([f,h+1e-5]),d=e._geo.project([f+1e-5,h]),v=$(d[1]-n,d[0]-r),g=$(p[1]-n,p[0]-r);if("north"===a)c=i/180*Math.PI;else if("previous"===a){var y=f/180*Math.PI,m=h/180*Math.PI,x=Z/180*Math.PI,b=Y/180*Math.PI,_=x-y,w=Q(b)*tt(_),T=tt(b)*Q(m)-Q(b)*tt(m)*Q(_);c=-$(w,T)-Math.PI,Z=f,Y=h}var k=et(v,[Q(c),0]),A=et(g,[tt(c),0]);i=$(k[1]+A[1],k[0]+A[0])/Math.PI*180,"previous"!==a||K===e.uid&&t.i===J+1||(i=null)}if("previous"===a&&!e._geo)if(K===e.uid&&t.i===J+1&&o(r)&&o(n)){var M=r-W,S=n-X,E=e.line&&e.line.shape||"",L=E.slice(E.length-1);"h"===L&&(S=0),"v"===L&&(M=0),i+=$(S,M)/Math.PI*180+90}else i=null}return W=r,X=n,J=t.i,K=e.uid,i}x.getMarkerAngle=rt},90998:function(t,e,r){"use strict";var n,i,a,o,s=r(95616),l=r(39898).round,u="M0,0Z",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var u=t/180*h,c=0,f=0,v=s(r),g="",y=0;y0,f=t._context.staticPlot;e.each((function(e){var h,p=e[0].trace,d=p.error_x||{},v=p.error_y||{};p.ids&&(h=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;v.visible||d.visible||(e=[]);var y=n.select(this).selectAll("g.errorbar").data(e,h);if(y.exit().remove(),e.length){d.visible||y.selectAll("path.xerror").remove(),v.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var m=y.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,u);if(!g||t.vis){var a,o=e.select("path.yerror");if(v.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var h=v.width;a="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(a+="m-"+h+",0h"+2*h),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?v:d).width;a="M"+r.xh+","+(r.y-y)+"v"+2*y+"m0,-"+y+"H"+r.xs,r.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?c&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}},62662:function(t,e,r){"use strict";var n=r(39898),i=r(7901);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},77914:function(t,e,r){"use strict";var n=r(41940),i=r(528).hoverlabel,a=r(1426).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},30732:function(t,e,r){"use strict";var n=r(71828),i=r(73972);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.index_[0]._length||lt<0||lt>w[0]._length)return d.unhoverRaw(t,e)}else st="xpx"in e?e.xpx:_[0]._length/2,lt="ypx"in e?e.ypx:w[0]._length/2;if(e.pointerX=st+_[0]._offset,e.pointerY=lt+w[0]._offset,q="xval"in e?y.flat(l,e.xval):y.p2c(_,st),G="yval"in e?y.flat(l,e.yval):y.p2c(w,lt),!i(q[0])||!i(G[0]))return o.warn("Fx.hover failed",e,t),d.unhoverRaw(t,e)}var ft=1/0;function ht(t,r){for(Y=0;Yrt&&(nt.splice(0,rt),ft=nt[0].distance),m&&0!==H&&0===nt.length){et.distance=H,et.index=!1;var f=X._module.hoverPoints(et,Q,tt,"closest",{hoverLayer:c._hoverlayer});if(f&&(f=f.filter((function(t){return t.spikeDistance<=H}))),f&&f.length){var h,d=f.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(d.length){var v=d[0];i(v.x0)&&i(v.y0)&&(h=dt(v),(!at.vLinePoint||at.vLinePoint.spikeDistance>h.spikeDistance)&&(at.vLinePoint=h))}var g=f.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(g.length){var x=g[0];i(x.x0)&&i(x.y0)&&(h=dt(x),(!at.hLinePoint||at.hLinePoint.spikeDistance>h.spikeDistance)&&(at.hLinePoint=h))}}}}}function pt(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)At-1;Mt--)Ct(nt[Mt]);nt=St,mt()}var Pt=t._hoverdata,Ot=[],It=U(t),Dt=V(t);for(Z=0;Z1||nt.length>1)||"closest"===I&&ot&&nt.length>1,Yt=p.combine(c.plot_bgcolor||p.background,c.paper_bgcolor),Wt=O(nt,{gd:t,hovermode:I,rotateLabels:Zt,bgColor:Yt,container:c._hoverlayer,outerContainer:c._paper.node(),commonLabelOpts:c.hoverlabel,hoverdistance:c.hoverdistance}),Xt=Wt.hoverLabels;if(y.isUnifiedHover(I)||(function(t,e,r,n){var i,a,o,s,l,u,c,f=e?"xa":"ya",h=e?"ya":"xa",p=0,d=1,v=t.size(),g=new Array(v),y=0,m=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(t){return t*r._invScaleX},k=function(t){return t*r._invScaleY};function A(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos>e.pmax-1&&(u.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos+u.dp+u.size>e.pmax&&(u.del=!0,n--)}}}for(t.each((function(t){var n=t[f],i=t[h],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var u,c,p=D(t,e),v=t.anchor,A="end"===v?-1:1;if("middle"===v)c=(u=t.crossPos+(a?k(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?k(t.by):w(t.bx));else if(a)c=(u=t.crossPos+k(M+p.y)-k(t.by/2-M))+k(t.by);else{var S=w(A*M+p.x),E=S+w(A*t.bx);u=t.crossPos+Math.min(S,E),c=t.crossPos+Math.max(S,E)}a?void 0!==b&&void 0!==_&&Math.min(c,_)-Math.max(u,b)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==m&&void 0!==x&&Math.min(c,x)-Math.max(u,m)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?T:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=v;){for(p++,i=!0,s=0;s.01&&L.pmin===C.pmin&&L.pmax===C.pmax){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(S.push.apply(S,E),g.splice(s+1,1),c=0,l=S.length-1;l>=0;l--)c+=S[l].dp;for(o=c/S.length,l=S.length-1;l>=0;l--)S[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var P=g[s];for(l=P.length-1;l>=0;l--){var O=P[l],I=O.datum;I.offset=O.dp,I.del=O.del}}}(Xt,Zt,c,Wt.commonLabelBoundingBox),z(Xt,Zt,c._invScaleX,c._invScaleY)),s&&s.tagName){var Jt=g.getComponentMethod("annotations","hasClickToShow")(t,Ot);f(n.select(s),Jt?"pointer":"")}s&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Pt)&&(Pt&&t.emit("plotly_unhover",{event:e,points:Pt}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:q,yvals:G}))}(t,e,r,a,s)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=U(i),o=V(i),s=O(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,u=t.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),d=Math.max(s,l),v=t.trace;if(g.traceIs(v,"gl3d")){var y=i._fullLayout[v.scene]._scene.container,m=y.offsetLeft,x=y.offsetTop;c+=m,f+=m,h+=x,d+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:d+a},e.inOut_bbox&&e.inOut_bbox.push(u.bbox)}else u=!1;return{color:t.color||p.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||p.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,u=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function O(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,u=e.rotateLabels,f=e.bgColor,d=e.container,v=e.outerContainer,w=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||m.HOVERFONT,k=e.fontSize||m.HOVERFONTSIZE,A=t[0],E=A.xa,L=A.ya,P=a.charAt(0),O=P+"Label",D=A[O];if(void 0===D&&"multicategory"===E.type)for(var z=0;zi.width-b?(g=i.width-b,e.attr("d","M"+(b-M)+",0L"+b+","+x+M+"v"+x+(2*S+m.height)+"H-"+b+"V"+x+M+"H"+(b-2*M)+"Z")):e.attr("d","M0,0L"+M+","+x+M+"H"+b+"v"+x+(2*S+m.height)+"H-"+b+"V"+x+M+"H-"+M+"Z"),Y.minX=g-b,Y.maxX=g+b,"top"===E.side?(Y.minY=y-(2*S+m.height),Y.maxY=y-S):(Y.minY=y+S,Y.maxY=y+(2*S+m.height))}else{var _,C,P;"right"===L.side?(_="start",C=1,P="",g=E._offset+E._length):(_="end",C=-1,P="-",g=E._offset),y=L._offset+(A.y0+A.y1)/2,l.attr("text-anchor",_),e.attr("d","M0,0L"+P+M+","+M+"V"+(S+m.height/2)+"h"+P+(2*S+m.width)+"V-"+(S+m.height/2)+"H"+P+M+"V-"+M+"Z"),Y.minY=y-(S+m.height/2),Y.maxY=y+(S+m.height/2),"right"===L.side?(Y.minX=g+M,Y.maxX=g+M+(2*S+m.width)):(Y.minX=g-M-(2*S+m.width),Y.maxX=g-M);var O,I=m.height/2,z=F-m.top-I,R="clip"+i._uid+"commonlabel"+L._id;if(g=0?lt:ut+ht=0?ut:bt+ht=0?ot:st+pt=0?st:_t+pt=0,"top"!==t.idealAlign&&G||!Z?G?(O+=R/2,t.anchor="start"):t.anchor="middle":(O-=R/2,t.anchor="end"),t.crossPos=O;else{if(t.pos=O,G=P+z/2+Y<=B,Z=P-z/2-Y>=0,"left"!==t.idealAlign&&G||!Z)if(G)P+=z/2,t.anchor="start";else{t.anchor="middle";var W=Y/2,X=P+W-B,J=P-W;X>0&&(P-=X),J<0&&(P+=-J)}else P-=z/2,t.anchor="end";t.crossPos=P}w.attr("text-anchor",t.anchor),E&&A.attr("text-anchor",t.anchor),e.attr("transform",s(P,O)+(u?l(_):""))})),{hoverLabels:wt,commonLabelBoundingBox:Y}}function I(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=N(t.name,t.nameLength));var u=r.charAt(0),c="x"===u?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[u+"Label"]===i?l=t[c+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[u+"Label"]!==i&&(h[u+"other"]=h[u+"Val"],h[u+"otherLabel"]=h[u+"Label"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(P,(function(e,r){return s=N(r,t.nameLength),""}))}return[l,s]}function D(t,e){var r=0,n=t.offset;return e&&(n*=-A,r=t.offset*k),{x:r,y:n}}function z(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,u,f=r.select("text.nums"),p=t.anchor,d="end"===p?-1:1,v=(u=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(M+S))+s*(i.txwidth+S),"middle"===i.anchor&&(l-=i.tx2width/2,u+=i.txwidth/2+S),{alignShift:s,textShiftX:l,text2ShiftX:u}),g=D(t,e),y=g.x,m=g.y,x="middle"===p;r.select("path").attr("d",x?"M-"+a(t.bx/2+t.tx2width/2)+","+o(m-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(d*M+y)+","+o(M+m)+"v"+o(t.by/2-M)+"h"+a(d*t.bx)+"v-"+o(t.by)+"H"+a(d*M+y)+"V"+o(m-M)+"Z");var b=y+v.textShiftX,_=m+t.ty0-t.by/2+S,w=t.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==p?(f.attr("text-anchor","start"),b=x?-t.bx/2-t.tx2width/2+S:-t.bx-S):"right"===w&&"end"!==p&&(f.attr("text-anchor","end"),b=x?t.bx/2-t.tx2width/2-S:t.bx+S)),f.call(c.positionText,a(b),o(_)),t.tx2width&&(r.select("text.name").call(c.positionText,a(v.text2ShiftX+v.alignShift*S+y),o(m+t.ty0-t.by/2+S)),r.select("rect").call(h.setRect,a(v.text2ShiftX+(v.alignShift-1)*t.tx2width/2+y),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function R(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:v.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:v.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=v.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+v.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=v.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+v.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function F(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var d=p.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var g,y,m=e.hLinePoint;n=m&&m.xa,"cursor"===(i=m&&m.ya).spikesnap?(g=u.pointerX,y=u.pointerY):(g=n._offset+m.x,y=i._offset+m.y);var x,b,_=a.readability(m.color,d)<1.5?p.contrast(d):m.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=v.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=g),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":h.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var P,O,I=a.readability(C.color,d)<1.5?p.contrast(d):C.color,D=n.spikemode,z=n.spikethickness,R=n.spikecolor||I,F=v.getPxPosition(t,n);if(-1!==D.indexOf("toaxis")||-1!==D.indexOf("across")){if(-1!==D.indexOf("toaxis")&&(P=F,O=L),-1!==D.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,O=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":z,stroke:R,"stroke-dasharray":h.dashStyle(n.spikedash,z)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":z+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==D.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?z:-z),r:z,fill:R}).classed("spikeline",!0)}}}function B(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function N(t,e){return c.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}function j(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var u=s[t+"End"];void 0===u&&(u=s[t]);var c=u-l;"end"===o?i+=c:"middle"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function U(t){return t.offsetTop+t.clientTop}function V(t){return t.offsetLeft+t.clientLeft}function H(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},38048:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(23469).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},98212:function(t,e,r){"use strict";var n=r(71828),i=r(528);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hovermode")}},30211:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(28569),o=r(23469),s=r(528),l=r(88335);t.exports={moduleType:"component",name:"fx",constants:r(26675),schema:{layout:s},attributes:r(77914),layoutAttributes:s,supplyLayoutGlobalDefaults:r(22774),supplyDefaults:r(54268),supplyLayoutDefaults:r(34938),calc:r(30732),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(75914)}},528:function(t,e,r){"use strict";var n=r(26675),i=r(41940),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},34938:function(t,e,r){"use strict";var n=r(71828),i=r(528),a=r(98212),o=r(38048);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},22774:function(t,e,r){"use strict";var n=r(71828),i=r(38048),a=r(528);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},83312:function(t,e,r){"use strict";var n=r(71828),i=r(30587).counter,a=r(27670).Y,o=r(85555).idRegex,s=r(44467),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function u(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h1){h||p||d||"independent"===k("pattern")&&(h=!0),g._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;v&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:c("x",k,w,x,m),y:c("y",k,T,b,y,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,y="independent"===r.pattern,m=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n1);if(!1===_&&(e.legend=void 0),(!1!==_||f.uirevision)&&(p("uirevision",e.uirevision),!1!==_)){p("bgcolor",e.paper_bgcolor),p("bordercolor"),p("borderwidth");var w,T,k,A=i.coerceFont(p,"font",e.font),M="h"===p("orientation");if(M?(w=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(T=1.1,k="bottom"):(T=-.1,k="top")):(w=1.02,T=1,k="auto"),p("traceorder",x),u.isGrouped(e.legend)&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("x",w),p("xanchor"),p("y",T),p("yanchor",k),p("valign"),i.noneOrAll(f,h,["x","y"]),p("title.text")){p("title.side",M?"left":"top");var S=i.extendFlat({},A,{size:i.bigFont(A.size)});i.coerceFont(p,"title.font",S)}}}},43969:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(74875),o=r(73972),s=r(11086),l=r(28569),u=r(91424),c=r(7901),f=r(63893),h=r(85167),p=r(14928),d=r(18783),v=d.LINE_SPACING,g=d.FROM_TL,y=d.FROM_BR,m=r(82424),x=r(53630),b=r(10130);function _(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function w(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l)&&(1===n?e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay):2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&h(r,t,n)))}function T(t,e,r){var n,a,s=t.data()[0][0],l=s.trace,c=o.traceIs(l,"pie-like"),h=!r._inHover&&e._context.edits.legendText&&!c,d=r._maxNameLength;s.groupTitle?(n=s.groupTitle.text,a=s.groupTitle.font):(a=r.font,r.entries?n=s.text:(n=c?s.label:l.name,l._meta&&(n=i.templateString(n,l._meta))));var v=i.ensureSingle(t,"text","legendtext");v.attr("text-anchor","start").call(u.font,a).text(h?k(n,d):n);var g=r.itemwidth+2*p.itemGap;f.positionText(v,g,0),h?v.call(f.makeEditable,{gd:e,text:n}).call(M,t,e,r).on("edit",(function(n){this.text(k(n,d)).call(M,t,e,r);var a=s.trace._fullInput||{},u={};if(o.hasTransform(a,"groupby")){var c=o.getTransformIndices(a,"groupby"),f=c[c.length-1],h=i.keyedContainer(a,"transforms["+f+"].styles","target","value.name");h.set(s.trace._group,n),u=h.constructUpdate()}else u.name=n;return o.call("_guiRestyle",e,u,l.index)})):M(v,t,e,r)}function k(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function A(t,e){var r,a=e._context.doubleClickDelay,o=1,s=i.ensureSingle(t,"rect","legendtoggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(s.on("mousedown",(function(){(r=(new Date).getTime())-e._legendMouseDownTimea&&(o=Math.max(o-1,1)),w(e,r,t,o,n.event)}})))}function M(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node();r||(r=e._fullLayout.legend);var s,l,c=r.borderwidth,h=(1===n?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var d=u.bBox(o);s=d.height,l=d.width,1===n?u.setTranslate(a,c,c+.75*s):u.setTranslate(a,0,.25*s)}else{var g=t.select(1===n?".legendtitletext":".legendtext"),y=f.lineCount(g),m=g.node();if(s=h*y,l=m?u.bBox(m).width:0,1===n)"left"===r.title.side&&(l+=2*p.itemGap),f.positionText(g,c+p.titlePad,c+h);else{var x=2*p.itemGap+r.itemwidth;i.groupTitle&&(x=p.itemGap,l-=r.itemwidth),f.positionText(g,x,-h*((y-1)/2-.3))}}1===n?(r._titleWidth=l,r._titleHeight=s):(i.lineHeight=h,i.height=Math.max(s,16)+3,i.width=l)}else t.remove()}(e,r,n,i)}))}function S(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function E(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}t.exports=function(t,e){return e||(e=t._fullLayout.legend||{}),function(t,e){var r,s,f=t._fullLayout,h="legend"+f._uid,d=e._inHover;if(d?(r=e.layer,h+="-hover"):r=f._infolayer,r){if(t._legendMouseDownTime||(t._legendMouseDownTime=0),d){if(!e.entries)return;s=m(e.entries,e)}else{if(!t.calcdata)return;s=f.showlegend&&m(t.calcdata,e)}var v=f.hiddenlabels||[];if(!(d||f.showlegend&&s.length))return r.selectAll(".legend").remove(),f._topdefs.select("#"+h).remove(),a.autoMargin(t,"legend");var k=i.ensureSingle(r,"g","legend",(function(t){d||t.attr("pointer-events","all")})),L=i.ensureSingleById(f._topdefs,"clipPath",h,(function(t){t.append("rect")})),C=i.ensureSingle(k,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));C.call(c.stroke,e.bordercolor).call(c.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px");var P=i.ensureSingle(k,"g","scrollbox"),O=e.title;if(e._titleWidth=0,e._titleHeight=0,O.text){var I=i.ensureSingle(P,"text","legendtitletext");I.attr("text-anchor","start").call(u.font,O.font).text(O.text),M(I,P,t,e,1)}else P.selectAll(".legendtitletext").remove();var D=i.ensureSingle(k,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),z=P.selectAll("g.groups").data(s);z.enter().append("g").attr("class","groups"),z.exit().remove();var R=z.selectAll("g.traces").data(i.identity);R.enter().append("g").attr("class","traces"),R.exit().remove(),R.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==v.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(T,t,e)})).call(x,t,e).each((function(){d||n.select(this).call(A,t)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout;i||(i=a.legend);var o=a._size,s=b.isVertical(i),l=b.isGrouped(i),c="fraction"===i.entrywidthmode,f=i.borderwidth,h=2*f,d=p.itemGap,v=i.itemwidth+2*d,g=2*(f+d),y=E(i),m=i.y<0||0===i.y&&"top"===y,x=i.y>1||1===i.y&&"bottom"===y,w=i.tracegroupgap,T={};i._maxHeight=Math.max(m||x?a.height/2:o.h,30);var k=0;i._width=0,i._height=0;var A=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(s)r.each((function(t){var e=t[0].height;u.setTranslate(this,f+A[0],f+A[1]+i._height+e/2+d),i._height+=e,i._width=Math.max(i._width,t[0].width)})),k=v+i._width,i._width+=d+v+h,i._height+=g,l&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var M=S(i),L=i.x<0||0===i.x&&"right"===M,C=i.x>1||1===i.x&&"left"===M,P=x||m,O=a.width/2;i._maxWidth=Math.max(L?P&&"left"===M?o.l+o.w:O:C?P&&"right"===M?o.r+o.w:O:o.w,2*v);var I=0,D=0;r.each((function(t){var e=_(t,i,v);I=Math.max(I,e),D+=e})),k=null;var z=0;if(l){var R=0,F=0,B=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=_(r,i,v),a=r[0].height;u.setTranslate(this,A[0],A[1]+f+d+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+d;F>0&&r+f+F>i._maxWidth?(z=Math.max(z,F),F=0,B+=R+w,R=e):R=Math.max(R,e),u.setTranslate(this,F,B),F+=r})),i._width=Math.max(z,F)+f,i._height=B+R+g}else{var N=r.size(),j=D+h+(N-1)*d=i._maxWidth&&(z=Math.max(z,q),V=0,H+=U,i._height+=U,U=0),u.setTranslate(this,A[0]+f+V,A[1]+f+H+e/2+d),q=V+r+d,V+=n,U=Math.max(U,e)})),j?(i._width=V+h,i._height=U+g):(i._width=Math.max(z,q)+h,i._height+=U+g)}}i._width=Math.ceil(Math.max(i._width+A[0],i._titleWidth+2*(f+p.titlePad))),i._height=Math.ceil(Math.max(i._height+A[1],i._titleHeight+2*(f+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var G=t._context.edits,Z=G.legendText||G.legendPosition;r.each((function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,a=t[0].trace.legendgroup,o=_(t,i,v);l&&""!==a&&(o=T[a]);var f=Z?v:k||o;s||c||(f+=d/2),u.setRect(e,0,-r/2,f,r)}))}(t,z,R,e)},function(){var s,c,v,m,x=f._size,b=e.borderwidth;if(!d){var _=function(t){var e=t._fullLayout.legend,r=S(e),n=E(e);return a.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*g[r],r:e._width*y[r],b:e._effHeight*y[n],t:e._effHeight*g[n]})}(t);if(_)return;var T=x.l+x.w*e.x-g[S(e)]*e._width,A=x.t+x.h*(1-e.y)-g[E(e)]*e._effHeight;if(f.margin.autoexpand){var M=T,O=A;T=i.constrain(T,0,f.width-e._width),A=i.constrain(A,0,f.height-e._effHeight),T!==M&&i.log("Constrain legend.x to make legend fit inside graph"),A!==O&&i.log("Constrain legend.y to make legend fit inside graph")}u.setTranslate(k,T,A)}if(D.on(".drag",null),k.on("wheel",null),d||e._height<=e._maxHeight||t._context.staticPlot){var I=e._effHeight;d&&(I=e._height),C.attr({width:e._width-b,height:I-b,x:b/2,y:b/2}),u.setTranslate(P,0,0),L.select("rect").attr({width:e._width-2*b,height:I-2*b,x:b,y:b}),u.setClipUrl(P,h,t),u.setRect(D,0,0,0,0),delete e._scrollY}else{var z,R,F,B=Math.max(p.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),N=e._effHeight-B-2*p.scrollBarMargin,j=e._height-e._effHeight,U=N/j,V=Math.min(e._scrollY||0,j);C.attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-b,x:b/2,y:b/2}),L.select("rect").attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-2*b,x:b,y:b+V}),u.setClipUrl(P,h,t),G(V,B,U),k.on("wheel",(function(){G(V=i.constrain(e._scrollY+n.event.deltaY/N*j,0,j),B,U),0!==V&&V!==j&&n.event.preventDefault()}));var H=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;z="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,F=V})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,G(V=function(t,e,r){var n=(r-e)/U+t;return i.constrain(n,0,j)}(F,z,R),B,U))}));D.call(H);var q=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(z=t.changedTouches[0].clientY,F=V)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(R=t.changedTouches[0].clientY,G(V=function(t,e,r){var n=(e-r)/U+t;return i.constrain(n,0,j)}(F,z,R),B,U))}));P.call(q)}function G(r,n,i){e._scrollY=t._fullLayout.legend._scrollY=r,u.setTranslate(P,0,-r),u.setRect(D,e._width,p.scrollBarMargin+r*i,p.scrollBarWidth,n),L.select("rect").attr("y",b+r)}t._context.edits.legendPosition&&(k.classed("cursor-move",!0),l.init({element:k.node(),gd:t,prepFn:function(){var t=u.getTranslate(k);v=t.x,m=t.y},moveFn:function(t,r){var n=v+t,i=m+r;u.setTranslate(k,n,i),s=l.align(n,e._width,x.l,x.l+x.w,e.xanchor),c=l.align(i+e._height,-e._height,x.t+x.h,x.t,e.yanchor)},doneFn:function(){void 0!==s&&void 0!==c&&o.call("_guiRelayout",t,{"legend.x":s,"legend.y":c})},clickFn:function(e,n){var i=r.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));i.size()>0&&w(t,k,i,e,n)}}))}],t)}}(t,e)}},82424:function(t,e,r){"use strict";var n=r(73972),i=r(10130);t.exports=function(t,e){var r,a,o=e._inHover,s=i.isGrouped(e),l=i.isReversed(e),u={},c=[],f=!1,h={},p=0,d=0;function v(t,r){if(""!==t&&i.isGrouped(e))-1===c.indexOf(t)?(c.push(t),f=!0,u[t]=[r]):u[t].push(r);else{var n="~~i"+p;c.push(n),u[n]=[r],p++}}for(r=0;rA&&(k=A)}w[r][0]._groupMinRank=k,w[r][0]._preGroupSort=r}var M=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(w.forEach((function(t,e){t[0]._preGroupSort=e})),w.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),r=0;rr?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var m="constant"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function T(t,a,o){var c=t[0].trace,f=c.marker||{},h=f.line||{},p=o?c.visible&&c.type===o:i.traceIs(c,"bar"),d=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(p?[t]:[]);d.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),d.exit().remove(),d.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,"")(v)}var y=p||a.mc||f.color,m=f.pattern,x=m&&s.getPatternAttr(m.shape,0,"");if(x){var b=s.getPatternAttr(m.bgcolor,0,null),_=s.getPatternAttr(m.fgcolor,0,null),T=m.fgopacity,k=g(m.size,8,10),A=g(m.solidity,.5,1),M="legend-"+c.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,m.fillmode,b,_,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:i.traceIs(s,r),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),u.exit().remove(),u.size()){var c=(s.marker||{}).line,p=w(h(c.width,o.pts),c,5,2),d=a.minExtend(s,{marker:{line:{width:p}}});d.marker.line.color=c.color;var v=a.minExtend(o,{trace:d});f(u,v,d)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.valign,l=t[0].lineHeight,u=t[0].height;if("middle"!==s&&l&&u){var c={top:1,bottom:-1}[s]*(.5*(l-u+3));i.attr("transform",o(0,c))}else i.attr("transform",null);i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var f=i.selectAll("g.legendsymbols").data([t]);f.enter().append("g").classed("legendsymbols",!0),f.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(v,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=v(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,m=t[0],b=m.trace,_=u(b),T=_.colorscale,k=_.reversescale,A=c.hasMarkers(b)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e);else{var r="legendfill-"+b.uid;s.gradient(t,e,r,d(k),T,"fill")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(m,{trace:i})]}var L=M.select(".legendlines").selectAll("path").data(f||h?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(h?"l"+x+",0.0001":"h"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=v(t),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=y("marker.color",x),b.mx=y("marker.symbol",x),b.mo=y("marker.opacity",a.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(h?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},42068:function(t,e,r){"use strict";r(93348),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},26023:function(t,e,r){"use strict";var n=r(73972),i=r(74875),a=r(41675),o=r(24255),s=r(34031).eraseActiveShape,l=r(71828),u=l._,c=t.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i1?(O=["toggleHover"],I=["resetViews"]):y?(P=["zoomInGeo","zoomOutGeo"],O=["hoverClosestGeo"],I=["resetGeo"]):g?(O=["hoverClosest3d"],I=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(P=["zoomInMapbox","zoomOutMapbox"],O=["toggleHover"],I=["resetViewMapbox"]):b?O=["hoverClosestGl2d"]:m?O=["hoverClosestPie"]:A?(O=["hoverClosestCartesian","hoverCompareCartesian"],I=["resetViewSankey"]):O=["toggleHover"],v&&(O=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(function(t){for(var e=0;e0)){var v=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a=n.max)e=F[r+1];else if(t=n.pmax)e=F[r+1];else if(tr._length||y+b<0)return;c=g+b,p=y+b;break;case l:if(x="col-resize",g+b>r._length)return;c=g+b,p=y;break;case u:if(x="col-resize",y+b<0)return;c=g,p=y+b;break;default:x="ew-resize",c=v,p=v+b}if(p=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,m).call(s.dashLine,k?"solid":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(u,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var L=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(h(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void v(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=v,f(t)}}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function v(t){h(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t))}t.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(h(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=v,f(t)}}}},53777:function(t,e,r){"use strict";var n=r(79952).P,i=r(1426).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},90849:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},35855:function(t,e,r){"use strict";var n=r(64505).selectMode,i=r(51873).clearOutline,a=r(60165),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),u=e.gd,c=u._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,v=e.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var y=u._fullLayout._activeSelectionIndex;if(y-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){Z(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=K(_))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(".select-outline-"+n.id);f&&i._fullLayout._outlining&&(s&&(u=T(f,t)),u&&a.call("_guiRelayout",i,{shapes:u}),l&&!U(t)&&(c=k(f,t)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:c}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function W(t){return t._id}function X(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(W),u=r.map(W);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function $(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ut(et);ct([C(t,nt,"x"),C(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,Q),h._reselect=!1}if(!a&&h._deselect){var vt=h._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(At).then((function(){if(L.clear(At),2===t){for(bt.remove(),K=0;K-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),"event"===r&&ft(k,void 0);l.click(k,e)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(At).then((function(){L.clear(At),!S&&J&&n.selectionDefs&&(J.subtract=xt,n.selectionDefs.push(J),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,W)),(S||x)&&Y(n,S),n.doneFnCompleted&&n.doneFnCompleted(Mt),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:Y,selectOnClick:V}},89827:function(t,e,r){"use strict";var n=r(50215),i=r(41940),a=r(82196).line,o=r(79952).P,s=r(1426).extendFlat,l=r(44467).templatedArray,u=(r(24695),r(5386).R),c=r(37281);t.exports=l("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:s({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:s({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:s({},a.color,{editType:"arraydraw"}),width:s({},a.width,{editType:"calc+arraydraw"}),dash:s({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:u({},{keys:Object.keys(c)}),font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})},5627:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(21459),o=r(30477);function s(t){return u(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return u(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function u(t,e,r,i,s,l){var u=t/2,c=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o1&&(2!==t.length||"Z"!==t[1][0])&&(0===E&&(t[0][0]="M"),e[S]=t,T(),k())}}()}}function B(t,r){!function(t,r){if(e.length)for(var n=0;nx?(T=h,C="y0",k=x,P="y1"):(T=x,C="y1",k=h,P="y0"),$(n),et(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l="";"paper"===n||a.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),f.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),K.moveFn="move"===z?Q:tt,K.altKey=n.altKey)},doneFn:function(){w(t)||(d(e),rt(l),A(e,t,r),i.call("_guiRelayout",t,u.getUpdateObj()))},clickFn:function(){w(t)||rt(l)}};function $(r){if(w(t))z=null;else if(B)z="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=K.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!N&&i>10&&a>10&&!r.shiftKey?p.getCursor(o/i,1-s/a):"move";d(e,l),z=l.split("-")[0]}}function Q(n,i){if("path"===r.type){var a=function(t){return t},o=a,u=a;R?j("xanchor",r.xanchor=W(b+n)):(o=function(t){return W(Z(t)+n)},V&&"date"===V.type&&(o=y.encodeDate(o))),F?j("yanchor",r.yanchor=X(_+i)):(u=function(t){return X(Y(t)+i)},q&&"date"===q.type&&(u=y.encodeDate(u))),j("path",r.path=S(D,o,u))}else R?j("xanchor",r.xanchor=W(b+n)):(j("x0",r.x0=W(c+n)),j("x1",r.x1=W(v+n))),F?j("yanchor",r.yanchor=X(_+i)):(j("y0",r.y0=X(h+i)),j("y1",r.y1=X(x+i)));e.attr("d",m(t,r)),et(l,r),M(t,s,r,U)}function tt(n,i){if(N){var a=function(t){return t},o=a,u=a;R?j("xanchor",r.xanchor=W(b+n)):(o=function(t){return W(Z(t)+n)},V&&"date"===V.type&&(o=y.encodeDate(o))),F?j("yanchor",r.yanchor=X(_+i)):(u=function(t){return X(Y(t)+i)},q&&"date"===q.type&&(u=y.encodeDate(u))),j("path",r.path=S(D,o,u))}else if(B){if("resize-over-start-point"===z){var f=c+n,p=F?h-i:h+i;j("x0",r.x0=R?f:W(f)),j("y0",r.y0=F?p:X(p))}else if("resize-over-end-point"===z){var d=v+n,g=F?x-i:x+i;j("x1",r.x1=R?d:W(d)),j("y1",r.y1=F?g:X(g))}}else{var w=function(t){return-1!==z.indexOf(t)},A=w("n"),H=w("s"),G=w("w"),J=w("e"),K=A?T+i:T,$=H?k+i:k,Q=G?E+n:E,tt=J?L+n:L;F&&(A&&(K=T-i),H&&($=k-i)),(!F&&$-K>10||F&&K-$>10)&&(j(C,r[C]=F?K:X(K)),j(P,r[P]=F?$:X($))),tt-Q>10&&(j(O,r[O]=R?Q:W(Q)),j(I,r[I]=R?tt:W(tt)))}e.attr("d",m(t,r)),et(l,r),M(t,s,r,U)}function et(t,e){(R||F)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=Z(R?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Y(F?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),R&&F){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(R){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function rt(t){t.selectAll(".visual-cue").remove()}p.init(K),J.node().onmousemove=$}(t,F,u,e,r,z):!0===u.editable&&F.style("pointer-events",I||c.opacity(L)*k<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(t,e){if(T(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void E(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=E,_(t)}}}(t,F)}))}u._input&&!1!==u.visible&&("below"!==u.layer?x(t._fullLayout._shapeUpperLayer):"paper"===u.xref||"paper"===u.yref?x(t._fullLayout._shapeLowerLayer):v._hadPlotinfo?x((v.mainplotinfo||v).shapelayer):x(t._fullLayout._shapeLowerLayer))}function A(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");f.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function M(t,e,r,n){if(n.selectAll(".shape-label").remove(),r.label.text||r.label.texttemplate){var i;if(r.label.texttemplate){var l={};if("path"!==r.type){var u=o.getFromId(t,r.xref),c=o.getFromId(t,r.yref);for(var h in x){var p=x[h](r,u,c);void 0!==p&&(l[h]=p)}}i=a.texttemplateStringForShapes(r.label.texttemplate,{},t._fullLayout._d3locale,l)}else i=r.label.text;var d,g,_,w,T={"data-index":e},k=r.label.font,A=n.append("g").attr(T).classed("shape-label",!0).append("text").attr({"data-notex":1}).classed("shape-label-text",!0).text(i);if(r.path){var M=m(t,r),S=s(M,t);d=1/0,_=1/0,g=-1/0,w=-1/0;for(var E=0;E=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(d,_,g,w):0),A.call((function(e){return e.call(f.font,k).attr({}),v.convertToTspans(e,t),e}));var U=function(t,e,r,n,i,a,o){var s,l,u,c,f=i.label.textposition,h=i.label.textangle,p=i.label.padding,d=i.type,v=Math.PI/180*a,g=Math.sin(v),y=Math.cos(v),m=i.label.xanchor,x=i.label.yanchor;if("line"===d){"start"===f?(s=t,l=e):"end"===f?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),"auto"===m&&(m="start"===f?"auto"===h?r>t?"left":rt?"right":rt?"right":rt?"left":r=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function E(t){T(t)&&t._fullLayout._activeShapeIndex>=0&&(u(t),delete t._fullLayout._activeShapeIndex,_(t))}t.exports={draw:_,drawOne:k,eraseActiveShape:function(t){if(T(t)){u(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d}))}(r,s,u);if("pixel"===r.xsizemode){var b=s(r.xanchor);c=b+r.x0,f=b+r.x1}else c=s(r.x0),f=s(r.x1);if("pixel"===r.ysizemode){var _=u(r.yanchor);h=_-r.y0,p=_-r.y1}else h=u(r.y0),p=u(r.y1);if("line"===d)return"M"+c+","+h+"L"+f+","+p;if("rect"===d)return"M"+c+","+h+"H"+f+"V"+p+"H"+c+"Z";var w=(c+f)/2,T=(h+p)/2,k=Math.abs(w-c),A=Math.abs(T-h),M="A"+k+","+A,S=w+k+","+T;return"M"+S+M+" 0 1,1 "+w+","+(T-A)+M+" 0 0,1 "+S+"Z"}},89853:function(t,e,r){"use strict";var n=r(34031);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(89827),supplyLayoutDefaults:r(84726),supplyDrawNewShapeDefaults:r(45547),includeBasePlot:r(76325)("shapes"),calcAutorange:r(5627),draw:n.draw,drawOne:n.drawOne}},37281:function(t){"use strict";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t,r){return e(t.x1,r)-e(t.x0,r)}function i(t,r,n){return e(t.y1,n)-e(t.y0,n)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return"line"!==t.type?void 0:i(t,0,r)/n(t,e)},dx:n,dy:i,width:function(t,e){return Math.abs(n(t,e))},height:function(t,e,r){return Math.abs(i(t,0,r))},length:function(t,e,r){return"line"!==t.type?void 0:Math.sqrt(Math.pow(n(t,e),2)+Math.pow(i(t,0,r),2))},xcenter:function(t,n){return r((e(t.x1,n)+e(t.x0,n))/2,n)},ycenter:function(t,n,i){return r((e(t.y1,i)+e(t.y0,i))/2,i)}}},75067:function(t,e,r){"use strict";var n=r(41940),i=r(35025),a=r(1426).extendDeepAll,o=r(30962).overrideAll,s=r(85594),l=r(44467).templatedArray,u=r(98292),c=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:c,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:u.gripBgActiveColor},bgcolor:{valType:"color",dflt:u.railBgColor},bordercolor:{valType:"color",dflt:u.railBorderColor},borderwidth:{valType:"number",min:0,dflt:u.railBorderWidth},ticklen:{valType:"number",min:0,dflt:u.tickLength},tickcolor:{valType:"color",dflt:u.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:u.minorTickLength}}),"arraydraw","from-root")},98292:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},12343:function(t,e,r){"use strict";var n=r(71828),i=r(85501),a=r(75067),o=r(98292).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:u}),l=0,c=0;c0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function P(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(f.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll("g."+f.groupClassName).data(a,y);u.enter().append("g").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c0||_<0){var M={left:[-w,0],right:[w,0],top:[0,-w],bottom:[0,w]}[b.side];r.attr("transform",l(M[0],M[1]))}}}return R.call(F),I&&(E?R.on(".opacity",null):(A=0,M=!0,R.text(m).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),R.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==x?o.call("_guiRestyle",t,y,e,x):o.call("_guiRelayout",t,y,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(F)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),R.classed("js-placeholder",M),T}}},7163:function(t,e,r){"use strict";var n=r(41940),i=r(22399),a=r(1426).extendFlat,o=r(30962).overrideAll,s=r(35025),l=r(44467).templatedArray,u=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:u,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},75909:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},64897:function(t,e,r){"use strict";var n=r(71828),i=r(85501),a=r(7163),o=r(75909).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},13689:function(t,e,r){"use strict";var n=r(39898),i=r(74875),a=r(7901),o=r(91424),s=r(71828),l=r(63893),u=r(44467).arrayEditor,c=r(18783).LINE_SPACING,f=r(75909),h=r(25849);function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function v(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(m,i,c,t).call(M,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),p=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+f.gapButtonHeader:d=y.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(m,o,s,t).call(M,o,b),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(v(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(T,o),c.call(_,o)}))})),c.call(_,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c="up"===u||"down"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;cw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>u&&(E=u-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,I=d+v,D=g;I+P>l&&(I=l-P);var z=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);z.exit().on(".drag",null).remove(),z.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),C?(this.vbar=z.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:D,width:P,height:O}),this._vbarYMin=D+O/2,this._vbarTranslateMax=T-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=C?f+P+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||C?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var H=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(H),C&&this.vbar.on(".drag",null).call(H)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},18783:function(t){"use strict";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},24695:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},22372:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},31562:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},74808:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},29659:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87381:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},37822:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},50606:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},77922:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},8729:function(t,e,r){"use strict";e.version=r(11506).version,r(7417),r(98847);for(var n=r(73972),i=e.register=n.register,a=r(10641),o=Object.keys(a),s=0;s",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},99863:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},26348:function(t,e,r){"use strict";var n=r(64872),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}v?(c=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},73627:function(t,e){"use strict";var r=Array.isArray,n=ArrayBuffer,i=DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return r(t)||a(t)}function s(t,e,r){if(o(t)){if(o(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||c(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a=n&&t<=i?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(r),y=t.charAt(0);!u||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=u&&"chinese"===r.substr(0,7),T=t.match(w?x:m);if(!T)return c;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(u){if(2===k.length)return c;var C;k=Number(k);try{var P=g.getComponentMethod("calendars","getCal")(r);if(w){var O="i"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(k,P.toMonthIndex(k,A,O),M)}else C=P.newDate(k,Number(A),M)}catch(t){return c}return C?(C.toJD()-v)*f+S*h+E*p+L*d:c}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var I=new Date(Date.UTC(2e3,A,M,S,E));return I.setUTCFullYear(k),I.getUTCMonth()!==A||I.getUTCDate()!==M?c:I.getTime()+L*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==c};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,m,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(t,f));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===c)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,L={1:"1",2:"1",3:"2",4:"2"};function C(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return L[r("%q")(i)]})),_(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var P=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),P[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var O=3*f;e.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+v,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-v)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+O);return u.setUTCMonth(u.getUTCMonth()+e)+n-O},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&g.getComponentMethod("calendars","getCal")(e),c=0;c0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;ri&&(i=u,e=l)}else e=r;return o.default(e).geometry.coordinates}(c),n.fIn=t,n.fOut=c,s.push(c)}else u.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||v<0||v>1?null:{x:t+l*v,y:e+f*v}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-t,a-e),l(c,f,d,o-t,u-e),l(h,p,v,t-i,e-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},81697:function(t,e,r){"use strict";var n=r(92770),i=r(84267),a=r(25075),o=r(21081),s=r(22399).defaultLine,l=r(73627).isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n,i,s,p,d,v=t.color,g=l(v),y=l(e),m=o.extractOpts(t),x=[];if(n=void 0!==m.colorscale?o.makeColorScaleFuncFromTrace(t):f,i=g?function(t,e){return void 0===t[e]?u:a(n(t[e]))}:f,s=y?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||y)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},71828:function(t,e,r){"use strict";var n=r(39898),i=r(84096).g0,a=r(60721).WU,o=r(92770),s=r(50606),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=t.exports={};f.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: "'+e+'"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=r(65487),f.keyedContainer=r(66636),f.relativeAttr=r(6962),f.isPlainObject=r(41965),f.toLogRange=r(58163),f.relinkPrivateKeys=r(51332);var p=r(73627);f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(64872);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(96554);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(41631);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var y=r(65888);f.findBin=y.findBin,f.sorterAsc=y.sorterAsc,f.sorterDes=y.sorterDes,f.distinctVals=y.distinctVals,f.roundUp=y.roundUp,f.sort=y.sort,f.findIndexOfMin=y.findIndexOfMin,f.sortObjectKeys=r(78607);var m=r(80038);f.aggNums=m.aggNums,f.len=m.len,f.mean=m.mean,f.median=m.median,f.midRange=m.midRange,f.variance=m.variance,f.stdev=m.stdev,f.interp=m.interp;var x=r(35657);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(26348);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(99863);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(87642);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=r(1426);f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(47769);f.log=k.log,f.warn=k.warn,f.error=k.error;var A=r(30587);f.counterRegex=A.counter;var M=r(79990);f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=r(24401);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},f.noop=r(64213),f.identity=r(23389),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},f.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},f.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var D=/^\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return D.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:""}))};var z={max:10,count:0,name:"hovertemplate"};f.hovertemplateString=function(){return U.apply(z,arguments)};var R={max:10,count:0,name:"texttemplate"};f.texttemplateString=function(){return U.apply(R,arguments)};var F=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function B(t){var e=t.match(F);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}var N={max:10,count:0,name:"texttemplate",parseMultDiv:!0};f.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\|]/;function U(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var u="_xother"===s||"_yother"===s,c="_xother_"===s||"_yother_"===s,h="xother_"===s||"yother_"===s,p="xother"===s||"yother"===s||u||h||c,d=s;(u||c)&&(d=d.substring(1)),(h||c)&&(d=d.substring(0,d.length-1));var v,g,y,m=null,x=null;if(n.parseMultDiv){var b=B(d);d=b.key,m=b.op,x=b.number}if(p){if(void 0===(v=e[d]))return""}else for(y=3;y=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;f.seedPseudoRandom=function(){V=2e9},f.pseudoRandom=function(){var t=V;return V=(69069*V+1)%4294967296,Math.abs(V-t)<429496729?f.pseudoRandom():V/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,"htx","hovertext");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,"tx","text");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},f.setTransormAndDisplay=function(t,e){t.attr("transform",f.getTextTransform(e)),t.style("display",e.scale?null:"none")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var H=f.getFirefoxVersion(),q=null!==H&&H<86;f.getPositionFromD3Event=function(){return q?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},41965:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},66636:function(t,e,r){"use strict";var n=r(65487),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},77310:function(t,e,r){"use strict";var n=r(39898);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},35657:function(t,e,r){"use strict";var n=r(79576);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},65487:function(t,e,r){"use strict";var n=r(92770),i=r(73627).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;la||u===i||us||e&&l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||la||u===i||us)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],y=r[0][1],m=0;for(c=1;cMath.max(f,g)||u>Math.max(h,y)))if(uc||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},79749:function(t,e,r){"use strict";var n=r(58617),i=r(98580);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},45142:function(t,e,r){"use strict";var n=r(92770),i=r(35791);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},75138:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function f(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,h=0,p=e.length,d=0,v=p>1?(e[p-1]-e[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,t+=v*s*(r?-1:1)*(v>=0?1:-1);h90&&i.log("Long binary search..."),h-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},78614:function(t,e,r){"use strict";var n=r(25075);t.exports=function(t){return t?n(t):[0,0,0,1]}},63893:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.strTranslate,o=r(77922),s=r(18783).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),P=n.select(t.node().parentNode);if(!P.empty()){var O=t.attr("class")?t.attr("class").split(" ")[0]:"text";return O+="-math",P.selectAll("svg."+O).remove(),P.selectAll("g."+O+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||"").split(".")[0]);if(2===h||3===h){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(c,"\\gt "))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:f},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){P.selectAll("svg."+O).remove(),P.selectAll("g."+O+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return I(),void e();var l=P.append("g").classed(O+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:O,height:c,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var f=t.node().style.fill||"black",h=s.select("g");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var y=+t.attr("x"),m=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===O[0])l.attr({transform:"rotate("+[-90,y,m]+")"+a(-d/2,x-v/2)});else if("l"===O[0])m=x-v/2;else if("a"===O[0]&&0!==O.indexOf("atitle"))y=0,m=x;else{var b=t.attr("text-anchor");y-=d*("middle"===b?.5:"end"===b?1:0),m=m+x-v/2}s.attr({x:y,y:m}),g&&g.call(t,l),e(l)}))}))):I(),t}function I(){P.empty()||(O=t.attr("class")+"-math",P.select("svg."+O).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var E=e.split(m),P=0;P|>|>)/g,f=[["$","$"],["\\(","\\)"]],h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},v="​",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;e.BR_TAG_ALL=//gi;var _=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i="...".length,a=t.split(m),o=[],s="",l=0,u=0;ui?o.push(c.substr(0,d-i)+"..."):o.push(c.substr(0,d));break}s=""}}return o.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function C(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function P(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=L,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(m),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},58163:function(t,e,r){"use strict";var n=r(92770);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},90973:function(t,e,r){"use strict";var n=t.exports={},i=r(78776).locationmodeToLayer,a=r(96892).zL;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},37815:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},92177:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{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"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},14458:function(t,e,r){"use strict";var n=r(73972);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(t);for(r=0;r3?(I.x=1.02,I.xanchor="left"):I.x<-2&&(I.x=-.02,I.xanchor="right"),I.y>3?(I.y=1.02,I.yanchor="bottom"):I.y<-2&&(I.y=-.02,I.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",f);var m=r[""][""];if(u(m))e.set(null);else{if(!Array.isArray(m))return a.warn("Unrecognized full array edit value",f,m),!0;e.set(m)}return!v&&(h(g,y),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(y,f).get(),P=[],O=-1,I=L.length;for(x=0;xL.length-(A?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(k)?P.push(_):A?("add"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===O&&(O=_);else for(b=0;b=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),v)return!1;if(h(g,y),d!==i){var D;if(-1===O)D=S;else{for(I=Math.max(L.length,I),D=[],x=0;x=O);x++)D.push(_);for(x=O;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),P(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&P(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function I(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in P(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=C(r,t.data.length-1),e)for(var v=0;v-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function U(t,e,r){t=o.getGraphDiv(t),_.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Y(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(w.layoutReplot):Object.keys(n).length&&(V(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(w.doLegend),a.layoutstyle&&s.push(w.layoutStyles),a.axrange&&H(s,i.rangesAltered),a.ticks&&s.push(w.doTicksRelayout),a.modebar&&s.push(w.doModeBar),a.camera&&s.push(w.doCamera),a.colorbars&&s.push(w.doColorBars),s.push(M)),s.push(h.rehover,h.redrag,h.reselect),u.add(t,U,[t,i.undoit],U,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function V(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var i in e)if("axrange"!==i&&e[i])return!1;for(var a in r.rangesAltered){var o=p.id2name(a),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var u in l._matchGroup)if(u!==a){var c=n[p.id2name(u)];c.autorange=l.autorange,c.range=l.range.slice(),c._input.range=l.range.slice()}}return!0}function H(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(m,w.doAutoRangeAndConstraints,r,w.drawData,w.finalDraw)}var q=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,G=/^[xyz]axis[0-9]*\.autorange$/,Z=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Y(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=F(l._preGUI,u),d=Object.keys(e),v=p.list(t),g=o.extendDeepAll({},e),y={};for(j(e),d=Object.keys(e),n=0;n0&&"string"!=typeof I.parts[z];)z--;var B=I.parts[z],N=I.parts[z-1]+"."+B,U=I.parts.slice(0,z).join("."),V=s(t.layout,U).get(),H=s(l,U).get(),Y=I.get();if(void 0!==D){M[O]=D,S[O]="reverse"===B?D:R(Y);var X=f.getLayoutValObject(l,I.parts);if(X&&X.impliedEdits&&null!==D)for(var J in X.impliedEdits)E(o.relativeAttr(O,J),X.impliedEdits[J]);if(-1!==["width","height"].indexOf(O))if(D){E("autosize",null);var K="height"===O?"width":"height";E(K,l[K])}else l[O]=t._initialAutoSize[O];else if("autosize"===O)E("width",D?null:l.width),E("height",D?null:l.height);else if(N.match(q))P(N),s(l,U+"._inputRange").set(null);else if(N.match(G)){P(N),s(l,U+"._inputRange").set(null);var $=s(l,U).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else N.match(Z)&&s(l,U+"._inputDomain").set(null);if("type"===B){L=V;var Q="linear"===H.type&&"log"===D,tt="log"===H.type&&"linear"===D;if(Q||tt){if(L&&L.range)if(H.autorange)Q&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];Q?(et<=0&&rt<=0&&E(U+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(U+".range[0]",Math.log(et)/Math.LN10),E(U+".range[1]",Math.log(rt)/Math.LN10)):(E(U+".range[0]",Math.pow(10,et)),E(U+".range[1]",Math.pow(10,rt)))}else E(U+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&"radialaxis"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,H,D,E),c.getComponentMethod("images","convertCoords")(t,H,D,E)}else E(U+".autorange",!0),E(U+".range",null);s(l,U+"._inputRange").set(null)}else if(B.match(k)){var nt=s(l,O).get(),it=(D||{}).type;it&&"-"!==it||(it="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,it,E),c.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=b.containerArrayMatch(O);if(at){r=at.array,n=at.index;var ot=at.property,st=X||{editType:"calc"};""!==n&&""===ot&&(b.isAddVal(D)?S[O]=null:b.isRemoveVal(D)?S[O]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),T.update(A,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=D,delete e[O]}else"reverse"===B?(V.range?V.range.reverse():(E(U+".autorange",!0),V.range=[1,0]),H.autorange?A.calc=!0:A.plot=!0):("dragmode"===O&&(!1===D&&!1!==Y||!1!==D&&!1===Y)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===O&&("lasso"===D||"select"===D)&&"lasso"!==Y&&"select"!==Y||l._has("gl2d")?A.plot=!0:X?T.update(A,X):A.calc=!0,I.set(D))}}for(r in y)b.applyContainerArrayChanges(t,h(a,r),y[r],A,h)||(A.plot=!0);for(var ut in C){var ct=(L=p.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in A.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}return(W(t)||e.height||e.width)&&(A.plot=!0),(A.plot||A.calc)&&(A.layoutReplot=!0),{flags:A,rangesAltered:C,undoit:S,redoit:M,eventData:g}}function W(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&h.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function X(t,r,n,i){t=o.getGraphDiv(t),_.clearPromiseQueue(t),o.isPlainObject(r)||(r={}),o.isPlainObject(n)||(n={}),Object.keys(r).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var a=_.coerceTraceIndices(t,i),s=N(t,o.extendFlat({},r),a),l=s.flags,c=Y(t,o.extendFlat({},n)),f=c.flags;(l.calc||f.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&_.clearAxisTypes(t,a,n);var p=[];f.layoutReplot?p.push(w.layoutReplot):l.fullReplot?p.push(e._doPlot):(p.push(h.previousPromises),V(t,f,c)||h.supplyDefaults(t),l.style&&p.push(w.doTraceStyle),(l.colorbars||f.colorbars)&&p.push(w.doColorBars),f.legend&&p.push(w.doLegend),f.layoutstyle&&p.push(w.layoutStyles),f.axrange&&H(p,c.rangesAltered),f.ticks&&p.push(w.doTicksRelayout),f.modebar&&p.push(w.doModeBar),f.camera&&p.push(w.doCamera),p.push(M)),p.push(h.rehover,h.redrag,h.reselect),u.add(t,X,[t,s.undoit,c.undoit,s.traces],X,[t,s.redoit,c.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then((function(){return t.emit("plotly_update",{data:s.eventData,layout:c.eventData}),t}))}function J(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var K=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center|fitbounds)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],$=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function Q(t,e){for(var r=0;r1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function et(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,c){function f(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,_.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,v=0;function g(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],m=null==e,x=Array.isArray(e);if(m||x||!o.isPlainObject(e)){if(m||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&TT)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var v=e[n].name,g=(c[v]||d[v]||{}).name,y=e[n].name,m=c[g]||d[g];g&&y&&"number"==typeof y&&m&&A<5&&(A++,o.warn('addFrames: overwriting frame "'+(c[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===A&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;c[i.name="frame "+t._transitionData._counter++];);if(c[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],p=[t,a];return u&&u.add(t,l,f,c,p),h.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=e.deleteTraces,f=t,h=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r=i&&(r._input||{})._templateitemname;o&&(a=i);var s,l=e+"["+a+"]";function u(){s={},o&&(s[l]={},s[l].templateitemname=o)}function c(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+"."+t]=e}function f(){var t=s;return u(),t}return u(),{modifyBase:function(t,e){s[t]=e},modifyItem:c,getUpdateObj:f,applyUpdate:function(e,r){e&&c(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},61549:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(74875),o=r(71828),s=r(63893),l=r(33306),u=r(7901),c=r(91424),f=r(92998),h=r(64168),p=r(89298),d=r(18783),v=r(99082),g=v.enforce,y=v.clean,m=r(71739).doAutoRange,x="start";function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function _(t){var r,i,s,l,f,v,g=t._fullLayout,y=g._size,m=y.p,x=p.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),h.manage(t),!g._has("cartesian"))return a.previousPromises(t);function _(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-m-n:e._offset+e._length+m+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+m+n:e._offset-m-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?"t":"b",o=t._fullLayout.margin[a],s=0;return"paper"===e.yref?s=r+e.pad.t+e.pad.b:"container"===e.yref&&(s=function(t,e,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===t?("top"===r&&(a+=i),a+=n-e*n):("bottom"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,r,g);y>0&&(function(t,e,r,n){var i="title.automargin",s=t._fullLayout.title,l=s.y>.5?"t":"b",u={x:s.x,y:s.y,t:0,b:0},c={};"paper"===s.yref&&function(t,e,r,n,i){var a="paper"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l="b"===r?a-s:s;return!(o.isTopAnchor(e)&&"t"===r||o.isBottomAnchor(e)&&"b"===r)&&lT?c.push({code:"unused",traceType:m,templateCount:w,dataCount:T}):T>w&&c.push({code:"reused",traceType:m,templateCount:w,dataCount:T})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=v(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},""),c.length)return c.map(y)}},403:function(t,e,r){"use strict";var n=r(92770),i=r(72391),a=r(74875),o=r(71828),s=r(25095),l=r(5900),u=r(70942),c=r(11506).version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(t,e){var r,h,p,d;function v(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!v("width")&&null!==e.width||!v("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!v("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,f,t,r)}var m=y("format"),x=y("width"),b=y("height"),_=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,m,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===m){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===m)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),u({format:m,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},84936:function(t,e,r){"use strict";var n=r(71828),i=r(74875),a=r(86281),o=r(72075).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(d("unused",a,y.concat(x.length)));var A,M,S,E,L,C=x.length,P=Array.isArray(k);if(P&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(d("unused",a,y.concat(M,x[M].length)));var O=x[M].length;for(A=0;A<(P?Math.min(O,k[M].length):O);A++)S=P?k[M][A]:k,E=m[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(d("dynamic",a,y.concat(M,A),E,L)):i.push(d("value",a,y.concat(M,A),E))}else i.push(d("array",a,y.concat(M),m[M]));else for(M=0;M1&&p.push(d("object","layout"))),i.supplyDefaults(v);for(var g=v._fullData,y=r.length,m=0;m0&&Math.round(f)===f))return{vals:i};u=f}for(var h=e.calendar,p="start"===l,d="end"===l,v=t[r+"period0"],g=a(v,h)||0,y=[],m=[],x=[],b=i.length,_=0;_A;)k=o(k,-u,h);for(;k<=A;)k=o(k,u,h);T=o(k,-u,h)}else{for(k=g+(w=Math.round((A-g)/c))*c;k>A;)k-=c;for(;k<=A;)k+=c;T=k-c}y[_]=p?T:d?k:(T+k)/2,m[_]=T,x[_]=k}return{vals:y,starts:m,ends:x}}},89502:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},71739:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(71828),o=r(50606).FP_SAFE,s=r(73972),l=r(91424),u=r(41675),c=u.getFromId,f=u.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),u=v(t,e),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=c[0].val,g=f[0].val;for(r=1;r0&&((T=E-s(x)-l(b))>L?k/T>C&&(_=x,w=b,C=k/T):k/E>C&&(_={val:x.val,nopad:1},w={val:b.val,nopad:1},C=k/E));if(h===g){var P=h-1,O=h+1;if(M)if(0===h)i=[0,1];else{var I=(h>0?f:c).reduce((function(t,e){return Math.max(t,l(e))}),0),D=h/(1-Math.min(.5,I/E));i=h>0?[0,D]:[D,0]}else i=S?[Math.max(0,P),Math.max(1,O)]:[P,O]}else M?(_.val>=0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:0,nopad:1})):S&&(_.val-C*s(_)<0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:1,nopad:1})),C=(w.val-_.val-p(e,x.val,b.val))/(E-s(_)-l(w)),i=[_.val-C*s(_),w.val+C*l(w)];return y&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function x(t){return i(t)&&Math.abs(t)=e}t.exports={getAutoRange:h,makePadFn:d,doAutoRange:function(t,e,r){if(e.setScale(),e.autorange){e.range=r?r.slice():h(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var n=e._input,i={};i[e._attr+".range"]=e.range,i[e._attr+".autorange"]=e.autorange,s.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,i),n.range=e.range.slice(),n.autorange=e.autorange}var o=e._anchorAxis;if(o&&o.rangeslider){var l=o.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=h(t,e)),o._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={}),t._m||t.setScale();var n,a,s,l,u,c,f,h,p,d=[],v=[],m=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,T=!1,k=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return T=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=O;n--)P(n);return{min:d,max:v,opts:r}},concatExtremes:v}},89298:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(74875),o=r(73972),s=r(71828),l=s.strTranslate,u=r(63893),c=r(92998),f=r(7901),h=r(91424),p=r(13838),d=r(66287),v=r(50606),g=v.ONEMAXYEAR,y=v.ONEAVGYEAR,m=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,T=v.ONEAVGMONTH,k=v.ONEMINMONTH,A=v.ONEWEEK,M=v.ONEDAY,S=M/2,E=v.ONEHOUR,L=v.ONEMIN,C=v.ONESEC,P=v.MINUS_SIGN,O=v.BADNUM,I={K:"zeroline"},D={K:"gridline",L:"path"},z={K:"minor-gridline",L:"path"},R={K:"tick",L:"path"},F={K:"tick",L:"text"},B={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},N=r(18783),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,H=N.OPPOSITE_SIDE,q=t.exports={};q.setConvert=r(21994);var G=r(4322),Z=r(41675),Y=Z.idSort,W=Z.isLinked;q.id2name=Z.id2name,q.name2id=Z.name2id,q.cleanId=Z.cleanId,q.list=Z.list,q.listIds=Z.listIds,q.getFromId=Z.getFromId,q.getFromTrace=Z.getFromTrace;var X=r(71739);function J(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}q.getAutoRange=X.getAutoRange,q.findExtremes=X.findExtremes,q.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},q.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},q.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==q.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=q.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},q.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:q.getFromId(e,r).cleanPos)(t)},q.redrawComponents=function(t,e){e=e||q.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;cr&&f2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},q.saveRangeInitial=function(t,e){for(var r=q.list(t,"",!0),n=!1,i=0;i.3*h||c(n)||c(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=q.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=q.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=q.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,y,u,a)),g=m;g<=c;)g=q.tickIncrement(g,y,!1,a);return{start:e.c2r(m,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:c-u}},q.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=q.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,q.prepTicks(t,r),a){var u=i(e.dtick),c=i(t.dtick),f=u?e.dtick:+e.dtick.substring(1),h=c?t.dtick:+t.dtick.substring(1);u&&c?tt(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?et(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:"M"===String(e.dtick).charAt(0)?c?t.dtick="M1":tt(f,h)?f>=12&&2===h&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?tt(f,h)||(t.dtick=et(f/h,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},q.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,q.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=q.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick=(I?0:1);D--){var z=!D;D?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=D?t:s.extendFlat({},t,t.minor);if(z?q.prepMinorTicks(R,t,e):q.prepTicks(R,e),"array"!==R.tickmode)if("sync"!==R.tickmode){var F=J(c),B=F[0],N=F[1],j=i(R.dtick),U="log"===a&&!(j||"L"===R.dtick.charAt(0)),V=q.tickFirst(R,e);if(D){if(t._tmin=V,V=N:Y<=N;Y=q.tickIncrement(Y,W,f,o)){if(D&&H++,R.rangebreaks&&!f){if(Y=p)break}if(C.length>d||Y===Z)break;Z=Y;var X={value:Y};D?(U&&Y!==(0|Y)&&(X.simpleLabel=!0),l>1&&H%l&&(X.skipLabel=!0),C.push(X)):(X.minor=!0,P.push(X))}}else C=[],v=it(t);else D?(C=[],v=at(t)):(P=[],L=at(t))}if(I&&!("inside"===t.minor.ticks&&"outside"===t.ticks||"outside"===t.minor.ticks&&"inside"===t.ticks)){for(var K=C.map((function(t){return t.value})),$=[],Q=0;Q0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=m?h=c>=m&&c<=g?c:y:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=k?h=c>=k&&c<=w?c:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var L=(v+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==O&&d++}(h*=d/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var ot="y"===t._id.charAt(0),st=1;"auto"===t.tickmode&&(st=t.tickfont?t.tickfont.size:12);var lt=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=Dt(C[r].value,t);var ut=t.c2p(C[r].value);(ot?lt>ut-st:ltp||ftp&&(ct.periodX=p),ft10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=L&&a<=16||e>=E)t._tickround="M";else if(e>=C&&a<=19||e>=L)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(yt(t.exponentformat)&&!mt(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function vt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}q.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*pt(e,n,ot);else if(o>T)e/=T,t.dtick="M"+pt(e,1,st);else if(o>M){if(t.dtick=pt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ut),!r){var l=q.getTickFormat(t),u="period"===t.ticklabelmode;u&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),u&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=pt(e,E,st):o>L?t.dtick=pt(e,L,lt):o>C?t.dtick=pt(e,C,lt):(n=a(10),t.dtick=pt(e,n,ot))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),t.dtick="L"+pt(e,n,ot)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):It(t)?(t.tick0=0,n=1,t.dtick=pt(e,n,ht)):(t.tick0=0,n=a(10),t.dtick=pt(e,n,ot));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(h)}},q.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,a);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?ft:ct,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},q.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1] ")}else t._prevDateHead=l,u+="
"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==c&&(o="L3",c="L"),u||"L"===c)e.text=xt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||yt(p)&&mt(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":P)+h+"",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":P)+h:(e.text=xt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,u,v):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):It(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=xt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=xt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["",o[0],"","⁄","",o[1],"","π"].join(""),l&&(e.text=P+e.text)}}}}(t,o,r,u,v):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=xt(e.x,t,i,n)}(t,o,0,u,v),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var g=t.labelalias[o.text];"string"==typeof g&&(o.text=g)}if("boundaries"===t.tickson||t.showdividers){var y=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[y(o.x-.5),y(o.x+t.dtick-.5)]}return o},q.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=Array.isArray(e)?e[0]:e,i=Array.isArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return q.hoverLabelText(t,n,r)+" - "+q.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=q.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":P+o:o};var gt=["f","p","n","μ","m","","k","M","G","T"];function yt(t){return"SI"===t||"B"===t}function mt(t){return t>14||t<-15}function xt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=q.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};dt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,P);var p,d=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))"+p+"":"B"===l&&9===u?t+="B":yt(l)&&(t+=gt[u/3+5])),a?P+t:t}function bt(t,e){if(t){var r=Object.keys(B).reduce((function(t,r){return-1!==e.indexOf(r)&&B[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function _t(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(i)))){r=n;break}break;case"log":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=q.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=q.drawOne(t,n,r);return n._shiftPusher&&Ft(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},q.drawOne=function(t,e,r){var n,i,l,u=(r=r||{}).axShifts||{},p=r.overlayingShiftedAx||[];e.setScale();var d=t._fullLayout,v=e._id,g=v.charAt(0),y=q.counterLetter(v),m=d._plots[e._mainSubplot];if(m){if(e._shiftPusher=e.autoshift||-1!==p.indexOf(e._id)||-1!==p.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var x=e.linewidth/2||0;"inside"===e.ticks&&(x+=e.ticklen),Ft(e,x,u,!0),Ft(e,e.shift||0,u,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,u));var b=m[g+"axislayer"],_=e._mainLinePosition,w=_+=e._shift,T=e._mainMirrorPosition,k=e._vals=q.calcTicks(e),A=[e.mirror,w,T].join("_");for(n=0;n0?r.bottom-c:0,f))));var h=0,p=0;if(e._shiftPusher&&(h=Math.max(f,r.height>0?"l"===l?c-r.left:r.right-c:0),e.title.text!==d._dfltTitle[g]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=kt(e))),e._fullDepth=Math.max(h,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var v=[0,1],m="number"==typeof e._shift?e._shift:0;if("x"===g){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?c-r.top:0,f),v.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var b=e._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if("l"===l?(e._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=e._depth-m):(e._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=e._depth+m,v.reverse()),r.height>0){var _=r.bottom-(e._offset+e._length);_>0&&(n.yb=0,n.b=_);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[y]="free"===e.anchor?e.position:e._anchorAxis.domain[v[0]],e.title.text!==d._dfltTitle[g]&&(n[l]+=kt(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=f),!0===e.mirror||"ticks"===e.mirror?i[y]=e._anchorAxis.domain[v[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[y]=[e._counterDomainMin,e._counterDomainMax][v[1]]))}lt&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(bt(n,e.automargin),bt(i,e.automargin)),a.autoMargin(t,St(e),n),a.autoMargin(t,Et(e),i),a.autoMargin(t,Lt(e),s)})),s.syncOrAsync(ot)}}function ut(t){var r=v+(t||"tick");return M[r]||(M[r]=function(t,e){var r,n,i,a;return t._selections[e].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,t._selections[e].each((function(){var t=Mt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),i=Math.min(i,e.left),a=Math.max(a,e.right)}))):(r=0,n=0,i=0,a=0),{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(e,r)),M[r]}},q.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},q.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},q.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;return(o||n)&&(c+=h*U,f+=(t.linewidth||0)/2),(i||a)&&(c+=(t.linewidth||0)/2,f+=3),s&&"top"===u&&(f-=h*(1-U)),(i||n)&&(c=-c),"bottom"!==u&&"right"!==u||(f=-f),[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(wt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(wt(e)))}},q.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},q.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),u=a("right"),c=a("bottom")||l||o||u,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,v=h?t.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var y,m,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),y=d*b,m=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=j:x=-90===M&&"bottom"===k?U:90===M&&"top"===k?j:.5,T=j/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*x},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),y=p,m=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?U:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*j},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},q.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,Tt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Rt(e,[R]),o.attr("transform",r.transFn)},q.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&q.shouldShowZeroLine(t,e,l))for(var u="array"===e.tickmode,c=0;c=0;y--){var m=y?v:g;if(m){var x=m.selectAll("path."+i).data(y?s:o,Tt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Rt(e,[D,z])}},q.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=q.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return Y(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Rt(e,[I])},q.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,c=o.charAt(0),f=r.cls||o+"tick",p=r.vals.filter((function(t){return t.text})),d=r.labelFns,v=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[f],y=r.layer.selectAll("g."+f).data(e.showticklabels?p:[],Tt),m=[];function x(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),c=d.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+d.xFn(t)+","+(d.yFn(t)-t.fontSize/2)+")":""),p=u.lineCount(o),v=V*t.fontSize,g=d.heightFn(t,i(a)?+a:0,(p-1)*v);if(g&&(f+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":c}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var m=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr("transform",f+l(m,0))}}))}y.enter().append("g").classed(f,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(u.positionText,d.xFn(e),d.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(u.convertToTspans,t),t._promises[i]?m.push(t._promises.pop().then((function(){x(r,v)}))):x(r,v)})),Rt(e,[F]),y.exit().remove(),r.repositionOnUpdate&&y.each((function(t){n.select(this).select("text").call(u.positionText,d.xFn(t),d.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,u=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var c=s.simpleMap(e.range,e.r2l);l=e.l2p(c[0])+e._offset,u=e.l2p(c[1])+e._offset}var f=Math.min(l,u),p=Math.max(l,u),d=e.side,v=1/0,g=-1/0;for(var m in y.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},x(y,g+1?g:v);var b=null;e._selections&&(e._selections[f]=y);var _=[function(){return m.length&&Promise.all(m)}];e.automargin&&a._redrawFromAutoMarginCount&&90===g?(b=90,_.push((function(){x(y,g)}))):_.push((function(){if(x(y,v),p.length&&"x"===c&&!i(v)&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){b=0;var t,n=0,a=[];if(y.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),i=Mt(this),o=h.bBox(i.node());a.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),"boundaries"!==e.tickson&&!e.showdividers||r.secondary){var o=p.length,l=Math.abs((p[o-1].x-p[0].x)*e._m)/(o-1),u=e.ticklabelposition||"",f=function(t){return-1!==u.indexOf(t)},d=f("top"),g=f("left"),m=f("right"),_=f("bottom")||g||d||m?(e.tickwidth||0)+6:0,w=l<2.5*n||"multicategory"===e.type||"realaxis"===e._name;for(t=0;t1)for(n=1;n2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n=2){var s,u,c="";if(2===o.length)for(s=0;s<2;s++)if(u=b(o[s])){c=g;break}var f=i("pattern",c);if(f===g)for(s=0;s<2;s++)(u=b(o[s]))&&(e.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case g:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=u;break;case y:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},15258:function(t){"use strict";t.exports=function(t,e,r,n){if("category"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i="array");var s,l=r("categoryorder",i);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;ou*x)||T)for(r=0;rI&&FP&&(P=F);h/=(P-C)/(2*O),C=l.l2r(C),P=l.l2r(P),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",u(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:f.background,stroke:f.defaultLine,"stroke-width":1,opacity:0}).attr("transform",u(e,r)).attr("d","M0,0Z")}function U(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function H(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function q(t){O&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),O=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,P)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function Z(t,e,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(H(i),2!==t||yt||qt(),gt)o.indexOf("select")>-1&&S(r,i,J,K,e.id,Pt),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=v?I:O,u="s"===v||"w"===y?0:1,f=s._name+".range["+u+"]",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,u),d="left",g="middle";if(s.fixedrange)return;v?(g="n"===v?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,f,e)}))}}}function Dt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr("d","M0,0Z")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>P||o>P?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>P||o>P){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),u=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=u*tt,Tt.b=(1-l)*et,Tt.t=(1-u)*et,Lt.attr("d",G(Tt))}else s();else!at||o0){var c;if(nt.isSubplotConstrained||!it&&1===at.length){for(c=0;cb[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},89426:function(t,e,r){"use strict";var n=r(59652);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},42449:function(t,e,r){"use strict";var n=r(18783).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},21994:function(t,e,r){"use strict";var n=r(39898),i=r(84096).g0,a=r(71828),o=a.numberFormat,s=r(92770),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(50606),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,m=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(41675),T=r(85555),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=c(e,n||t.calendar);if(o===v){if(!s(e))return v;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),u=Math.round(e-l/10);o=c(new Date(u))+l/10}return o}function C(e,r,n){return u(e,r,n||t.calendar)}function P(e){return t._categories[Math.round(e)]}function O(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return v}function I(e){if(t._categoriesMap)return t._categoriesMap[e]}function D(t){var e=I(t);return void 0!==e?e:s(t)?+t:void 0}function z(t){return s(t)?+t:I(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):v},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return v;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lc)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:f,t.l2c="log"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,v,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=O,t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:f(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=I,t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;id&&(o[n]=d),o[0]===o[1]){var u=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=u,o[1]+=u}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f="y"===p;if(f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),v=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var m=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=m[1]-m[0],_=x[1]-x[0];p[1]=(m[1]*(1-r)+r*x[1]-m[1])/(m[0]-m[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(m[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(m[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/p[2]:1,T=h?c/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},951:function(t,e,r){"use strict";var n=r(73972).traceIs,i=r(4322);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(u)if("histogram"!==u.type||l!=={v:"y",h:"x"}[u.orientation||"v"]){var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};if("box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0),h.autotypenumbers=t.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=["center","rotate","parallels","clipExtent"],h=function(t){return t?l:[]},p=0;pc*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),c&&l.clipAngle(c-w.clipPad),l}(n),m=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=m[1][0]-m[0][0],v._length=m[1][1]-m[0][1],d.range=g(r,d),v.range=g(r,v);var k=(d.range[0]+d.range[1])/2,A=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}y.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);y.fitExtent(m,C);var P=this.bounds=y.getBounds(C),O=this.fitScale=y.scale(),I=y.translate();if(n.fitbounds){var D=y.getBounds(E(d.range,v.range)),z=Math.min((P[1][0]-P[0][0])/(D[1][0]-D[0][0]),(P[1][1]-P[0][1])/(D[1][1]-D[0][1]));isFinite(z)?y.scale(z*O):u.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(f.scale*O);var R=this.midPt=[(P[0][0]+P[1][0])/2,(P[0][1]+P[1][1])/2];if(y.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(P),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function u(t){return Boolean(w.fillLayers[t])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||u(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(c,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):u(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);e.isScoped||"lonaxis"!==t||u.pop();for(var c=u.length,f=new Array(c),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf("event")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(h.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},v.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},u.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?c(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},44622:function(t,e,r){"use strict";var n=r(27659).AU,i=r(71828).counterRegex,a=r(69082),o="geo",s=i(o),l={};l.geo={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(77519),supplyLayoutDefaults:r(82161),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.geo,s=0;s0&&P<0&&(P+=360);var O,I,D,z=(C+P)/2;if(!p){var R=d?f.projRotate:[z,0,0];O=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(I=-96.6,D=38.7):(I=d?z:O,D=(L[0]+L[1])/2),r("center.lon",I),r("center.lat",D),v&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",f.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==c&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===c||"north america"===c&&50===u)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:u,fullData:r,partition:"y"})}},74455:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(73972),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},u={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,u._preGUI,f);var r=i.nestedProperty(c,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(u),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,v,g=c(0,e);function y(t){return e.invert(t)}function m(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),v=!0,t.render(!0);var l=e.rotate(),u=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":u[0],"geo.center.lat":u[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(u),v&&f(t,e,m)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=c(0,e),o=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,g=(Math.atan2(h,c)-Math.atan2(u,i))*s,y=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return b(r[0],r[1],a,g)<=b(r[0],r[1],v,y)?[a,g,r[2]]:[v,y,r[2]]}function b(t,e,r,n){var i=_(r-t),a=_(n-e);return Math.sqrt(i*i+a*a)}function _(t){return(t%360+540)%360-180}function w(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=t[a]*l-t[s]*u,i[s]=t[s]*l+t[a]*u,i}function T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case"pan":u.boxEnabled=!1,u.boxInited=!1,e?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:c,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},65500:function(t,e,r){"use strict";var n=r(77894),i=r(27670).Y,a=r(1426).extendFlat,o=r(71828).counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},13133:function(t,e,r){"use strict";var n=r(78614),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},96085:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d/g," "));l[u]=p,c.tickmode=f}}for(e.ticks=l,u=0;u<3;++u)for(o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),d=0;d<2;++d)e.bounds[d][u]=t.glplot.bounds[d][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},w.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,h=e.glplot.selection,v=0;v")):"isosurface"===t.type||"volume"===t.type?(T.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),S.push("value: "+T.valueLabel),h.textLabel&&S.push(h.textLabel),x=S.join("
")):x=h.textLabel;var E={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:w};d.appendArrayPointValue(E,_,w),t._module.eventData&&(E=_._module.eventData(E,h,_,{},w));var L={points:[E]};if(e.fullSceneLayout.hovermode){var C=[];d.loneHover({trace:_,x:(.5+.5*m[0]/m[3])*s,y:(.5-.5*m[1]/m[3])*l,xLabel:T.xLabel,yLabel:T.yLabel,zLabel:T.zLabel,text:x,name:c.name,color:d.castHoverOption(_,w,"bgcolor")||c.color,borderColor:d.castHoverOption(_,w,"bordercolor"),fontFamily:d.castHoverOption(_,w,"font.family"),fontSize:d.castHoverOption(_,w,"font.size"),fontColor:d.castHoverOption(_,w,"font.color"),nameLength:d.castHoverOption(_,w,"namelength"),textAlign:d.castHoverOption(_,w,"align"),hovertemplate:f.castOption(_,w,"hovertemplate"),hovertemplateLabels:f.extendFlat({},E,T),eventData:[E]},{container:n,gd:r,inOut_bbox:C}),E.bbox=C[0]}h.buttons&&h.distance<5?r.emit("plotly_click",L):r.emit("plotly_hover",L),this.oldEventData=L}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},w.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var k=["xaxis","yaxis","zaxis"];function A(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=k[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var C=y[1][o]-y[0][o];y[0][o]-=C/32,y[1][o]+=C/32}if("reversed"===l.autorange){var P=y[0][o];y[0][o]=y[1][o],y[1][o]=P}}else{var O=l.range;y[0][o]=l.r2l(O[0]),y[1][o]=l.r2l(O[1])}y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),m[o]=y[1][o]-y[0][o],n.glplot.setBounds(o,{min:y[0][o]*p[o],max:y[1][o]*p[o]})}var I=c.aspectmode;if("cube"===I)g=[1,1,1];else if("manual"===I){var D=c.aspectratio;g=[D.x,D.y,D.z]}else{if("auto"!==I&&"data"!==I)throw new Error("scene.js aspectRatio was not one of the enumerated types");var z=[1,1,1];for(o=0;o<3;++o){var R=x[u=(l=c[k[o]]).type];z[o]=Math.pow(R.acc,1/R.count)/p[o]}g="data"===I||Math.max.apply(null,z)/Math.min.apply(null,z)<=4?z:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var F=c.domain||null,B=e._size||null;if(F&&B){var N=n.container.style;N.position="absolute",N.left=B.l+F.x[0]*B.w+"px",N.top=B.t+(1-F.y[1])*B.h+"px",N.width=B.w*(F.x[1]-F.x[0])+"px",N.height=B.h*(F.y[1]-F.y[0])+"px"}n.glplot.redraw()}},w.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},w.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},w.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},w.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(t),h=s.isAspectChanged(t),p=u||h;if(p){var d={};u&&(e=s.getCamera(),n=(r=f.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,l._preGUI,d),u&&(r.set(e),f.nestedProperty(l,s.id+".camera").set(e)),h&&(a.set(i),f.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},w.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call("_storeDirectGUIEdit",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},w.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,u=s.getContext("2d",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},w.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=_},90060:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap
contributors',a=['© Carto',i].join(" "),o=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),s={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:i,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}]},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}]},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}]},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}]},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:o,tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}]},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:o,tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}]},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}]}},l=n(s);t.exports={requiredVersion:"1.10.1",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:s,styleValuesNonMapbox:l,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@1.10.1."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",l.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},13056:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s}return{anchor:u[0]&&u[1]?u.join("-"):u[0]?u[0]:u[1]?u[1]:"center",offset:c}}},50101:function(t,e,r){"use strict";var n=r(44517),i=r(71828),a=i.strTranslate,o=i.strScale,s=r(27659).AU,l=r(77922),u=r(39898),c=r(91424),f=r(63893),h=r(10481),p="mapbox",d=e.constants=r(77734);function v(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p),e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(23585),e.supplyLayoutDefaults=r(77882),e.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.mapbox;if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;l_/2){var w=y.split("|").join("
");x.text(w).attr("data-unformatted",w).call(f.convertToTspans,t),b=c.bBox(x.node())}x.attr("transform",a(-3,8-b.height)),m.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var T=1;b.width+6>_&&(T=_/(b.width+6));var k=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];m.attr("transform",a(k[0],k[1])+o(T))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n0){for(var r=0;r0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=u(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,u(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&u.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(u)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){_.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},_.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=_.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var k=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],A=["year","month","dayMonth","dayMonthYear"];function M(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&D.length>1){for(s.getComponentMethod("grid","sizeDefaults")(u,l),o=0;o15&&D.length>15&&0===l.shapes.length&&0===l.images.length,_.linkSubplots(h,l,f,n),_.cleanPlot(h,l,f,n);var N=!(!n._has||!n._has("gl2d")),j=!(!l._has||!l._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!l._has||!l._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&d({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=_.layoutAttributes.width.min,p=_.layoutAttributes.height.min;n1,v=!e.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),_.sanitizeMargins(r)},_.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,l=s.componentsRegistry,u=e._basePlotModules,f=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has("cartesian")&&(s.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(c.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var m=(r.t+r.b)/p;m>1&&(r.t/=m,r.b/=m)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,w=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:T,size:r.b+g},t:{val:w,size:r.t+g}},v[e]=1}else delete d[e],delete v[e];if(!n._replotting)return _.doAutoMargin(t)}},_.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),P(e);var i=e._size,a=e.margin,l={t:0,b:0,l:0,r:0},u=c.extendFlat({},i),f=t._fullLayout._reservedMargin;for(var h in f)for(var d in f[h]){var v=f[h][d];l[d]=Math.max(l[d],v)}var g=a.l,y=a.r,m=a.t,x=a.b,b=e._pushmargin,w=e._pushmarginIds,T=e.minreducedwidth,k=e.minreducedheight;if(!1!==e.margin.autoexpand){for(var A in b)w[A]||delete b[A];for(var M in b.base={l:{val:0,size:g},r:{val:1,size:y},t:{val:1,size:m},b:{val:0,size:x}},b){var S=b[M].l||{},E=b[M].b||{},L=S.val,C=S.size,O=E.val,I=E.size,D=r-l.r-l.l,z=n-l.t-l.b;for(var R in b){if(o(C)&&b[R].r){var F=b[R].r.val,B=b[R].r.size;if(F>L){var N=(C*F+(B-D)*L)/(F-L),j=(B*(1-L)+(C-D)*(1-F))/(F-L);N+j>g+y&&(g=N,y=j)}}if(o(I)&&b[R].t){var U=b[R].t.val,V=b[R].t.size;if(U>O){var H=(I*U+(V-z)*O)/(U-O),q=(V*(1-O)+(I-z)*(1-U))/(U-O);H+q>x+m&&(x=H,m=q)}}}}}var G=c.constrain(r-a.l-a.r,2,T),Z=c.constrain(n-a.t-a.b,2,k),Y=Math.max(0,r-G),W=Math.max(0,n-Z);if(Y){var X=(g+y)/Y;X>1&&(g/=X,y/=X)}if(W){var J=(x+m)/W;J>1&&(x/=J,m/=J)}if(i.l=Math.round(g)+l.l,i.r=Math.round(y)+l.r,i.t=Math.round(m)+l.t,i.b=Math.round(x)+l.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(_.didMarginChange(u,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=p.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var K=3*(1+Object.keys(w).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return s.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function l(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(l),setTimeout(l())}))}],a=c.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}_.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},_.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&_.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function u(t,e){if("function"==typeof t)return e?"_function_":null;if(c.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!c.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=u(t[a],e)}else e&&(i[a]="_function")})),i}return Array.isArray(t)?t.map((function(t){return u(t,e)})):c.isTypedArray(t)?c.simpleMap(t,c.identity):c.isJSDate(t)?c.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=u(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return l&&(f.frames=u(l)),a&&(f.config=u(t._context,!0)),"object"===n?f:JSON.stringify(f)},_.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:h,y:h}]),o[0].t||(o[0].t={}),o[0].trace=r,d[e]=o}}for(z(o,u,f),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:u,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,e*u+i+n],[c,e*c+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(c(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),_=b[2]-b[0],w=b[3]-b[1],T=p/h,k=Math.abs(w/_);T>k?(v=h,x=(p-(g=h*k))/i.h/2,y=[s[0],s[1]],m=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/k))/i.w/2,y=[s[0]+x,s[1]-x],m=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=y,r.yDomain2=m;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-m[1]),E=r.radius=v/_,L=r.innerRadius=r.getHole(e)*E,C=r.cx=M-E*b[0],P=r.cy=S+E*b[3],O=r.cxx=C-M,I=r.cyy=P-S,D=a.side;"counterclockwise"===D?(A=D,D="top"):"clockwise"===D&&(A=D,D="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:D,_trueSide:A,domain:[L/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:m});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(O,I)),n.frontplot.attr("transform",l(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(C,P)).call(u.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);v(n,i);var o=i.range;a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")]},N.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getRadial(e),v=z(r.getSector(e)[0],360),g=r.radialAxis,y=c90&&v<=270&&(g.tickangle=180);var x=m?function(t){var e=I(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+c,0)},b=m?function(t){return O(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,T=m?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=m?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];m&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:m?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:m?-a:c,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),u=n.id+"title",f=0;if(l.title){var h=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;f="top"===d?p:"counterclockwise"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),y=Math.cos(g),m=Math.sin(g),b=o+a/2*y+f*m,_=s-a/2*m+f*y;n.layers["radial-axis-title"]=x.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:D(i,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-v}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),v.setGeometry(),v.setScale());var y=g?function(t){var e=I(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return v.t2g(t.x)};"linear"===v.type&&"radians"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var m=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=I(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return m(y(t))},b=g?function(t){var e=I(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return m(e)+s(-F(e))},_=g?function(t){return P(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+c*r,p-c*n]+"L"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+v._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(v.tickvals||[]).map((function(t){return h.tickText(v,t,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===v.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),v.visible){var E="inside"===v.ticks?-1:1,L=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i["angular-axis"],path:"M"+E*L+",0h"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i["angular-grid"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,P=s.radialAxis,O=E.clampTiny,I=E.findXYatLength,D=E.findEnclosingVertexAngles,z=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){m.hover(c,t,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){c._dragging||y.unhover(c,t)};var B,N,j,U,V,H,q,G,Z,Y={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function W(t,e){return Math.sqrt(t*t+e*e)}function X(t,e){return W(t-A,e-M)}function J(t,e){return Math.atan2(M-e,t-A)}function K(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function $(t,e){if(0===t)return s.pathSector(2*z);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,v)),o=a-z,l=a+z;return"M"+K(o,n)+"A"+[o,o]+" 0,0,0 "+K(o,i)+"L"+K(l,i)+"A"+[l,l]+" 0,0,1 "+K(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*z);var n,i,a=K(t,e),o=K(t,r),l=O((a[0]+o[0])/2),u=O((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(z,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=z):(p=z,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,v),x),tp?(t-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf("event")>-1&&m.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var y=E.findPolygonOffset(v,L[0],L[1],C);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":Y.clickFn=st,u||(Y.moveFn=C?it:rt,Y.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),H=!1;var t=c._fullLayout[s.id];q=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,q,T,k,V)).attr("fill-rule","evenodd"),Z=g.makeCorners(h,T,k),w(c)}());break;case"select":case"lasso":b(t,n,a,Y,l)}},y.init(Y)},N.updateRadialDrag=function(t,e,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,m=S.radialDragBoxSize,x=m/2;if(v.visible){var b,_,T,M=R(i.radialAxisAngle),E=v._rl,L=E[0],C=E[1],P=E[r],O=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T="radialdrag"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T="radialdrag-inner");var I,D,z,B=g.makeRectDragger(c,T,"crosshair",-x,-x,m,m),N={element:B,gd:u};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h0==(r?z>L:zn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,u=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],u=s[1],c=n(t,r([o,e])),f=c[0],h=c[1];if(0===e)return["M"+l+","+u,"L"+f+","+h].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+u,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+f+","+h].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),u=n(t,r([a,o])),c=u[0],f=u[1],h=n(t,r([a,s])),p=h[0],d=h[1];if(e(o)!==e(s)){var v=n(t,r([a,0]));return["M"+c+","+f,"A"+l+","+l+" 0 0,"+(00){for(var n=[],i=0;i=c&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function v(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,v=e._name.charAt(0).toUpperCase(),g="Component "+v,y=o("title.text",g);e._hovertitle=y===g?y:v,a.coerceFont(o,"title.font",{family:r.font.family,size:a.bigFont(r.font.size),color:d}),o("min"),c(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear"),u(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:d}),o("tickangle"),o("tickformat")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},64380:function(t,e,r){"use strict";var n=r(39898),i=r(84267),a=r(73972),o=r(71828),s=o.strTranslate,l=o._,u=r(7901),c=r(91424),f=r(21994),h=r(1426).extendFlat,p=r(74875),d=r(89298),v=r(28569),g=r(30211),y=r(64505),m=y.freeMode,x=y.rectMode,b=r(92998),_=r(47322).prepSelect,w=r(47322).selectOnClick,T=r(47322).clearOutline,k=r(47322).clearSelectionsCache,A=r(85555);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*b?i=(a=b)*E:a=(i=x)/E,o=y*i/x,l=m*a/b,r=e.l+e.w*v-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[v-o/2,v+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",C),p.layers.plotbg.select("path").attr("d",C);var P="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",P);var O=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",O),p.clipDefRelative.select("path").attr("transform",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr("transform",I),p.layers.bgrid.attr("transform",I);var D=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",D),p.layers.agrid.attr("transform",D);var z=s(r+i/2,n)+"rotate(-30)"+s(0,-L._offset);p.layers.caxis.attr("transform",z),p.layers.cgrid.attr("transform",z),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(u.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(u.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",L.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(u.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=b.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-u,"text-anchor":"middle"}}),i["b-title"]=b.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-c,y:e.y0+e.h+.83*o.title.font.size+c,"text-anchor":"middle"}}),i["c-title"]=b.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+c,y:e.y0+e.h+.83*s.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],u=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[u]!==c&&(l.selectAll("."+s+"tick").remove(),r[u]=c),t.setScale();var f=d.calcTicks(t),h=d.clipEnds(t,f),p=d.makeTransTickFn(t),v=d.getTickSigns(t)[2],g=o.deg2rad(30),y=v*(t.linewidth||1)/2,m=v*t.ticklen,x=r.w,b=r.h,_="b"===a?"M0,"+y+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+y+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,w={a:"M0,0l"+b+",-"+x/2,b:"M0,0l-"+x/2+",-"+b,c:"M0,0l-"+b+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:h,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C="m-0.87,.5h"+L+"v3h-"+(L+5.2)+"l"+(L/2+2.6)+",-"+(.87*L+4.5)+"l2.6,1.5l-"+L/2+","+.87*L+"Z",P="m0.87,.5h-"+L+"v3h"+(L+5.2)+"l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-2.6,1.5l"+L/2+","+.87*L+"Z",O="m0,1l"+L/2+","+.87*L+"l2.6,-1.5l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-"+(L/2+2.6)+","+(.87*L+4.5)+"l2.6,1.5l"+L/2+",-"+.87*L+"Z",I=!0;function D(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,y,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),L=M.graphDiv,z=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;D(L),2===t&&(L.emit("plotly_doubleclick",null),a.call("_guiRelayout",L,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*M.w,g=(1-l/2-u)*M.w,m=(v+g)/2,x=g-v,_=(1-l)*M.h,w=_-x/E;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),L.emit("plotly_relayouting",R(p))}function V(){D(L),p!==f&&(a.call("_guiRelayout",L,R(p)),I&&L.data&&L._context.showTips&&(o.notifier(l(L,"Double-click to zoom back out"),"long"),I=!1))}function H(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),L.emit("plotly_relayouting",R(p))}function q(){a.call("_guiRelayout",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var v=M.dragOptions.dragmode=L._fullLayout.dragmode;m(v)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===v?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var c=L._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=z.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=z.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(L)}(0,l,c)):"pan"===v?(M.dragOptions.moveFn=H,M.dragOptions.clickFn=F,M.dragOptions.doneFn=q,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(v)||m(v))&&_(a,l,c,M.dragOptions,v)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||v.unhover(L,t)},v.init(this.dragOptions)}},73972:function(t,e,r){"use strict";var n=r(47769),i=r(64213),a=r(75138),o=r(41965),s=r(24401).addStyleRule,l=r(1426),u=r(9012),c=r(10820),f=l.extendFlat,h=l.extendDeepAll;function p(t){var r=t.name,i=t.categories,a=t.meta;if(e.modules[r])n.log("Type "+r+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},75341:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){for(var r=0;rf+u||!n(c))}for(var p=0;pa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return Array.isArray(t)?e0?e+=r:c<0&&(e-=r)}return e}function D(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var z=t[f+"a"],R=t[h+"a"];v=Math.abs(z.r2c(z.range[1])-z.r2c(z.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==u){k||(L=function(t){return Math.min(A(t),t.p-m.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+m.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[h+"0"]=t[h+"1"]=R.c2p(B[h],!0),t[h+"LabelVal"]=N;var j=m.extents[m.extents.round(B.p)];t[f+"0"]=z.c2p(x?L(B):j[0],!0),t[f+"1"]=z.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(z,t[f+"LabelVal"],y[f+"hoverformat"]),t.valueLabel=l(R,t[h+"LabelVal"],y[h+"hoverformat"]),t.baseLabel=l(R,B.b,y[h+"hoverformat"]),t.spikeDistance=(function(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return P(A(t),M(t),w)}(B))/2,t[f+"Spike"]=z.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=c(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod("errorbars","hoverInfo")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},60822:function(t,e,r){"use strict";t.exports={attributes:r(1486),layoutAttributes:r(43641),supplyDefaults:r(90769).supplyDefaults,crossTraceDefaults:r(90769).crossTraceDefaults,supplyLayoutDefaults:r(13957),calc:r(92290),crossTraceCalc:r(11661).crossTraceCalc,colorbar:r(4898),arraysToCalcdata:r(75341),plot:r(17295).plot,style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,hoverPoints:r(95423).hoverPoints,eventData:r(58065),selectPoints:r(81974),moduleType:"trace",name:"bar",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},43641:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},13957:function(t,e,r){"use strict";var n=r(73972),i=r(89298),a=r(71828),o=r(43641);t.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,u=!1,c=!1,f={},h=s("barmode"),p=0;p0}function S(t){return"auto"===t?0:t}function E(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function L(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor||"end",c="end"===u,f="start"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=i.width,v=i.height,g=Math.abs(e-t),y=Math.abs(n-r),m=g>2*_&&y>2*_?_:0;g-=2*m,y-=2*m;var x=S(l);"auto"!==l||d<=g&&v<=y||!(d>g||v>y)||(d>y||v>g)&&d.01?G:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?G(t):t>e?Math.ceil(t):Math.floor(t)};N=Z(N,j,R),j=Z(j,N,R),U=Z(U,V,!R),V=Z(V,U,!R)}var Y=A(a.ensureSingle(I,"path"),P,g,y);if(Y.style("vector-effect",O?"none":"non-scaling-stroke").attr("d",isNaN((j-N)*(V-U))||H&&t._context.staticPlot?"M0,0Z":"M"+N+","+U+"V"+V+"H"+j+"V"+U+"Z").call(l.setClipUrl,e.layerClipId,t),!P.uniformtext.mode&&F){var W=l.makePointStyleFns(f);l.singlePointStyle(u,Y,f,W,t)}!function(t,e,r,n,i,s,u,f,p,g,y){var w,T=e.xaxis,M=e.yaxis,C=t._fullLayout;function P(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+w,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var O=n[0].trace,I="h"===O.orientation,D=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,u,f,h,p="histogram"===o.type,d="waterfall"===o.type,v="funnel"===o.type,g="h"===o.orientation;function y(t){return c(h,h.c2l(t),!0).text}g?(l="y",u=i,f="x",h=n):(l="x",u=n,f="y",h=i);var m,x=e[r],_={};_.label=x.p,_.labelLabel=_[l+"Label"]=(m=x.p,c(u,u.c2l(m),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+"Label"]=y(x.s);var T={};b(T,o,x.i),(p||void 0===T.x)&&(T.x=g?_.value:_.label),(p||void 0===T.y)&&(T.y=g?_.label:_.value),(p||void 0===T.xLabel)&&(T.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=y(_.delta),_.final=x.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),v&&(_.value=x.s,_.valueLabel=y(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(_.customdata=k),a.texttemplateString(s,_,t._d3locale,T,_,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function u(t){return c(o?r:n,+t,!0).text}var f,h,p=i.textinfo,d=t[e],v=p.split("+"),g=[],y=function(t){return-1!==v.indexOf(t)};if(y("label")&&g.push((h=t[e].p,c(o?n:r,h,!0).text)),y("text")&&(0===(f=a.castOption(i,d.i,"text"))||f)&&g.push(f),s){var m=+d.rawS||d.s,x=d.v,b=x-m;y("initial")&&g.push(u(b)),y("delta")&&g.push(u(m)),y("final")&&g.push(u(x))}if(l){y("value")&&g.push(u(d.s));var _=0;y("percent initial")&&_++,y("percent previous")&&_++,y("percent total")&&_++;var w=_>1;y("percent initial")&&(f=a.formatPercent(d.begR),w&&(f+=" of initial"),g.push(f)),y("percent previous")&&(f=a.formatPercent(d.difR),w&&(f+=" of previous"),g.push(f)),y("percent total")&&(f=a.formatPercent(d.sumR),w&&(f+=" of total"),g.push(f))}return g.join("
")}(e,r,n,i):v.getValue(s.text,r),v.coerceString(m,o)}(C,n,i,T,M);w=function(t,e){var r=v.getValue(t.textposition,e);return v.coerceEnumerated(x,r)}(O,i);var z="stack"===g.mode||"relative"===g.mode,R=n[i],F=!z||R._outmost;if(D&&"none"!==w&&(!R.isBlank&&s!==u&&f!==p||"auto"!==w&&"inside"!==w)){var B=C.font,N=d.getBarColor(n[i],O),j=d.getInsideTextFont(O,i,B,N),U=d.getOutsideTextFont(O,i,B),V=r.datum();I?"log"===T.type&&V.s0<=0&&(s=T.range[0]0&&Z>0&&(G<=W&&Z<=X||G<=X&&Z<=W||(I?W>=G*(X/Z):X>=Z*(W/G)))?w="inside":(w="outside",H.remove(),H=null)):w="inside"),!H){var J=(H=P(r,D,Y=a.ensureUniformFontSize(t,"outside"===w?U:j))).attr("transform");if(H.attr("transform",""),G=(q=l.bBox(H.node())).width,Z=q.height,H.attr("transform",J),G<=0||Z<=0)return void H.remove()}var K,$=O.textangle;K="outside"===w?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=S(u),g=E(i,v),y=(s?g.x:g.y)/2,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,A=0,M=s?k(e,t):k(r,n);return s?(b=e-M*o,T=M*y):(w=n+M*o,A=-M*y),{textX:m,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:v}}(s,u,f,p,q,{isHorizontal:I,constrained:"both"===O.constraintext||"outside"===O.constraintext,angle:$}):L(s,u,f,p,q,{isHorizontal:I,constrained:"both"===O.constraintext||"inside"===O.constraintext,angle:$,anchor:O.insidetextanchor}),K.fontSize=Y.size,h("histogram"===O.type?"bar":O.type,K,C),R.transform=K;var Q=A(H,C,g,y);a.setTransormAndDisplay(Q,K)}else r.select("text").remove()}(t,e,I,r,p,N,j,U,V,g,y),e.layerClipId&&l.hideOutsideRangePoint(u,I.select("text"),w,C,f.xcalendar,f.ycalendar)}));var U=!1===f.cliponaxis;l.setClipUrl(u,U?null:e.layerClipId,t)}));u.getComponentMethod("errorbars","plot")(t,I,e,g)},toMoveInsideBar:L}},81974:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,u="h"===s.orientation,c=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:v,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:x,getBarColor:_,resizeText:l}},98340:function(t,e,r){"use strict";var n=r(7901),i=r(52075).hasColorscale,a=r(1586),o=r(71828).coercePattern;t.exports=function(t,e,r,s,l){var u=r("marker.color",s),c=i(t,"marker");c&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",u,c),r("selected.marker.color"),r("unselected.marker.color")}},72597:function(t,e,r){"use strict";var n=r(39898),i=r(71828);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=oh.range[1]&&(x+=Math.PI),n.getClosest(u,(function(t){return v(m,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-m)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=u[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,t),s(_,c,f,t),t.hovertemplate=c.hovertemplate,t.color=a(c,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},23381:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(23580),categories:["polar","bar","showLegend"],attributes:r(55023),layoutAttributes:r(40151),supplyDefaults:r(6135),supplyLayoutDefaults:r(19860),calc:r(74692).calc,crossTraceCalc:r(74692).crossTraceCalc,plot:r(60173),colorbar:r(4898),formatLabels:r(98608),style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,hoverPoints:r(27379),selectPoints:r(81974),meta:{}}},40151:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},19860:function(t,e,r){"use strict";var n=r(71828),i=r(40151);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,t.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(d,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=f.c2p(t.s0),s=t.rp1=f.c2p(t.s1),l=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var v=f.c2g(t.s1),g=(l+d)/2;t.ct=[u.c2p(v*Math.cos(g)),c.c2p(v*Math.sin(g))],e=p(o,s,l,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},53522:function(t,e,r){"use strict";var n=r(82196),i=r(1486),a=r(22399),o=r(12663).axisHoverFormat,s=r(5386).fF,l=r(1426).extendFlat,u=n.marker,c=u.line;t.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o("x"),yhoverformat:o("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:l({},u.symbol,{arrayOk:!1,editType:"plot"}),opacity:l({},u.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:l({},u.angle,{arrayOk:!1,editType:"calc"}),size:l({},u.size,{arrayOk:!1,editType:"calc"}),color:l({},u.color,{arrayOk:!1,editType:"style"}),line:{color:l({},c.color,{arrayOk:!1,dflt:a.defaultLine,editType:"style"}),width:l({},c.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),hovertemplate:s({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},48518:function(t,e,r){"use strict";var n=r(92770),i=r(89298),a=r(42973),o=r(71828),s=r(50606).BADNUM,l=o._;t.exports=function(t,e){var r,u,m,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(m=k,x="x",b=A,_="y",w=!!e.yperiodalignment):(m=A,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,L,C,P,O,I,D=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var c="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),f=t._length,h=new Array(f),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return m.d2c((e[t]||[])[r])},H=1/0,q=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var Z=V("lowerfence");E.lf=Z!==s&&Z<=E.q1?Z:p(E,C,P);var Y=V("upperfence");E.uf=Y!==s&&Y>=E.q3?Y:d(E,C,P);var W=V("mean");E.mean=W!==s?W:P?o.mean(C,P):(E.q1+E.q3)/2;var X=V("sd");E.sd=W!==s&&X>=0?X:P?o.stdev(C,P,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var J=V("notchspan");J=J!==s&&J>0?J:y(E,P),E.ln=E.med-J,E.un=E.med+J;var K=E.lf,$=E.uf;e.boxpoints&&C.length&&(K=Math.min(K,C[0]),$=Math.max($,C[P-1])),e.notched&&(K=Math.min(K,E.ln),$=Math.max($,E.un)),E.min=K,E.max=$}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}H=Math.min(H,E.min),q=Math.max(q,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[m._id]=i.findExtremes(m,[H,q],{padded:!0})}else{var tt=m.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ct,ft;(E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),P=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[P-1],E.mean=o.mean(C,P),E.sd=o.stdev(C,P,E.mean),E.med=o.interp(C,.5),P%2&&(lt||ut)?(lt?(ct=C.slice(0,P/2),ft=C.slice(P/2+1)):ut&&(ct=C.slice(0,P/2+1),ft=C.slice(P/2)),E.q1=o.interp(ct,.5),E.q3=o.interp(ft,.5)):(E.q1=o.interp(C,.25),E.q3=o.interp(C,.75)),E.lf=p(E,C,P),E.uf=d(E,C,P),E.lo=v(E),E.uo=g(E);var ht=y(E,P);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e._extremes[m._id]=i.findExtremes(m,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean?l(t,"mean ± σ:"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var u={text:"tx",hovertext:"htx"};function c(t,e,r){for(var n in u)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[u[n]]=e[n][r[0]][r[1]]):t[u[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function v(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},37188:function(t,e,r){"use strict";var n=r(89298),i=r(71828),a=r(99082).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,u,c=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s0){var q=E.pointpos,G=E.jitter,Z=E.marker.size/2,Y=0;q+G>=0&&((Y=V*(q+G))>M?(H=!0,j=Z,B=Y):Y>R&&(j=Z,B=M)),Y<=M&&(B=M);var W=0;q-G<=0&&((W=-V*(q-G))>S?(H=!0,U=Z,N=W):W>F&&(U=Z,N=S)),W<=S&&(N=S)}else B=M,N=S;var X=new Array(u.length);for(l=0;l0?(g="v",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g="h",y=Math.min(_)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===m&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===m&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,u,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var c=r(a+"points",l);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,u,r,i)}if(c(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("boxmean",h),s("whiskerwidth"),s("width"),s("quartilemethod");var v=!1;if(l){var g=s("notchspan");g&&g.length&&(v=!0)}else n.validate(t.notchwidth,u.notchwidth)&&(v=!0);s("notched",v)&&s("notchwidth"),f(t,e,s,{prefix:"box"})}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,u,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,u=e.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+h,a=u.l2p(e+s)+h,d=c?(i+a)/2:u.l2p(e)+h,v=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+v+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+v+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+v+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+v+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var u=t._context.staticPlot,c=e.xaxis,f=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],h=a.t,p=a.trace;h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?i.remove():("h"===p.orientation?(e=f,r=c):(e=c,r=f),o(i,{pos:e,val:r},p,h,u),s(i,{x:c,y:f},p,h),l(i,{pos:e,val:r},p,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},24626:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,O=L>0?Math.ceil:Math.floor,I=L>0?Math.min:Math.max,D=L>0?Math.max:Math.min,z=P(S+C),R=O(E-C),F=[[f=M(S)]];for(a=z;a*L=0;i--)a[c-i]=t[f][i],o[c-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},20347:function(t,e,r){"use strict";var n=r(89298),i=r(1426).extendFlat;t.exports=function(t,e,r){var a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,y=[],m=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,a))),s=a-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),m.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(f[0]-d[0]/3),m.push(f[1]-d[1]/3)),y.push(f[0]),m.push(f[1]),l=f;else for(i=t.a2i(n),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a0&&(v=t.dxydj([],u,a-1,c,0),y.push(l[0]+v[0]/3),m.push(l[1]+v[1]/3),g=t.dxydj([],u,a-1,c,1),y.push(f[0]-g[0]/3),m.push(f[1]-g[1]/3)),y.push(f[0]),m.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=y,x.y=m,x.smoothing=A.smoothing,x}function D(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(D(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;hx.length-1||v<0||v>x.length-1))for(g=x[s],y=x[v],a=0;ax[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(D(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(D(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;hx[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},83311:function(t,e,r){"use strict";var n=r(89298),i=r(1426).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},89740:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(27669),o=r(67961),s=r(11651),l=r(63893),u=r(71828),c=u.strRotate,f=u.strTranslate,h=r(18783);function p(t,e,r,s,l,u,c){var f="const-"+l+"-lines",h=r.selectAll("."+f).data(u);h.enter().append("path").classed(f,!0).style("vector-effect",c?"none":"non-scaling-stroke"),h.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,t.c2p),f=a([],u,e.c2p),h="M"+o(c,f,s.smoothing);n.select(this).attr("d",h).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),h.exit().remove()}function d(t,e,r,a,o,u,h,p){var d=u.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);y.attr("transform",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*m.height)),v=Math.max(v,m.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,c=e.xaxis,f=e.yaxis,h=t._fullLayout._clips;u.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],v=i.trace,g=v.aaxis,m=v.baxis,x=u.ensureSingle(r,"g","minorlayer"),b=u.ensureSingle(r,"g","majorlayer"),_=u.ensureSingle(r,"g","boundarylayer"),w=u.ensureSingle(r,"g","labellayer");r.style("opacity",v.opacity),p(c,f,b,0,"a",g._gridlines,!0),p(c,f,b,0,"b",m._gridlines,!0),p(c,f,x,0,"a",g._minorgridlines,!0),p(c,f,x,0,"b",m._minorgridlines,!0),p(c,f,_,0,"a-boundary",g._boundarylines,l),p(c,f,_,0,"b-boundary",m._boundarylines,l);var T=d(t,c,f,v,0,w,g._labels,"a-label"),k=d(t,c,f,v,0,w,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),m=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),y(t,e,r,0,h,p,r.aaxis,i,a,o,"a-title"),c=d,f=.5*(g+m),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),y(t,e,r,0,h,p,r.baxis,i,a,l,"b-title")}(t,w,v,0,c,f,T,k),function(t,e,r,n,i){var s,l,c,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=u.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,v=[];for(f=0;f90&&m<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr("transform",f(e.p[0],e.p[1])+c(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},11435:function(t,e,r){"use strict";var n=r(35509),i=r(65888).findBin,a=r(45664),o=r(20349),s=r(54495),l=r(73057);t.exports=function(t){var e=t._a,r=t._b,u=e.length,c=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[u-1],v=r[0],g=r[c-1],y=e[e.length-1]-e[0],m=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,b=m*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,t.isVisible=function(t,e){return t>p&&tv&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],u,c,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),u-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),u-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[u-1]|ir[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,y=[];ne[u-1]?(f=u-2,h=1,v=(n-e[u-1])/(e[u-1]-e[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),ir[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(t.dxydi(y,f,p,h,d),l[0]+=y[0]*v,l[1]+=y[1]*v),g&&(t.dxydj(y,f,p,h,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=m*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},72505:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},19237:function(t,e,r){"use strict";var n=r(71828).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},69568:function(t,e,r){"use strict";var n=r(5386).fF,i=r(19316),a=r(50693),o=r(9012),s=r(22399).defaultLine,l=r(1426).extendFlat,u=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},38675:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=r(78803),o=r(75225),s=r(66279);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,u=e._length,c=new Array(u);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f")}}(t,f,o),[t]}},51319:function(t,e,r){"use strict";t.exports={attributes:r(69568),supplyDefaults:r(61869),colorbar:r(61243),calc:r(38675),calcGeoJSON:r(99841).calcGeoJSON,plot:r(99841).plot,style:r(99636).style,styleOnSelect:r(99636).styleOnSelect,hoverPoints:r(42300),eventData:r(92069),selectPoints:r(81253),moduleType:"trace",name:"choropleth",basePlotModule:r(44622),categories:["geo","noOpacity","showLegend"],meta:{}}},99841:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(41327),o=r(90973).getTopojsonFeatures,s=r(71739).findExtremes,l=r(99636).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},12674:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(2418),s=r(9012),l=r(1426).extendFlat,u={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),u.transforms=void 0,t.exports=u},31371:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;uo.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r":p>u&&(n.prefixBoundary=!0);break;case"<":(pu||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fu&&(n.prefixBoundary=!0)}}}},90654:function(t,e,r){"use strict";var n=r(21081),i=r(86068),a=r(53572);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,u=o.coloring,c=i(e,{isColorbar:!0});if("heatmap"===u){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===u&&(r._fillcolor=c);r._line={color:"lines"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},36914:function(t){"use strict";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},83179:function(t,e,r){"use strict";var n=r(92770),i=r(14523),a=r(7901),o=a.addOpacity,s=a.opacity,l=r(74808),u=l.CONSTRAINT_REDUCTION,c=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,f){var h,p,d,v=e.contours,g=r("contours.operation");v._operation=u[g],function(t,e){var r;-1===c.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,v),"="===g?h=v.showlines=!0:(h=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),h&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,p,f)}},64237:function(t,e,r){"use strict";var n=r(74808),i=r(92770);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},67217:function(t){"use strict";t.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},84857:function(t,e,r){"use strict";var n=r(71828);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},53572:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},81696:function(t,e,r){"use strict";var n=r(71828),i=r(36914);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,v=t.z[0].length,g=e.slice(),y=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[c]=i.SADDLEREMAINDER[f]):delete t.crossings[c],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],c=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var m=h[0]&&(e[0]<0||e[0]>v-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===y[0]&&h[1]===y[1]||r&&m)break;f=t.crossings[c]}1e4===u&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,A,M,S,E,L,C,P,O,I,D=a(p[0],p[p.length-1],o,l),z=0,R=.2*t.smoothing,F=[],B=0;for(u=1;u=B;u--)if((x=F[u])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;Mt?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,u,c,f,h=t[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r=0&&(n=m,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,m)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;hn.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=y.EDGECOST*(1/(h-1)+1/(p-1));d+=y.ANGLECOST*u*u;for(var v=s-c,g=l-f,m=s+c,x=l+f,b=0;b2*y.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=y.MAXCOST)return c},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,u=t.theta,c=Math.sin(u),f=Math.cos(u),h=function(t,e){return[s+t*f-e*c,l+t*c+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:u,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var u="",c=0;cr.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var u,c=r.start,f=r.end,h=t._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,t.ncontours).dtick,h.size=r.size=u)}}},84426:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(70035),o=r(86068);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c="constraint"===a.type,f=!c&&"lines"===a.coloring,h=!c&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),c)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var v;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===v&&(v=t.level),p(t.level+.5*l)})),void 0===v&&(v=u),e.selectAll("g.contourbg path").style("fill",p(v-.5*l))}})),a(t)}},8724:function(t,e,r){"use strict";var n=r(1586),i=r(14523);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),u="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(u=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,u,o)}},88085:function(t,e,r){"use strict";var n=r(21606),i=r(70600),a=r(50693),o=r(1426).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},59885:function(t,e,r){"use strict";var n=r(78803),i=r(71828),a=r(68296),o=r(4742),s=r(824),l=r(43907),u=r(70769),c=r(75005),f=r(22882),h=r(18670);t.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,e,e._defaultColor,t._fullLayout)}var v=function(t,e){var r,c,f,h,p,d,v,g=e._carpetTrace,y=g.aaxis,m=g.baxis;y._minDtick=0,m._minDtick=0,i.isArray1D(e.z)&&a(e,y,m,"a","b",["z"]),r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],h=h?m.makeCalcdata(e,"_b"):[],c=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,v=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(v),s(v,e._emptypoints);var x=i.maxRowLength(v),b="scaled"===e.xtype?"":r,_=u(e,b,c,f,x,y),w="scaled"===e.ytype?"":h,T={a:_,b:u(e,w,p,d,v.length,m),z:v};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:v,containerStr:"",cLetter:"z"}),[T]}(t,e);return h(e,e._z),v}}},75005:function(t,e,r){"use strict";var n=r(71828),i=r(67684),a=r(88085),o=r(83179),s=r(67217),l=r(8724);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,a,r,i)}if(c("carpet"),t.a&&t.b){if(!i(t,e,c,u,"a","b"))return void(e.visible=!1);c("text"),"constraint"===c("contours.type")?o(t,e,c,u,r,{hasHover:!1}):(s(t,e,c,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,c,u,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},93740:function(t,e,r){"use strict";t.exports={attributes:r(88085),supplyDefaults:r(75005),colorbar:r(90654),calc:r(59885),plot:r(51048),style:r(84426),moduleType:"trace",name:"contourcarpet",basePlotModule:r(93612),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},51048:function(t,e,r){"use strict";var n=r(39898),i=r(27669),a=r(67961),o=r(91424),s=r(71828),l=r(87678),u=r(81696),c=r(29854),f=r(36914),h=r(84857),p=r(87558),d=r(20083),v=r(22882),g=r(4536);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function m(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=v(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),P="constraint"===L.type,O=L._operation,I=P?"="===O?"lines":"fill":L.coloring,D=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var z=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(C,z,R);var F,B,N,j,U=C;"constraint"===L.type&&(U=h(C,O)),function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var H="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var u,c,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=v):Math.abs(f[1]-h[1])=0&&(h=L,d=v):s.log("endpt to newendpt is not vert. or horz.",f,h,L)}if(d>=0)break;m+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],m+=S(f,h)+"Z",f=null)}for(c=0;cv&&(n.max=v),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[c]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:m})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)T.push(_[c][0],_[c][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":v?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),u.geojson={type:"FeatureCollection",features:f},u.heatmap.layout.visibility="visible",u}},79429:function(t,e,r){"use strict";var n=r(71828),i=r(1586),a=r(64096);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],u=s("lat")||[],c=Math.min(l.length,u.length);c?(e._length=c,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},62474:function(t){"use strict";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},84684:function(t,e,r){"use strict";var n=r(89298),i=r(28178).hoverPoints,a=r(28178).getExtraText;t.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,"z"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),"hover").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},93814:function(t,e,r){"use strict";t.exports={attributes:r(64096),supplyDefaults:r(79429),colorbar:r(61243),formatLabels:r(15636),calc:r(85070),plot:r(7336),hoverPoints:r(84684),eventData:r(62474),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},49789:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){for(var r=0;r"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},51759:function(t,e,r){"use strict";t.exports={attributes:r(1285),layoutAttributes:r(10440),supplyDefaults:r(26199).supplyDefaults,crossTraceDefaults:r(26199).crossTraceDefaults,supplyLayoutDefaults:r(93138),calc:r(9532),crossTraceCalc:r(8984),plot:r(80461),style:r(68266).style,hoverPoints:r(63341),eventData:r(34598),selectPoints:r(81974),moduleType:"trace",name:"funnel",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},10440:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},93138:function(t,e,r){"use strict";var n=r(71828),i=r(10440);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},86807:function(t,e,r){"use strict";var n=r(34e3),i=r(9012),a=r(27670).Y,o=r(5386).fF,s=r(5386).si,l=r(1426).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},6452:function(t,e,r){"use strict";var n=r(74875);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},89574:function(t,e,r){"use strict";var n=r(32354);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},86282:function(t,e,r){"use strict";var n=r(71828),i=r(86807),a=r(27670).c,o=r(90769).handleText,s=r(37434).handleLabelsAndValues;t.exports=function(t,e,r,l){function u(r,a){return n.coerce(t,e,i,r,a)}var c=u("labels"),f=u("values"),h=s(c,f),p=h.len;if(e._hasLabels=h.hasLabels,e._hasValues=h.hasValues,!e._hasLabels&&e._hasValues&&(u("label0"),u("dlabel")),p){e._length=p,u("marker.line.width")&&u("marker.line.color",l.paper_bgcolor),u("marker.colors"),u("scalegroup");var d,v=u("text"),g=u("texttemplate");if(g||(d=u("textinfo",Array.isArray(v)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),g||d&&"none"!==d){var y=u("textposition");o(t,e,l,u,y,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(e,l,u),u("title.text")&&(u("title.position"),n.coerceFont(u,"title.font",l.font)),u("aspectratio"),u("baseratio")}else e.visible=!1}},10421:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(6452),categories:["pie-like","funnelarea","showLegend"],attributes:r(86807),layoutAttributes:r(80097),supplyDefaults:r(86282),supplyLayoutDefaults:r(57402),calc:r(89574).calc,crossTraceCalc:r(89574).crossTraceCalc,plot:r(79187),style:r(71858),styleOne:r(63463),meta:{}}},80097:function(t,e,r){"use strict";var n=r(92774).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57402:function(t,e,r){"use strict";var n=r(71828),i=r(80097);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},79187:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(71828),o=a.strScale,s=a.strTranslate,l=r(63893),u=r(17295).toMoveInsideBar,c=r(72597),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(53581),d=r(14575),v=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,m=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,c=t._fullLayout;h("funnelarea",c),m(e,t),y(e,c._size),a.makeTraceGroups(c._funnelarealayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=e.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var M=h[A+=1][0],S=h[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(_=s.TR,w=s.BR,[.5*(_[0]+w[0]),.5*(_[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(f),y:-t};return[e.x,e.y]}}(e),h.each((function(){var h=n.select(this).selectAll("g.slice").data(e);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var h=d.cx,m=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(v,t,e);var T="M"+(h+o.TR[0])+","+(m+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";w.attr("d",T),b(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,c.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+m,w=Math.max(o.TL[1],o.TR[1])+m;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(y.type,d,c),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var m=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var u=x(d,c._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},71858:function(t,e,r){"use strict";var n=r(39898),i=r(63463),a=r(72597).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each((function(t){n.select(this).call(i,t,e)}))}))}},21606:function(t,e,r){"use strict";var n=r(82196),i=r(9012),a=r(41940),o=r(12663).axisHoverFormat,s=r(5386).fF,l=r(5386).si,u=r(50693),c=r(1426).extendFlat;t.exports=c({z:{valType:"data_array",editType:"calc"},x:c({},n.x,{impliedEdits:{xtype:"array"}}),x0:c({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:c({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:c({},n.y,{impliedEdits:{ytype:"array"}}),y0:c({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:c({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:c({},i.showlegend,{dflt:!1})},{transforms:void 0},u("",{cLetter:"z",autoColorDflt:!1}))},90757:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(89298),o=r(42973),s=r(17562),l=r(78803),u=r(68296),c=r(4742),f=r(824),h=r(43907),p=r(70769),d=r(50606).BADNUM;function v(t){for(var e=[],r=t.length,n=0;nz){I("x scale is not linear");break}}if(x.length&&"fast"===P){var R=(x[x.length-1]-x[0])/(x.length-1),F=Math.abs(R/100);for(k=0;kF){I("y scale is not linear");break}}}var B=i.maxRowLength(T),N="scaled"===e.xtype?"":r,j=p(e,N,g,y,B,M),U="scaled"===e.ytype?"":x,V=p(e,U,b,_,T.length,S);C||(e._extremes[M._id]=a.findExtremes(M,j),e._extremes[S._id]=a.findExtremes(S,V));var H={x:j,y:V,z:T,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(e.xperiodalignment&&m&&(H.orig_x=m),e.yperiodalignment&&w&&(H.orig_y=w),N&&N.length===j.length-1&&(H.xCenter=N),U&&U.length===V.length-1&&(H.yCenter=U),L&&(H.xRanges=A.xRanges,H.yRanges=A.yRanges,H.pts=A.pts),E||l(t,e,{vals:T,cLetter:"z"}),E&&e.contours&&"heatmap"===e.contours.coloring){var q={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};H.xfill=p(q,N,g,y,B,M),H.yfill=p(q,U,b,_,T.length,S)}return[H]}},4742:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(50606).BADNUM;t.exports=function(t,e,r,o){var s,l,u,c,f,h;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,f=0;f=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},46248:function(t,e,r){"use strict";var n=r(30211),i=r(71828),a=r(89298),o=r(21081).extractOpts;t.exports=function(t,e,r,s,l){l||(l={});var u,c,f,h,p=l.isContour,d=t.cd[0],v=d.trace,g=t.xa,y=t.ya,m=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=v.zhoverformat,A=m,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||h<0||h>b.length)return}else{if(n.inbox(e-m[0],e-m[m.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(p){var S;for(A=[2*m[0]-m[1]],S=1;Sv&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-v))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},58623:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},70769:function(t,e,r){"use strict";var n=r(73972),i=r(71828).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,u,c,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var v=e.length;if(!(v<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],c=1;c0;)w=T.c2p(F[E]),E--;for(w0;)S=k.c2p(B[E]),E--;if(SZt||Zt>k._length))for(L=Vt;LWt||Wt>T._length)){var Xt=c({x:Yt,y:Gt},I,t._fullLayout);Xt.x=Yt,Xt.y=Gt;var Jt=O.z[E][L];void 0===Jt?(Xt.z="",Xt.zLabel=""):(Xt.z=Jt,Xt.zLabel=s.tickText(Bt,Jt,"hover").text);var Kt=O.text&&O.text[E]&&O.text[E][L];void 0!==Kt&&!1!==Kt||(Kt=""),Xt.text=Kt;var $t=l.texttemplateString(Rt,Xt,t._fullLayout._d3locale,Xt,I._meta||{});if($t){var Qt=$t.split("
"),te=Qt.length,ee=0;for(C=0;C0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]u?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:u:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),u=d(r,a,s),c=t===i?0:1;return l[c]!==u[c]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,u=-1.1*e,h=-.1*e,p=t-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),y=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>y&&yo){var m=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",m);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(ur.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),D.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(D.start)}var U=b.end,V=r.r2l(I.end),H=void 0!==V;if((b.endFound||H)&&V!==r.r2l(U)){var q=H?V:i.aggNums(Math.max,null,d);D.end=r.l2r(q),H||i.nestedProperty(e,y+".start").set(D.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[D,d]}t.exports={calc:function(t,e){var r,a,p,d,v=[],g=[],y="h"===e.orientation,m=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",b={x:"y",y:"x"}[x],_=e[x+"calendar"],w=e.cumulative,T=h(t,e,m,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,L=[],C=[],P=[],O=0,I=e.histnorm,D=e.histfunc,z=-1!==I.indexOf("density");w.enabled&&z&&(I=I.replace(/ ?density$/,""),z=!1);var R,F="max"===D||"min"===D?null:0,B=l.count,N=u[I],j=!1,U=function(t){return m.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&"count"!==D&&(R=e[b],j="avg"===D,B=l[D]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var K=Math.min(v.length,g.length),$=[],Q=0,tt=K-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(v[r])&&n(g[r])){var et={p:v[r],s:g[r],b:0};w.enabled||(et.pts=P[r],Z?et.ph0=et.ph1=P[r].length?A[P[r][0]]:v[r]:(e._computePh=!0,et.ph0=q(S[r]),et.ph1=q(S[r+1],!0))),$.push(et)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,k.size,!1,_)-$[0].p),s($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,X),$},calcAllAutoBins:h}},72406:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},82222:function(t,e,r){"use strict";var n=r(71828),i=r(41675),a=r(73972).traceIs,o=r(26125),s=n.nestedProperty,l=r(99082).getAxisGroup,u=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],c=["x","y"];t.exports=function(t,e){var r,f,h,p,d,v,g,y=e._histogramBinOpts={},m=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return"v"===t.orientation?"x":"y"}function T(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",u=y[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(t),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+u.axType,"axis."].join(" ")),l!==u.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",u.calendar?"on a "+u.calendar+" calendar":"w/o a set calendar"].join(" ")))),c&&(y[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(d=0;dS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P="string"==typeof w.size,O="string"==typeof A.size,I=[],D=[],z=P?I:w,R=O?D:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),H="max"===U||"min"===U?null:0,q=a.count,G=o[j],Z=!1,Y=[],W=[],X="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";X&&"count"!==U&&(Z="avg"===U,q=a[U]);var J=w.size,K=x(w.start),$=x(w.end)+(K-i.tickIncrement(K,J,!1,y))/1e6;for(r=K;r<$;r=i.tickIncrement(r,J,!1,y))L.push(H),I.push(r),Z&&C.push(0);I.push(r);var Q,tt=L.length,et=(r-K)/tt,rt=(Q=K+et/2,v.c2r(Q,0,y)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,m))/1e6;for(r=it;r=0&&p=0&&d-1,flipY:C.tiling.flip.indexOf("y")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),z=1/0,R=-1/0;D.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(z=Math.min(z,e),R=Math.max(R,e))})),d=d.data(D,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-z+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(t){null===F&&c.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.tiling.pad),s._hoverY=x(I?s.y1-C.tiling.pad/2:s.y0+C.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?v.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1});return function(t){return b(e(t))}})):v.attr("d",b),d.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),v.call(l,s,C,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=h(s,r,C,e,L)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),D=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",O?"end":P?"start":"middle").call(a.font,D).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:D.size}),s.transform.fontSize=D.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},69816:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(96346),categories:[],animatable:!0,attributes:r(46291),layoutAttributes:r(92894),supplyDefaults:r(56524),supplyLayoutDefaults:r(21070),calc:r(46584).y,crossTraceCalc:r(46584).T,plot:r(85596),style:r(82454).style,colorbar:r(4898),meta:{}}},92894:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},21070:function(t,e,r){"use strict";var n=r(71828),i=r(92894);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},21538:function(t,e,r){"use strict";var n=r(674),i=r(14102);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,u=e[0],c=e[1];l&&(u=(t.height+1)*e[0]/Math.min(t.height+1,l),c=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],u]:[e[0],c])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},85596:function(t,e,r){"use strict";var n=r(80694),i=r(90666);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},82454:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(72597).resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,"marker.line.color")||i.defaultLine,u=a.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",u).call(i.fill,n.color).call(i.stroke,l).style("opacity",o?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},17230:function(t,e,r){"use strict";for(var n=r(9012),i=r(5386).fF,a=r(1426).extendFlat,o=r(51877).colormodel,s=["rgb","rgba","rgba256","hsl","hsla"],l=[],u=[],c=0;c0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var c,f=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(s._hasZ?c=o.z[h][f]:s._hasSource&&(c=s._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(f,h,1,1).data),c){var p,d=o.hi||s.hoverinfo;if(d){var v=d.split("+");-1!==v.indexOf("all")&&(v=["color"]),-1!==v.indexOf("color")&&(p=!0)}var g,y=a.colormodel[s.colormodel],m=y.colormodel||s.colormodel,x=m.length,b=s._scaler(c),_=y.suffix,w=[];(s.hovertemplate||p)&&(w.push("["+[b[0]+_[0],b[1]+_[1],b[2]+_[2]].join(", ")),4===x&&w.push(", "+b[3]+_[3]),w.push("]"),w=w.join(""),t.extraText=m.toUpperCase()+": "+w),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][f]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][f]);var T=u.c2p(o.y0+(h+.5)*s.dy),k=o.x0+(f+.5)*s.dx,A=o.y0+(h+.5)*s.dy,M="["+c.slice(0,s.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[h,f],x0:l.c2p(o.x0+f*s.dx),x1:l.c2p(o.x0+(f+1)*s.dx),y0:T,y1:T,color:b,xVal:k,xLabelVal:k,yVal:A,yLabelVal:A,zLabelVal:M,text:g,hovertemplateLabels:{zLabel:M,colorLabel:w,"color[0]Label":b[0]+_[0],"color[1]Label":b[1]+_[1],"color[2]Label":b[2]+_[2],"color[3]Label":b[3]+_[3]}})]}}}},94507:function(t,e,r){"use strict";t.exports={attributes:r(17230),supplyDefaults:r(13245),calc:r(71113),plot:r(60775),style:r(12826),hoverPoints:r(28749),eventData:r(30835),moduleType:"trace",name:"image",basePlotModule:r(93612),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},60775:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.strTranslate,o=r(77922),s=r(51877),l=i.isIOS()||i.isSafari()||i.isIE();t.exports=function(t,e,r,u){var c=e.xaxis,f=e.yaxis,h=!(l||t._context._exportedPlot);i.makeTraceGroups(u,r,"im").each((function(e){var r=n.select(this),l=e[0],u=l.trace,p=("fast"===u.zsmooth||!1===u.zsmooth&&h)&&!u._hasZ&&u._hasSource&&"linear"===c.type&&"linear"===f.type;u._realImage=p;var d,v,g,y,m,x,b=l.z,_=l.x0,w=l.y0,T=l.w,k=l.h,A=u.dx,M=u.dy;for(x=0;void 0===d&&x0;)v=c.c2p(_+x*A),x--;for(x=0;void 0===y&&x0;)m=f.c2p(w+x*M),x--;vO[0];if(I||D){var z=d+S/2,R=y+E/2;C+="transform:"+a(z+"px",R+"px")+"scale("+(I?-1:1)+","+(D?-1:1)+")"+a(-z+"px",-R+"px")+";"}}L.attr("style",C);var F=new Promise((function(t){if(u._hasZ)t();else if(u._hasSource)if(u._canvas&&u._canvas.el.width===T&&u._canvas.el.height===k&&u._canvas.source===u.source)t();else{var e=document.createElement("canvas");e.width=T,e.height=k;var r=e.getContext("2d",{willReadFrequently:!0});u._image=u._image||new Image;var n=u._image;n.onload=function(){r.drawImage(n,0,0),u._canvas={el:e,source:u.source},t()},n.setAttribute("src",u.source)}})).then((function(){var t,e;if(u._hasZ)e=B((function(t,e){return b[e][t]})),t=e.toDataURL("image/png");else if(u._hasSource)if(p)t=u.source;else{var r=u._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,T,k).data;e=B((function(t,e){var n=4*(e*T+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}L.attr({"xlink:href":t,height:E,width:S,x:d,y:y})}));t._promises.push(F)}function B(t){var e=document.createElement("canvas");e.width=S,e.height=E;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(c.c2p(_+t*A)-d),0,S)},o=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-y),0,E)},h=s.colormodel[u.colormodel],p=h.colormodel||u.colormodel,v=h.fmt;for(x=0;x0}function T(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return v(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,v){var g,y=t._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var v,E,L,C,P,O=e[0].trace,I=n.select(this),D=O._hasGauge,z=O._isAngular,R=O._isBullet,F=O.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,H=O.align||"center";if(E=j,D){if(z&&(v=N,E=j+U/2,L=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var q=h.bulletPadding,G=1-h.bulletNumberDomainSize+q;v=B.l+(G+(1-G)*b[H])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-q)*B.w,B.h)}}}else v=B.l+b[H]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,y=i.numbersY,T=v.align||"center",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,"g","numbers"),P=[];v._hasNumber&&P.push("number"),v._hasDelta&&(P.push("delta"),"left"===v.delta.position&&P.reverse());var O=C.selectAll("text").data(P);function I(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}O.enter().append("text"),O.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),O.exit().remove();var D,z=v.mode+v.align;if(v._hasDelta&&(D=function(){var e=k(t,{tickformat:v.delta.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.delta.suffix,s=v.delta.prefix,l=function(t){return v.delta.relative?t.relativeDelta:t.delta},u=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=C.select("text.delta");function y(){g.text(u(l(r[0]),i)).call(m.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,v.delta.font).call(m.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,e),c=a(o,e);return v._deltaLastValue=e,function(e){t.text(u(c(e),s)),t.call(m.fill,h({delta:c(e)}))}})).each("end",(function(){y(),L&&L()})).each("interrupt",(function(){y(),L&&L()})):y(),c=M(u(l(r[0]),i),v.delta.font,A,t),g}(),z+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,z+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var e=k(t,{tickformat:v.number.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.number.suffix,s=v.number.prefix,l=C.select("text.number");function c(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(f.font,v.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){c(),L&&L()})).each("interrupt",(function(){c(),L&&L()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):c(),u=M(s+i(r[0].y)+o,v.number.font,A,t)}(),z+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;"left"===v.delta.position&&(R=S(v,"deltaPos",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),z,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"right"===v.delta.position&&(R=S(v,"deltaPos",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,z,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"bottom"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),"top"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),D.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&C.attr("transform",(function(){var t=i.numbersScaler(h);z+=t[2];var e,r=S(v,"numbersScale",1,t[0],z,Math.min);v._scaleNumbers||(r=1),e=v._isAngular?y-r*h.bottom:y-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+e;var n=h[T];"center"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,"numbersTranslate",0,a,z,Math.max),l(a,e)+s(r)}))}(t,I,e,{numbersX:v,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),D&&(C={range:O.gauge.axis.range,color:O.gauge.bgcolor,line:{color:O.gauge.bordercolor,width:0},thickness:1},P={range:O.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:O.gauge.bordercolor,width:O.gauge.borderwidth},thickness:1});var Z=I.selectAll("g.angular").data(z?e:[]);Z.exit().remove();var Y=I.selectAll("g.angularaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,y=a.innerRadius,m=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function P(t){t.attr("d",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append("g").classed("angular",!0),_.attr("transform",l(b[0],b[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var O=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},D=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(t){var e=O(t);return Math.cos(e)*D},I.yFn=function(t){var e=O(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(D+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*c)},I.anchorFn=function(t){var e=O(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},I.heightFn=function(t,e,r){var n=O(t);return-.5*(1+Math.sin(n))*r};var z=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return z(O(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+h*R+",0h"+h*o.ticklen,transFn:function(t){var e=O(t);return z(e)+"rotate("+-u(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:I})}var F=[m].concat(p.gauge.steps),B=_.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(P).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,H,q=j.select("path");w(M)?(q.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=L(r[0].lastY),H=L(r[0].y),function(){var t=i(V,H);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):q.attr("d","number"==typeof r[0].y?N.endAngle(L(r[0].y)):"M0,0Z"),q.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var Z=_.selectAll("g.threshold-arc").data(F);Z.enter().append("g").classed("threshold-arc",!0).append("path"),Z.select("path").call(P).call(T),Z.exit().remove();var Y=_.selectAll("g.gauge-outline").data([x]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(P).call(T),Y.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:Z,layer:Y,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var W=I.selectAll("g.bullet").data(R?e:[]);W.exit().remove();var X=I.selectAll("g.bulletaxis").data(R?e:[]);X.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=c.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function L(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,c.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var C=[v].concat(c.gauge.steps),P=f.selectAll("g.bg-bullet").data(C);P.enter().append("g").classed("bg-bullet",!0).append("rect"),P.select("rect").call(L).call(T),P.exit().remove();var O=f.selectAll("g.value-bullet").data([c.gauge.bar]);O.enter().append("g").classed("value-bullet",!0).append("rect"),O.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(b)?O.select("rect").transition().duration(b.duration).ease(b.easing).each("end",(function(){_&&_()})).each("interrupt",(function(){_&&_()})).attr("width",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):O.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),O.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),D=f.selectAll("g.threshold-bullet").data(I);D.enter().append("g").classed("threshold-bullet",!0).append("line"),D.select("line").attr("x1",i.c2p(c.gauge.threshold.value)).attr("x2",i.c2p(c.gauge.threshold.value)).attr("y1",(1-c.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-c.gauge.threshold.thickness)/2)*A).call(m.stroke,c.gauge.threshold.line.color).style("stroke-width",c.gauge.threshold.line.width),D.exit().remove();var z=f.selectAll("g.gauge-outline").data([g]);z.enter().append("g").classed("gauge-outline",!0).append("rect"),z.select("rect").call(L).call(T),z.exit().remove()}(t,0,e,{gauge:W,layer:X,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var J=I.selectAll("text.title").data(e);J.exit().remove(),J.enter().append("text").classed("title",!0),J.attr("text-anchor",(function(){return R?x.right:x[O.title.align]})).text(O.title.text).call(f.font,O.title.font).call(p.convertToTspans,t),J.attr("transform",(function(){var t,e=B.l+B.w*b[O.title.align],r=h.titlePadding,n=f.bBox(J.node());return D?(z&&(t=O.gauge.axis.visible?f.bBox(Y.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)):t=O._numbersTop-r-n.bottom,l(e,t)}))}))}},16249:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(2418),s=r(9012),l=r(1426).extendFlat,u=r(30962).overrideAll,c=t.exports=u(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},56959:function(t,e,r){"use strict";var n=r(78803),i=r(88489).processGrid,a=r(88489).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,v,y);h[p]=x>-1?x:O(d,v,y,R(e,m))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}function V(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):a<3&&V(t,e,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var u=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var c=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(h,c,n,i),d=B(h,f,n,i);o=l(t,[d,p,c],[-1,-1,r[a[0]]])||o,o=l(t,[c,f,d],[r[a[0]],r[a[1]],-1])||o,u=!0}})),u||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var c=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(f,c,n,i),d=B(h,c,n,i);o=l(t,[d,p,c],[-1,-1,r[a[0]]])||o,u=!0}})),o}function H(t,e,r,n){var i=!1,a=U(e),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return v&&(i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,a,e)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]];if(v)i=F(t,[u,c,f],[e[l[0]],e[l[1]],e[l[2]]])||i;else{var p=B(h,u,r,n),d=B(h,c,r,n),g=B(h,f,r,n);i=F(null,[p,d,g],[-1,-1,-1])||i}s=!0}})),s||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(f,u,r,n),d=B(f,c,r,n),g=B(h,c,r,n),y=B(h,u,r,n);v?(i=F(t,[u,y,p],[e[l[0]],-1,-1])||i,i=F(t,[c,d,g],[e[l[1]],-1,-1])||i):i=function(t,e,r){var n=function(t,n,i){F(null,[e[t],e[n],e[i]],[r[t],r[n],r[i]])};n(0,1,2),n(2,3,0)}(0,[p,d,g,y],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(c,u,r,n),d=B(f,u,r,n),g=B(h,u,r,n);v?(i=F(t,[u,p,d],[e[l[0]],-1,-1])||i,i=F(t,[u,d,g],[e[l[0]],-1,-1])||i,i=F(t,[u,g,p],[e[l[0]],-1,-1])||i):i=F(null,[p,d,g],[-1,-1,-1])||i,s=!0}}))),i}function q(t,e,r,n,i,a,o,s,l,u,c){var f=!1;return d&&(z(t,"A")&&(f=H(null,[e,r,n,a],u,c)||f),z(t,"B")&&(f=H(null,[r,n,i,l],u,c)||f),z(t,"C")&&(f=H(null,[r,a,o,l],u,c)||f),z(t,"D")&&(f=H(null,[n,a,s,l],u,c)||f),z(t,"E")&&(f=H(null,[r,n,a,l],u,c)||f)),v&&(f=H(t,[r,n,a,l],u,c)||f),f}function G(t,e,r,n,i,a,o,s){return[!0===s[0]||V(t,U([e,r,n]),[e,r,n],a,o),!0===s[1]||V(t,U([n,i,e]),[n,i,e],a,o)]}function Z(t,e,r,n,i,a,o,s,l){return s?G(t,e,r,i,n,a,o,l):G(t,r,i,n,e,a,o,l)}function Y(t,e,r,n,i,a,o){var s,l,u,c,f=!1,h=function(){f=V(t,[s,l,u],[-1,-1,-1],i,a)||f,f=V(t,[u,c,s],[-1,-1,-1],i,a)||f},p=o[0],d=o[1],v=o[2];return p&&(s=I(U([k(e,r-0,n-0)])[0],U([k(e-1,r-0,n-0)])[0],p),l=I(U([k(e,r-0,n-1)])[0],U([k(e-1,r-0,n-1)])[0],p),u=I(U([k(e,r-1,n-1)])[0],U([k(e-1,r-1,n-1)])[0],p),c=I(U([k(e,r-1,n-0)])[0],U([k(e-1,r-1,n-0)])[0],p),h()),d&&(s=I(U([k(e-0,r,n-0)])[0],U([k(e-0,r-1,n-0)])[0],d),l=I(U([k(e-0,r,n-1)])[0],U([k(e-0,r-1,n-1)])[0],d),u=I(U([k(e-1,r,n-1)])[0],U([k(e-1,r-1,n-1)])[0],d),c=I(U([k(e-1,r,n-0)])[0],U([k(e-1,r-1,n-0)])[0],d),h()),v&&(s=I(U([k(e-0,r-0,n)])[0],U([k(e-0,r-0,n-1)])[0],v),l=I(U([k(e-0,r-1,n)])[0],U([k(e-0,r-1,n-1)])[0],v),u=I(U([k(e-1,r-1,n)])[0],U([k(e-1,r-1,n-1)])[0],v),c=I(U([k(e-1,r-0,n)])[0],U([k(e-1,r-0,n-1)])[0],v),h()),f}function W(t,e,r,n,i,a,o,s,l,u,c,f){var h=t;return f?(d&&"even"===t&&(h=null),q(h,e,r,n,i,a,o,s,l,u,c)):(d&&"odd"===t&&(h=null),q(h,l,s,o,a,i,n,r,e,u,c))}function X(t,e,r,n,i){for(var a=[],o=0,s=0;sMath.abs(L-M)?[A,L]:[L,M];d=!0,$(r,C[0],C[1]),d=!1}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(f.push(d.id),"x"===r?h.push([d.distRatio,0,0]):"y"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=rt(1,"x"===r?b-1:"y"===r?_-1:w-1);f.length>0&&(n[a]="x"===r?Q(e,f,o,s,h,n[a]):"y"===r?tt(e,f,o,s,h,n[a]):et(e,f,o,s,h,n[a]),a++),c.length>0&&(n[a]="x"===r?X(e,c,o,s,n[a]):"y"===r?J(e,c,o,s,n[a]):K(e,c,o,s,n[a]),a++)}var v=t.caps[r];v.show&&v.fill&&(D(v.fill),n[a]="x"===r?X(e,[0,b-1],o,s,n[a]):"y"===r?J(e,[0,_-1],o,s,n[a]):K(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&P(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=m,t._Zs=x}(),t}t.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},82738:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(16249),o=r(1586);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a("x"),c=a("y"),f=a("z"),h=a("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},64943:function(t,e,r){"use strict";t.exports={attributes:r(16249),supplyDefaults:r(82738).supplyDefaults,calc:r(56959),colorbar:{min:"cmin",max:"cmax"},plot:r(22674).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(58547),categories:["gl3d","showLegend"],meta:{}}},2418:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(54532),s=r(9012),l=r(1426).extendFlat;t.exports=l({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},82932:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},91134:function(t,e,r){"use strict";var n=r(9330).gl_mesh3d,i=r(9330).delaunay_triangulate,a=r(9330).alpha_shape,o=r(9330).convex_hull,s=r(81697).parseColorScale,l=r(78614),u=r(21081).extractOpts,c=r(90060);function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var h=f.prototype;function p(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=c(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!g(t.i,f)||!g(t.j,f)||!g(t.k,f))return;n=c(v(t.i),v(t.j),v(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=u(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],m&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),v&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((m=i.extendFlat({},h)).y0=m.y1=_,m.yLabelVal=b,m.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),m.name="",f.push(m),g[b]=m)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,m=y.split("+"),x="all"===y,b=x||-1!==m.indexOf("y"),_=x||-1!==m.indexOf("text"),w=b?[g("open"),g("high"),g("low"),g("close")+" "+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join("
"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},54186:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(93612),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(2522),supplyDefaults:r(16169),calc:r(3485).calc,plot:r(72314),style:r(53101),hoverPoints:r(66449).hoverPoints,selectPoints:r(67324)}},14555:function(t,e,r){"use strict";var n=r(73972),i=r(71828);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),u=r("low"),c=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},72314:function(t,e,r){"use strict";var n=r(39898),i=r(71828);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var u=a.tickLen,c=e.selectAll("path").data(i.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-u,!0),r=s.c2p(t.pos+u,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},67324:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0;u&&(o="array");var c=r("categoryorder",o);"array"===c?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),u||"array"!==c||(e.categoryorder="trace")}}t.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:c}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,f,h);o(e,f,h),Array.isArray(p)&&p.length||(e.visible=!1),u(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var v={family:f.font.family,size:Math.round(f.font.size),color:f.font.color};n.coerceFont(h,"labelfont",v);var g={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,"tickfont",g)}},94873:function(t,e,r){"use strict";t.exports={attributes:r(99506),supplyDefaults:r(14647),calc:r(28699),plot:r(45784),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(27677),categories:["noOpacity"],meta:{}}},45460:function(t,e,r){"use strict";var n=r(39898),i=r(81684).k4,a=r(72391),o=r(30211),s=r(71828),l=s.strTranslate,u=r(91424),c=r(84267),f=r(63893);function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var h=c.selectAll("g.trace.parcats").data(o,p),m=h.enter().append("g").attr("class","trace parcats");h.attr("transform",(function(t){return l(t.x,t.y)})),m.append("g").attr("class","paths");var x=h.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);_(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",b),m.append("g").attr("class","dimensions");var A=h.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var D=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(D),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none");var z=e._fullLayout.paper_bgcolor;M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("text-shadow",f.makeTextShadow(z)).style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){u.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){u.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",L).on("mouseout",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",P).on("drag",O).on("dragend",I)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function v(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=u.left,a="left"):(i=u.left+u.width,a="right");var v=c.model.count,g=c.model.categoryLabel,y=v/c.parcatsViewModel.model.count,m={countLabel:v,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",m.countLabel].join(" ")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+m.categoryLabel+"):",m.probabilityLabel].join(" "));var b=x.join("
");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:m,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:y}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,u=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(u),S(u,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(u),M(u,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,u):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=f.model.categoryLabel,y=u.parcatsViewModel.model.count,m=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(m+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=m/y,w=m/b,T=m/x,k={countLabel:y,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(v-e.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:m}]}}(r,a,u):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,u)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function C(t){var e=t.parcatsViewModel;e.dragDimension||(_(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(v),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function P(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),z(t.parcatsViewModel)}}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=D(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var u=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),c=u.map((function(t){return t.categoryValue})),f=u.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[c],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function D(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)c+="C"+u[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),c+="l-"+r[s]+",0 ";return c+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}u.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(u.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),v=0;v0?d*(y.count/p):0;for(var m,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),v=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),u=0;u0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:t},v=v+a+8,c.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:c,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){h(r,t,n,e)}},45784:function(t,e,r){"use strict";var n=r(45460);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},73362:function(t,e,r){"use strict";var n=r(50693),i=r(13838),a=r(41940),o=r(27670).Y,s=r(1426).extendFlat,l=r(44467).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},57920:function(t,e,r){"use strict";var n=r(25706),i=r(39898),a=r(28984).keyFun,o=r(28984).repeat,s=r(71828).sorterAsc,l=r(71828).strTranslate,u=n.bar.snapRatio;function c(t,e){return t*(1-u)+e*u}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],u=l,f=a;i*fe){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-u[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||m()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar="ns"===s.region,u.grabbingBar){var c=l.map(e.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),u.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,u.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),u?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(v).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var u=t.selectAll(".highlight").data(o);u.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),u.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},71791:function(t,e,r){"use strict";t.exports={attributes:r(73362),supplyDefaults:r(3633),calc:r(24639),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(49351),categories:["gl","regl","noOpacity","noHover"],meta:{}}},49351:function(t,e,r){"use strict";var n=r(39898),i=r(27659).a0,a=r(21341),o=r(77922);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},24639:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray,i=r(21081),a=r(28984).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var v=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,c);o(e,l,c),Array.isArray(v)&&v.length||(e.visible=!1),h(e,v,"values",g);var y={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(c,"labelfont",y),n.coerceFont(c,"tickfont",y),n.coerceFont(c,"rangefont",y),c("labelangle"),c("labelside"),c("unselected.line.color"),c("unselected.line.opacity")}},1602:function(t,e,r){"use strict";var n=r(71828).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},67618:function(t,e,r){"use strict";var n=r(71791);n.plot=r(21341),t.exports=n},83398:function(t,e,r){"use strict";var n=r(56068),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n p17_20, p21_24, p25_28, p29_32,\n p33_36, p37_40, p41_44, p45_48,\n p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\nuniform sampler2D maskTexture, palette;\n\nbool isPick = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(maskTexture,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]),a=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n"]),o=r(25706).maxDimensionCount,s=r(71828),l=new Uint8Array(4),u=new Uint8Array(4),c={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,e(a),l*n+u>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),i=0,a=0;ac&&(c=t[i].dim1.canvasX,o=i);0===s&&f(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&no._length&&(S=S.slice(0,o._length));var L,C=o.tickvals;function P(t,e){return{val:t,text:L[e]}}function O(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){L=o.ticktext,Array.isArray(L)&&L.length?L.length>C.length?L=L.slice(0,C.length):C.length>L.length&&(C=C.slice(0,L.length)):L=C.map(a(o.tickformat));for(var I=1;I=r||l>=i)return;var u=t.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+m.cn.parcoords).data(F,d);j.exit().remove(),j.enter().append("g").classed(m.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return u(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+m.cn.parcoordsControlView).data(v,d);U.enter().append("g").classed(m.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return u(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+m.cn.yAxis).data((function(t){return t.dimensions}),d);V.enter().append("g").classed(m.cn.yAxis,!0),U.each((function(t){I(V,t,T)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=b(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;R.linePickActive(!1),t.x=Math.max(-m.overdrag,Math.min(t.model.width+m.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),I(V,e,T),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",u(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,I(V,e,T),n.select(this).attr("transform",(function(t){return u(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),R.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var H=V.selectAll("."+m.cn.axisOverlays).data(v,d);H.enter().append("g").classed(m.cn.axisOverlays,!0),H.selectAll("."+m.cn.axis).remove();var q=H.selectAll("."+m.cn.axis).data(v,d);q.enter().append("g").classed(m.cn.axis,!0),q.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return y.isOrdinal(t)?e:D(t.model.dimensions[t.visibleIndex],e)})).scale(r)),f.font(q.selectAll("text"),t.model.tickFont)})),q.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),q.selectAll("text").style("text-shadow",c.makeTextShadow(A)).style("cursor","default");var G=H.selectAll("."+m.cn.axisHeading).data(v,d);G.enter().append("g").classed(m.cn.axisHeading,!0);var Z=G.selectAll("."+m.cn.axisTitle).data(v,d);Z.enter().append("text").classed(m.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),Z.text((function(t){return t.label})).each((function(e){var r=n.select(this);f.font(r,e.model.labelFont),c.convertToTspans(r,t)})).attr("transform",(function(t){var e=O(t.model.labelAngle,t.model.labelSide),r=m.axisTitleOffset;return(e.dir>0?"":u(0,2*r+t.model.height))+l(e.degrees)+u(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=O(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var Y=H.selectAll("."+m.cn.axisExtent).data(v,d);Y.enter().append("g").classed(m.cn.axisExtent,!0);var W=Y.selectAll("."+m.cn.axisExtentTop).data(v,d);W.enter().append("g").classed(m.cn.axisExtentTop,!0),W.attr("transform",u(0,-m.axisExtentOffset));var X=W.selectAll("."+m.cn.axisExtentTopText).data(v,d);X.enter().append("text").classed(m.cn.axisExtentTopText,!0).call(P),X.text((function(t){return z(t,!0)})).each((function(t){f.font(n.select(this),t.model.rangeFont)}));var J=Y.selectAll("."+m.cn.axisExtentBottom).data(v,d);J.enter().append("g").classed(m.cn.axisExtentBottom,!0),J.attr("transform",(function(t){return u(0,t.model.height+m.axisExtentOffset)}));var K=J.selectAll("."+m.cn.axisExtentBottomText).data(v,d);K.enter().append("text").classed(m.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(P),K.text((function(t){return z(t,!1)})).each((function(t){f.font(n.select(this),t.model.rangeFont)})),x.ensureAxisBrush(H,A,t)}},21341:function(t,e,r){"use strict";var n=r(17171),i=r(79749),a=r(1602).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},u={},c={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,u[r]=t.data[i].dimensions.slice()})),n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=u[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[f[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,u[e].filter(a));l[e].sort(n),u[e].filter((function(t){return!a(t)})).sort((function(t){return u[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(u[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},34e3:function(t,e,r){"use strict";var n=r(9012),i=r(27670).Y,a=r(41940),o=r(22399),s=r(5386).fF,l=r(5386).si,u=r(1426).extendFlat,c=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:u({},c,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:u({},c,{}),outsidetextfont:u({},c,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:u({},c,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:u({},c,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},13584:function(t,e,r){"use strict";var n=r(74875);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},32354:function(t,e,r){"use strict";var n=r(92770),i=r(84267),a=r(7901),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var u=0,c=0;c0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}t.exports={handleLabelsAndValues:l,supplyDefaults:function(t,e,r,n){function u(r,n){return i.coerce(t,e,a,r,n)}var c=l(u("labels"),u("values")),f=c.len;if(e._hasLabels=c.hasLabels,e._hasValues=c.hasValues,!e._hasLabels&&e._hasValues&&(u("label0"),u("dlabel")),f){e._length=f,u("marker.line.width")&&u("marker.line.color"),u("marker.colors"),u("scalegroup");var h,p=u("text"),d=u("texttemplate");if(d||(h=u("textinfo",Array.isArray(p)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),d||h&&"none"!==h){var v=u("textposition");s(t,e,n,u,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(v)||"auto"===v||"outside"===v)&&u("automargin"),("inside"===v||"auto"===v||Array.isArray(v))&&u("insidetextorientation")}o(e,n,u);var g=u("hole");if(u("title.text")){var y=u("title.position",g?"middle center":"top center");g||"middle center"!==y||(e.title.position="top center"),i.coerceFont(u,"title.font",n.font)}u("sort"),u("direction"),u("rotation"),u("pull")}else e.visible=!1}}},20007:function(t,e,r){"use strict";var n=r(23469).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},53581:function(t,e,r){"use strict";var n=r(71828);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r"),name:f.hovertemplate||-1!==h.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,f)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[u.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:i,size:a}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(f||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||f){var m=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/m,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=T(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a)),(d||h)&&((a=k(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_=1)break}return v[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=O(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,u=t.r/(void 0===(l=t.trace.aspectratio)?1:l),c=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=c/t.titleBox.width,n=P(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function P(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function O(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function I(t,e){for(var r=[],n=0;n1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=g.getFirstFilled(i.text,e.pts);(m(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d("pie",a),_(e,t),I(e,h);var v=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),v=e[0],y=v.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u="px0",c="px1";if("counterclockwise"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var m=n.select(this).selectAll("g.slice").data(e);m.enter().append("g").classed("slice",!0),m.exit().remove();var _=[[[],[]],[[],[]]],T=!1;m.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),h.call(x,t,e),y.pull){var m=+g.castOption(y.pull,i.pts)||0;m>0&&(u+=m*i.pxmid[0],c+=m*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var k=y.hole;if(i.v===v.vTotal){var A="M"+(u+i.px0[0])+","+(c+i.px0[1])+P(i.px0,i.pxmid,!0,1)+P(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(u+k*i.px0[0])+","+(c+k*i.px0[1])+P(i.px0,i.pxmid,!1,k)+P(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=P(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(u+k*i.px1[0])+","+(c+k*i.px1[1])+P(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+u+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}z(t,i,v);var E=g.castOption(y.textposition,i.pts),C=h.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size}}(y,i,a.font):b(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var d,m=s.bBox(r.node());if("outside"===E)d=L(m,i);else if(d=w(m,i,v),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=L(m=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:D(v.r,_);if(d.targetX=u+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,m),d.outside){var A=d.targetY;i.yLabelMin=A-m.height/2,i.yLabelMid=A,i.yLabelMax=A+m.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function P(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*v.r+","+n*v.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(f.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):C(v,h),r.attr("transform",c(e.x,e.y)+u(Math.min(1,e.scale))+c(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,l,u,c,f,h,p,d;function v(t,e){return t.pxmid[1]-e.pxmid[1]}function y(t,e){return e.pxmid[1]-t.pxmid[1]}function m(t,r){r||(r={});var i,u,c,h,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),d=n?t.yLabelMin:t.yLabelMax,v=n?t.yLabelMax:t.yLabelMin,y=t.cyFinal+o(t.px0[1],t.px1[1]),m=p-d;if(m*l>0&&(t.labelExtraY=m),Array.isArray(e.pull))for(u=0;u=(g.castOption(e.pull,c.pts)||0)||((t.pxmid[1]-c.pxmid[1])*l>0?(m=c.cyFinal+o(c.px0[1],c.px1[1])-d-t.labelExtraY)*l>0&&(t.labelExtraY+=m):(v+t.labelExtraY-y)*l>0&&(i=3*s*Math.abs(u-f.indexOf(t)),(h=c.cxFinal+a(c.px0[0],c.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=h)))}for(n=0;n<2;n++)for(i=n?v:y,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),c=t[1-n][r],f=c.concat(u),p=[],h=0;hMath.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+u):s+="l"+t.labelExtraX+","+c+"v"+(f-c)+"h"+u}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(m,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),P=(.5*S-v.r)/h.w,O=(.5*E-v.r)/h.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-P,xr:M.x[1]+P,yb:M.y[0]-O,yt:M.y[1]+O,l:Math.max(v.cx-v.r-A.left,0),r:Math.max(A.right-(v.cx+v.r),0),b:Math.max(A.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-A.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:z,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},68357:function(t,e,r){"use strict";var n=r(39898),i=r(63463),a=r(72597).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each((function(t){n.select(this).call(i,t,e)}))}))}},63463:function(t,e,r){"use strict";var n=r(7901),i=r(53581).castOption;t.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style("stroke-width",s).call(n.fill,e.color).call(n.stroke,o)}},10959:function(t,e,r){"use strict";var n=r(82196);t.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},42743:function(t,e,r){"use strict";var n=r(9330).gl_pointcloud2d,i=r(78614),a=r(71739).findExtremes,o=r(34603);function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,u=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=i(t.marker.color),g=i(t.marker.border.color),y=t.opacity*t.marker.opacity;v[3]*=y,this.pointcloudOptions.color=v;var m=t.marker.blend;null===m&&(m=u.length<100||c.length<100),this.pointcloudOptions.blend=m,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},33876:function(t,e,r){"use strict";var n=r(71828),i=r(10959);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},20593:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(10959),supplyDefaults:r(33876),calc:r(36563),plot:r(42743),moduleType:"trace",name:"pointcloud",basePlotModule:r(4796),categories:["gl","gl2d","showLegend"],meta:{}}},39953:function(t,e,r){"use strict";var n=r(41940),i=r(9012),a=r(22399),o=r(77914),s=r(27670).Y,l=r(5386).fF,u=r(50693),c=r(44467).templatedArray,f=r(12663).descriptionOnlyNumbers,h=r(1426).extendFlat,p=r(30962).overrideAll;(t.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:f("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]})},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:c("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},75536:function(t,e,r){"use strict";var n=r(30962).overrideAll,i=r(27659).a0,a=r(60436),o=r(528),s=r(6964),l=r(28569),u=r(47322).prepSelect,c=r(71828),f=r(73972),h="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rm&&(m=a.source[e]),a.target[e]>m&&(m=a.target[e]);var x,b=m+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x0&&s(E,b)&&s(L,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(L)||w[E]!==w[L])){w.hasOwnProperty(L)&&(L=w[L]),w.hasOwnProperty(E)&&(E=w[E]),L=+L,h[E=+E]=h[L]=!0;var C="";a.label&&a.label[e]&&(C=a.label[e]);var P=null;C&&p.hasOwnProperty(C)&&(P=p[C]),u.push({pointNumber:e,label:C,color:c?a.color[e]:a.color,customdata:f?a.customdata[e]:a.customdata,concentrationscale:P,source:E,target:L,value:+S}),M.source.push(E),M.target.push(L)}}var O=b+_.length,I=o(r.color),D=o(r.customdata),z=[];for(e=0;eb-1,childrenNodes:[],pointNumber:e,label:R,color:I?r.color[e]:r.color,customdata:D?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(O,M.source,M.target)&&(F=!0),{circular:F,links:u,nodes:z,groups:_,groupLookup:w}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},85247:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},26857:function(t,e,r){"use strict";var n=r(71828),i=r(39953),a=r(7901),o=r(84267),s=r(27670).c,l=r(38048),u=r(44467),c=r(85501);function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),v=t.node,g=u.newContainer(e,"node");function y(t,e){return n.coerce(v,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(v,g,y,d),y("hovertemplate");var m=h.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return m[t%m.length]}(e),.8)}))),y("customdata");var x=t.link||{},b=u.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("arrowlen"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(T,b.value.length)),_("customdata"),c(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},h.font)),e._length=null}},29396:function(t,e,r){"use strict";t.exports={attributes:r(39953),supplyDefaults:r(26857),calc:r(92930),plot:r(60436),moduleType:"trace",name:"sankey",basePlotModule:r(75536),selectPoints:r(84564),categories:["noOpacity"],meta:{}}},60436:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(3393),s=r(30211),l=r(7901),u=r(85247).cn,c=i._;function f(t){return""!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function v(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(x.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),i&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),r&&h(e,t).selectAll("."+u.sankeyNode).filter(g(t)).call(y)}function b(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){return t.tinyColorAlpha})),i&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),r&&h(e,t).selectAll(u.sankeyNode).filter(g(t)).call(m)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,v=0;v"),color:_(o,"bgcolor")||l.addOpacity(v.color,1),borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:n.event.x"),color:_(o,"bgcolor")||i.tinyColorHue,borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(m,r,i),s.click(t,{target:!0})}}})}},3393:function(t,e,r){"use strict";var n=r(49887),i=r(81684).k4,a=r(39898),o=r(30838),s=r(86781),l=r(85247),u=r(84267),c=r(7901),f=r(91424),h=r(71828),p=h.strTranslate,d=h.strRotate,v=r(28984),g=v.keyFun,y=v.repeat,m=v.unwrap,x=r(63893),b=r(73972),_=r(18783),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=m(e),a=i.trace,c=a.domain,f="h"===a.orientation,p=a.node.pad,d=a.node.thickness,v=t.width*(c.x[1]-c.x[0]),g=t.height*(c.y[1]-c.y[0]),y=i._nodes,x=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[v,g]:[g,v]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(y).links(x);var _,w,T,k=n();for(var A in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(y=k.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(k)}return{circular:b,key:r,trace:a,guid:h.randstr(),horizontal:f,width:v,height:g,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*t.width+t.margin.l,translateY:t.height-c.y[1]*t.height+t.margin.t,dragParallel:f?g:v,dragPerpendicular:f?v:g,arrangement:a.arrangement,sankey:n,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=u(e.color),i=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:i,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),u=t.link.y0-t.link.width/2,c=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p="M"+n+","+u,d="C"+s+","+u+" "+l+","+f+" "+a+","+f,v="C"+l+","+h+" "+s+","+c+" "+n+","+c,g=e>0?"L"+(a+e)+","+(f+t.link.width/2):"";return p+d+(g+="L"+a+","+h)+v+"Z"}}function S(t,e){var r=u(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr("d",M())}function P(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function O(t){return t.link.width>1||t.linkLineWidth>0}function I(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function D(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function z(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[y].gap;)y--;for(x=C[y].s,v=C.length-1;v>y;v--)C[v].s=x;for(;lS[f]&&f=0;f--){var h=t[f];if("scatter"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},17438:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(82196),o=r(47581),s=r(34098),l=r(67513),u=r(73927),c=r(565),f=r(49508),h=r(11058),p=r(94039),d=r(82410),v=r(28908),g=r(71828).coercePattern;t.exports=function(t,e,r,y){function m(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,m);if(x||(e.visible=!1),e.visible){u(t,e,y,m),m("xhoverformat"),m("yhoverformat");var b=c(t,e,y,m);"group"===y.scattermode&&void 0===e.orientation&&m("orientation","v");var _=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&v<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-v);return aY!=(N=D[O][1])>=Y&&(R=D[O-1][0],F=D[O][0],N-B&&(z=R+(F-R)*(Y-B)/(N-B),H=Math.min(H,z),q=Math.max(q,z)));H=Math.max(H,0),q=Math.min(q,h._length);var W=s.defaultLine;return s.opacity(f.fillcolor)?W=f.fillcolor:s.opacity((f.line||{}).color)&&(W=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:H,x1:q,y0:Y,y1:Y,color:W,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},67368:function(t,e,r){"use strict";var n=r(34098);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(82196),layoutAttributes:r(21479),supplyDefaults:r(17438),crossTraceDefaults:r(34936),supplyLayoutDefaults:r(79334),calc:r(47761).calc,crossTraceCalc:r(72626),arraysToCalcdata:r(75225),plot:r(32663),colorbar:r(4898),formatLabels:r(8225),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(33720),selectPoints:r(98002),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(93612),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},21479:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},79334:function(t,e,r){"use strict";var n=r(71828),i=r(21479);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},11058:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray,i=r(52075).hasColorscale,a=r(1586);t.exports=function(t,e,r,o,s,l){l||(l={});var u=(t.marker||{}).color;s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},34621:function(t,e,r){"use strict";var n=r(91424),i=r(50606),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(71828),c=u.segmentsIntersect,f=u.constrain,h=r(47581);t.exports=function(t,e){var r,i,o,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,P="log"===L.type,O="log"===C.type,I=L._length,D=C._length,z=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],H=h.minTolerance,q=t.length,G=new Array(q),Z=0;function Y(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(P&&(i=L.c2p(n.x,!0)),i===a)return!1;O&&o===a&&(i*=Math.abs(L._m*D*(L._m>0?s:l)/(C._m*I*(C._m>0?s:l)))),i*=1e3}if(o===a){if(O&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function W(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&uot||t[1]lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ht(t,e,r){return function(n,i){var a=ct(n),o=ct(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[Z-1][0],i=r===G[Z-1][1];if(!n||!i)if(Z>1){var a=e===G[Z-2][0],o=r===G[Z-2][1];n&&(e===at||e===ot)&&a?o?Z--:G[Z-1]=t:i&&(r===st||r===lt)&&o?a?Z--:G[Z-1]=t:G[Z++]=t}else G[Z++]=t}function dt(t){G[Z-1][0]!==t[0]&&G[Z-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ut[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&J(o,t)ot?ot:0,$=e[1]lt?lt:0,K||$){if(Z)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[Z++]=n[1])}else rt=nt(G[Z-1],e)[0],G[Z++]=rt;else G[Z++]=[K||e[0],$||e[1]];var i=G[Z-1];K&&$&&(i[0]!==K||i[1]!==$)?(et&&(Q!==K&&tt!==$?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||K,tt||$]):Q&&tt&&pt([Q,tt])),pt([K,$])):Q-K&&tt-$&&pt([K||Q,$||tt]),et=e,Q=K,tt=$}else et&&dt(nt(et,e)[0]),G[Z++]=e;var a,o,s,l}for(r=0;rX(v,yt))break;o=v,(w=m[0]*y[0]+m[1]*y[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!v)break;gt(v),i=v}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,Z))}var mt=N.slice(N.length-1);if(z&&"h"!==mt&&"v"!==mt){for(var xt=!1,bt=-1,_t=[],wt=0;wt=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},4898:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},49508:function(t,e,r){"use strict";var n=r(7901),i=r(52075).hasColorscale,a=r(1586),o=r(34098);t.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),u.noAngle||(l("marker.angle"),u.noAngleRef||l("marker.angleref"),u.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},73927:function(t,e,r){"use strict";var n=r(71828).dateTick0,i=r(50606).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},32663:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(71828),o=a.ensureSingle,s=a.identity,l=r(91424),u=r(34098),c=r(34621),f=r(68687),h=r(61082).tester;function p(t,e,r,f,p,d,v){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return m?t.transition():t}var b=r.xaxis,_=r.yaxis,w=f[0].trace,T=w.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),S=o(k,"g","points"),E=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,v),!0===w.visible){var L,C;x(k).style("opacity",w.opacity);var P=w.fill.charAt(w.fill.length-1);"x"!==P&&"y"!==P&&(P=""),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var O,I,D="",z=[],R=w._prevtrace;R&&(D=R._prevRevpath||"",C=R._nextFill,z=R._polygons);var F,B,N,j,U,V,H,q="",G="",Z=[],Y=a.noop;if(L=w._ownFill,u.hasLines(w)||"none"!==w.fill){for(C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(F=l.steps(T.shape),B=l.steps(T.shape.split("").reverse().join(""))):F=B="spline"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return"M"+t.join("L")},N=function(t){return B(t.reverse())},Z=c(f,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),H=w._polygons=new Array(Z.length),g=0;g0,g=f(t,e,r);(c=i.selectAll("g.trace").data(g,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push("_ownFill"),a._nexttrace&&u.push("_nextFill");var c=i.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):c.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&c.exit().remove(),i.selectAll("path:not([d])").remove()}},98002:function(t,e,r){"use strict";var n=r(34098);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",p||d);for(var v=["x","y","z"],g=0;g<3;++g){var y="projection."+v[g];f(y+".show")&&(f(y+".opacity"),f(y+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||d||r,{axis:"z"}),m(t,e,p||d||r,{axis:"y",inherit:"z"}),m(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},13551:function(t,e,r){"use strict";t.exports={plot:r(58925),attributes:r(44542),markerSymbols:r(87381),supplyDefaults:r(21428),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(36563),moduleType:"trace",name:"scatter3d",basePlotModule:r(58547),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},97001:function(t,e,r){"use strict";var n=r(82196),i=r(9012),a=r(5386).fF,o=r(5386).si,s=r(50693),l=r(1426).extendFlat,u=n.marker,c=n.line,f=u.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),hovertext:l({},n.hovertext,{}),line:{color:c.color,width:c.width,dash:c.dash,backoff:c.backoff,shape:l({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:l({width:f.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:a()}},34618:function(t,e,r){"use strict";var n=r(92770),i=r(36922),a=r(75225),o=r(66279),s=r(47761).calcMarkerSize,l=r(22882);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,f,h=e._length,p=new Array(h),d=!1;for(u=0;u")}return o}function m(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},46858:function(t,e,r){"use strict";t.exports={attributes:r(97001),supplyDefaults:r(98965),colorbar:r(4898),formatLabels:r(48953),calc:r(34618),plot:r(1913),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(22931),selectPoints:r(98002),eventData:r(16165),moduleType:"trace",name:"scattercarpet",basePlotModule:r(93612),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},1913:function(t,e,r){"use strict";var n=r(32663),i=r(89298),a=r(91424);t.exports=function(t,e,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(t,c.xaxis||"x"),h=i.getFromId(t,c.yaxis||"y"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s")}function p(t){return t+"°"}}(u,v,t,l[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},17988:function(t,e,r){"use strict";t.exports={attributes:r(19316),supplyDefaults:r(10659),colorbar:r(4898),formatLabels:r(82719),calc:r(84622),calcGeoJSON:r(89171).calcGeoJSON,plot:r(89171).plot,style:r(33095),styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(14977),eventData:r(84084),selectPoints:r(20548),moduleType:"trace",name:"scattergeo",basePlotModule:r(44622),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},89171:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(90973).getTopojsonFeatures,o=r(18214),s=r(41327),l=r(71739).findExtremes,u=r(50606).BADNUM,c=r(47761).calcMarkerSize,f=r(34098),h=r(33095);t.exports={calcGeoJSON:function(t,e){var r,n,i=t[0].trace,o=e[i.geo],f=o._subplot,h=i._length;if(Array.isArray(i.locations)){var p=i.locationmode,d="geojson-id"===p?s.extractTraceFeature(t):a(i,f.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,"x"),A=m.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,m,"y",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),P=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,C,E,L),D=d(t,x);return f(o,e),_?I.marker&&(O=I.marker.sizeAvg||Math.max(I.marker.size,3)):O=u(e,b),c(t,e,l,m,E,L,O),I.errorX&&y(e,l,I.errorX),I.errorY&&y(e,m,I.errorY),I.fill&&!D.fill2d&&(D.fill2d=!0),I.marker&&!D.scatter2d&&(D.scatter2d=!0),I.line&&!D.line2d&&(D.line2d=!0),!I.errorX&&!I.errorY||D.error2d||(D.error2d=!0),I.text&&!D.glText&&(D.glText=!0),I.marker&&(I.marker.snap=b),D.lineOptions.push(I.line),D.errorXOptions.push(I.errorX),D.errorYOptions.push(I.errorY),D.fillOptions.push(I.fill),D.markerOptions.push(I.marker),D.markerSelectedOptions.push(I.markerSel),D.markerUnselectedOptions.push(I.markerUnsel),D.textOptions.push(I.text),D.textSelectedOptions.push(I.textSel),D.textUnselectedOptions.push(I.textUnsel),D.selectBatch.push([]),D.unselectBatch.push([]),T._scene=D,T.index=D.count,T.x=E,T.y=L,T.positions=C,D.count++,[{x:!1,y:!1,t:T,trace:e}]}},78232:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},19635:function(t,e,r){"use strict";var n=r(92770),i=r(82019),a=r(25075),o=r(73972),s=r(71828),l=r(91424),u=r(41675),c=r(81697).formatColor,f=r(34098),h=r(39984),p=r(68645),d=r(78232),v=r(37822).DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},y=r(23469).appendArrayPointValue;function m(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,l=e.textposition,u=Array.isArray(l)?l:[l],c=o.color,f=o.size,h=o.family,p={},d=t._context.plotGlPixelRatio,v=e.texttemplate;if(v){p.text=[];var g=i._d3locale,m=Array.isArray(v),x=m?Math.min(v.length,a):a,b=m?function(t){return v[t]}:function(){return v};for(r=0;rd.TOO_MANY_POINTS||f.hasMarkers(e)?"rect":"round";if(u&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i1?l[i]:l[0]:l,d=Array.isArray(u)?u.length>1?u[i]:u[0]:u,v=g[p],y=g[d],m=c?c/.8+1:0,x=-y*m-.5*y;o.offset[i]=[v*m/h,x/h]}}return o}}},47148:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(68645),o=r(42341),s=r(47581),l=r(34098),u=r(67513),c=r(73927),f=r(49508),h=r(11058),p=r(28908),d=r(82410);t.exports=function(t,e,r,v){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),m=l.isBubble(t),x=u(t,e,v,g);if(x){c(t,e,v,g),g("xhoverformat"),g("yhoverformat");var b=x100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},20794:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(34603);function o(t,e,r,o){var s=t.xa,l=t.ya,u=t.distance,c=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=Array.isArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=Array.isArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&"none"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var y=s.c2p(h.x,!0),m=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:y-x,x1:y+x,xLabelVal:k?k[f]:h.x,y0:m-x,y1:m+x,yLabelVal:A?A[f]:h.y,cd:T,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod("errorbars","hoverInfo")(h,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,u,c,f,h,p,d,v=t.cd,g=v[0].t,y=v[0].trace,m=t.xa,x=t.ya,b=g.x,_=g.y,w=m.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=m.p2c(w-k),M=m.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if("x"===n){var C=!!y.xperiodalignment,P=!!y.yperiodalignment;for(c=0;c=Math.min(O,I)&&w<=Math.max(O,I)?0:1/0}if(f=Math.min(D,z)&&T<=Math.max(D,z)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=m.c2p(l)-w,h=x.c2p(u)-T,(p=Math.sqrt(f*f+h*h))m.glText.length){var T=_-m.glText.length;for(v=0;vr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),m.line2d.update(m.lineOptions)),m.error2d){var A=(m.errorXOptions||[]).concat(m.errorYOptions||[]);m.error2d.update(A)}m.scatter2d&&m.scatter2d.update(m.markerOptions),m.fillOrder=s.repeat(null,_),m.fill2d&&(m.fillOptions=m.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=m.lineOptions[e],c=[];s._ownfill&&c.push(e),s._nexttrace&&c.push(e+1),c.length&&(m.fillOrder[e]=c);var f,h,p=[],d=u&&u.positions||l.positions;if("tozeroy"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(v=0;v<_;v++){var L=r[v][0],C=L.trace,P=L.t,O=P.index,I=C._length,D=P.x,z=P.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=m.selectBatch[O]=s.selIndices2selPoints(C),F={};for(g=0;g")}function c(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],v=l+c.uid+"-circle",g=c.cluster&&c.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[v]});d=y.map((function(t){return t.id}))}var m=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-m;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+m,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(c,b),t.extraText=u(c,b,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:u}},20467:function(t,e,r){"use strict";t.exports={attributes:r(99181),supplyDefaults:r(76645),colorbar:r(4898),formatLabels:r(15636),calc:r(84622),plot:r(86951),hoverPoints:r(28178).hoverPoints,eventData:r(53353),selectPoints:r(86387),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(50101),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},86951:function(t,e,r){"use strict";var n=r(71828),i=r(15790),a=r(77734).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom}),this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter),this.subplot.addLayer(n,r)},l.update=function(t){var e=t[0].trace,r=this.subplot,n=r.map,a=i(r.gd,t),s=r.belowLookup["trace-"+this.uid],l=!(!e.cluster||!e.cluster.enabled),u=!!this.clusterEnabled,c=this;function f(t){u?function(t){for(var e=o.cluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i])}t||n.removeSource(c.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i]),t||n.removeSource(c.sourceIds[i])}}(t)}function h(t){l?function(t){t||c.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(t,l.uid,u,c),h=i(t.gd,e),p=f.below=t.belowLookup["trace-"+l.uid];if(u)for(f.addSource("circle",h.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},91271:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(23580),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(81245),supplyDefaults:r(22184).supplyDefaults,colorbar:r(4898),formatLabels:r(98608),calc:r(26442),plot:r(45162),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(59150).hoverPoints,selectPoints:r(98002),meta:{}}},45162:function(t,e,r){"use strict";var n=r(32663),i=r(50606).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=e.radialAxis,c=e.angularAxis,f=0;f=u&&(m.marker.cluster=d.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=_),m.line&&_.length>1&&l.extendFlat(m.line,s.linePositions(t,p,_)),m.text&&(l.extendFlat(m.text,{positions:_},s.textPosition(t,p,m.text,m.marker)),l.extendFlat(m.textSel,{positions:_},s.textPosition(t,p,m.text,m.markerSel)),l.extendFlat(m.textUnsel,{positions:_},s.textPosition(t,p,m.text,m.markerUnsel))),m.fill&&!h.fill2d&&(h.fill2d=!0),m.marker&&!h.scatter2d&&(h.scatter2d=!0),m.line&&!h.line2d&&(h.line2d=!0),m.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(m.line),h.fillOptions.push(m.fill),h.markerOptions.push(m.marker),h.markerSelectedOptions.push(m.markerSel),h.markerUnselectedOptions.push(m.markerUnsel),h.textOptions.push(m.text),h.textSelectedOptions.push(m.textSel),h.textUnselectedOptions.push(m.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},48300:function(t,e,r){"use strict";var n=r(5386).fF,i=r(5386).si,a=r(1426).extendFlat,o=r(82196),s=r(9012),l=o.line;t.exports={mode:o.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:o.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,backoff:l.backoff,shape:a({},l.shape,{values:["linear","spline"]}),smoothing:l.smoothing,editType:"calc"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},30621:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=r(36922),o=r(75225),s=r(66279),l=r(47761).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(e,"real"),p=f.makeCalcdata(e,"imag"),d=e._length,v=new Array(d),g=0;g")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},85956:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(7504),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(48300),supplyDefaults:r(65269),colorbar:r(4898),formatLabels:r(62047),calc:r(30621),plot:r(12480),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(11350).hoverPoints,selectPoints:r(98002),meta:{}}},12480:function(t,e,r){"use strict";var n=r(32663),i=r(50606).BADNUM,a=r(23893).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,u={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=0;c"),o.hovertemplate=h.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},52979:function(t,e,r){"use strict";t.exports={attributes:r(50413),supplyDefaults:r(46008),colorbar:r(4898),formatLabels:r(93645),calc:r(54337),plot:r(7507),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(47250),selectPoints:r(98002),eventData:r(4524),moduleType:"trace",name:"scatterternary",basePlotModule:r(61639),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},7507:function(t,e,r){"use strict";var n=r(32663);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),u=0;uh?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,P=!0;if(o(x)||p.selectedpoints||C){var O=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,D={};for(l=0;l1&&(c=v[m-1],h=g[m-1],d=y[m-1]),e=0;ec?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var L=function(){m=0,M=[],S=[],E=[]};(!m||m2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function d(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var v=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(f.meshgrid=[v,g,y],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var m=g[0],x=h(v),b=h(y),_=new Array(x.length*b.length),w=0,T=0;T=0};m?(r=Math.min(y.length,b.length),l=function(t){return M(y[t])&&S(t)},f=function(t){return String(y[t])}):(r=Math.min(x.length,b.length),l=function(t){return M(x[t])&&S(t)},f=function(t){return String(x[t])}),w&&(r=Math.min(r,_.length));for(var E=0;E1){for(var O=a.randstr(),I=0;I"),name:A||D("name")?m.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:P,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");h.styleOne(N,i,m,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[f(i,m,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");h.styleOne(l,s,a,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(t)||u.isLeaf(t)),c=u.getPtId(t),p=u.isEntry(t)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),y=u.getPtId(p),m={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(m.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",m);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:y}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},2791:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(6964),o=r(53581);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},87619:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(66888),categories:[],animatable:!0,attributes:r(57564),layoutAttributes:r(2654),supplyDefaults:r(17094),supplyLayoutDefaults:r(57034),calc:r(52147).calc,crossTraceCalc:r(52147).crossTraceCalc,plot:r(24714).plot,style:r(29969).style,colorbar:r(4898),meta:{}}},2654:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57034:function(t,e,r){"use strict";var n=r(71828),i=r(2654);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},24714:function(t,e,r){"use strict";var n=r(39898),i=r(674),a=r(81684).sX,o=r(91424),s=r(71828),l=r(63893),u=r(72597),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(14575),p=r(53581).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(29969).styleOne,y=r(16688).resizeText,m=r(83523),x=r(7055),b=r(2791);function _(t,r,u,f){var h=t._context.staticPlot,y=t._fullLayout,_=!y.uniformtext.mode&&b.hasTransition(f),T=n.select(u).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=y._size,C=A.domain,P=L.w*(C.x[1]-C.x[0]),O=L.h*(C.y[1]-C.y[0]),I=.5*Math.min(P,O),D=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,z=k.cy=L.t+L.h*(1-C.y[0])-O/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var H=Math.min(N,E),q=function(t){return(t-j)/H*I},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},Z=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,D,z)},Y=function(t){return D+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},W=function(t){return z+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append("g").classed("slice",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1X?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,$(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return Z(e(t))}})):f.attr("d",Z),u.call(m,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A);var p=s.ensureSingle(u,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=v(M,i,k),i.transform.targetX=Y(i),i.transform.targetY=W(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,c(A.type,r,y),s.getTextTransform(r)};_?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(X){var i=t.x1>X?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,$(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),u=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,v=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=u(t),i=f(t),a=function(t){return v(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return c(A.type,n,y),{transform:{targetX:Y(s),targetY:W(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,u=n[0],c=t.data.data,f=u.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var v,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},m=[];if(y("label")&&c.label&&m.push(c.label),c.hasOwnProperty("v")&&y("value")&&m.push(b.formatValue(c.v,l)),!h){y("current path")&&m.push(b.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var _=x>1;if(x){var w,T=function(t){v=b.formatPercent(w,l),_&&(v+=" of "+t),m.push(v)};y("percent parent")&&!h&&(w=d/b.getValue(p),T("parent")),y("percent entry")&&(w=d/b.getValue(e),T("entry")),y("percent root")&&(w=d/b.getValue(f),T("root"))}}return y("text")&&(v=s.castOption(r,c.i,"text"),s.isValidTextValue(v)&&m.push(v)),m.join("
")}var k=s.castOption(r,c.i,"texttemplate");if(!k)return"";var A={};c.label&&(A.label=c.label),c.hasOwnProperty("v")&&(A.value=c.v,A.valueLabel=b.formatValue(c.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),c.hasOwnProperty("color")&&(A.color=c.color);var M=s.castOption(r,c.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,c.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},29969:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(72597).resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,"marker.line.color")||i.defaultLine,u=a.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",u).call(i.fill,n.color).call(i.stroke,l).style("opacity",o?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},54532:function(t,e,r){"use strict";var n=r(7901),i=r(50693),a=r(12663).axisHoverFormat,o=r(5386).fF,s=r(9012),l=r(1426).extendFlat,u=r(30962).overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var f=t.exports=u(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");f.x.editType=f.y.editType=f.z.editType="calc+clearAxisTypes",f.transforms=void 0},18396:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},43768:function(t,e,r){"use strict";var n=r(9330).gl_surface3d,i=r(9330).ndarray,a=r(9330).ndarray_linear_interpolate.d2,o=r(824),s=r(43907),l=r(71828).isArrayOrTypedArray,u=r(81697).parseColorScale,c=r(78614),f=r(21081).extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return Array.isArray(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t0){r=d[n];break}return r}function m(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=y(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},51018:function(t,e,r){"use strict";var n=r(49850),i=r(1426).extendFlat,a=r(92770);function o(t){if(Array.isArray(t)){for(var e=0,r=0;r=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}t.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var v=d.concat(p(r).map((function(){return u((d[0]||[""]).length)}))),g=e.domain,y=Math.floor(t._fullLayout._size.w*(g.x[1]-g.x[0])),m=Math.floor(t._fullLayout._size.h*(g.y[1]-g.y[0])),x=e.header.values.length?v[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=h(b,m-_+n.uplift),T=f(h(x,_),[]),k=f(w,T),A={},M=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=v.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*y}));var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:g.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-g.y[1]),size:t._fullLayout._size,width:y,maxLineWidth:L,height:m,columnOrder:M,groupHeight:m,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:v}),gdColumns:v.map((function(t){return t[0]})),gdColumnsOriginalOrder:v.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:v.map((function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:c,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return C.columns.forEach((function(t){t.calcdata=C,t.x=c(t)})),C}},56269:function(t,e,r){"use strict";var n=r(1426).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},39754:function(t,e,r){"use strict";var n=r(71828),i=r(44464),a=r(27670).c;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var u,c="string"==typeof(u=i)&&u.match(n.latexCheck);t.latex=c;var f,h,p=c?"":T(t.calcdata.cells.prefix,e,r)||"",d=c?"":T(t.calcdata.cells.suffix,e,r)||"",v=c?null:T(t.calcdata.cells.format,e,r)||null,g=p+(v?a(v)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!c&&(f=w(g)),t.cellHeightMayIncrease=s||c||t.mayHaveMarkup||(void 0===f?w(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each((function(t,e){t.page=u[e],t.scrollY=l})),e.attr("transform",(function(t){var e=z(t.rowBlocks,t.page)-t.scrollY;return c(0,e)})),t&&(C(t,r,e,u,n.prevPages,n,0),C(t,r,e,u,n.prevPages,n,1),x(r,t))}}function L(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(A);return E(t,f,l),s.scrollY===c}}function C(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));b(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],u=0,c=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)u+(i=(r=s.shift()).width+a)>c&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),_(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(D)}}function O(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=B(o),u=o.key-l.firstRowIndex,f=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:f,p=Math.max(h,f);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(D),E(null,t.filter(A),0),x(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return c(I(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function I(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function D(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+R(e,1/0)}),0),r=R(B(t),t.key);return c(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=B(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function z(t,e){for(var r=0,n=e-1;n>=0;n--)r+=F(t[n]);return r}function R(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:c({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},78018:function(t,e,r){"use strict";var n=r(74875);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},65039:function(t,e,r){"use strict";var n=r(52147);e.y=function(t,e){return n.calc(t,e)},e.T=function(t){return n._runCrossTraceCalc("treemap",t)}},43473:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},91174:function(t,e,r){"use strict";var n=r(71828),i=r(45802),a=r(7901),o=r(27670).c,s=r(90769).handleText,l=r(97313).TEXTPAD,u=r(21081),c=u.hasColorscale,f=u.handleDefaults;t.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,i,r,a)}var p=h("labels"),d=h("parents");if(p&&p.length&&d&&d.length){var v=h("values");v&&v.length?h("branchvalues"):h("count"),h("level"),h("maxdepth"),"squarify"===h("tiling.packing")&&h("tiling.squarifyratio"),h("tiling.flip"),h("tiling.pad");var g=h("text");h("texttemplate"),e.texttemplate||h("textinfo",Array.isArray(g)?"text+label":"label"),h("hovertext"),h("hovertemplate");var y=h("pathbar.visible");s(t,e,u,h,"auto",{hasPathbar:y,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h("textposition");var m=-1!==e.textposition.indexOf("bottom");h("marker.line.width")&&h("marker.line.color",u.paper_bgcolor);var x=h("marker.colors");(e._hasColorscale=c(t,"marker","colors")||(t.marker||{}).coloraxis)?f(t,e,u,h,{prefix:"marker.",cLetter:"c"}):h("marker.depthfade",!(x||[]).length);var b=2*e.textfont.size;h("marker.pad.t",m?b/4:b),h("marker.pad.l",b/4),h("marker.pad.r",b/4),h("marker.pad.b",m?b:b/4),h("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(u.paper_bgcolor)}}},y&&(h("pathbar.thickness",e.pathbar.textfont.size+2*l),h("pathbar.side"),h("pathbar.edgeshape")),h("sort"),h("root.color"),o(e,u,h),e._length=null}else e.visible=!1}},80694:function(t,e,r){"use strict";var n=r(39898),i=r(2791),a=r(72597).clearMinTextSize,o=r(16688).resizeText,s=r(46650);t.exports=function(t,e,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=t._fullLayout,v=d["_"+h+"layer"],g=!r;a(h,d),(c=v.selectAll("g.trace."+h).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){v.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(c.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,v.selectAll(".trace"),h)),g&&c.exit().remove()}},66209:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(37210),l=r(96362).styleOne,u=r(43473),c=r(2791),f=r(83523),h=!0;t.exports=function(t,e,r,p,d){var v=d.barDifY,g=d.width,y=d.height,m=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,L=t._fullLayout,C=e[0],P=C.trace,O=C.hierarchy,I=g/P._entryDepth,D=c.listPath(r.data,"id"),z=s(O.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=D.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=v,t.y1=v+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(z,c.getPtId)).enter().append("g").classed("pathbar",!0),k(p,h,S,[g,y],b),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,h,S,[g,y]);return function(t){return b(e(t))}})):d.attr("d",b),p.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,P,{hovered:!1}),s._text=(c.getPtLabel(s)||"").split("
").join(" ")||"";var v=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(v,"text","",(function(t){t.attr("data-notex",1)})),C=i.ensureUniformFontSize(t,c.determineTextFont(P,s,L.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,C).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=_(s,{fontSize:C.size,onPathbar:!0}),s.transform.fontSize=C.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,h,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},52583:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(37210),l=r(96362).styleOne,u=r(43473),c=r(2791),f=r(83523),h=r(24714).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,P=-1!==C.textposition.indexOf("left"),O=-1!==C.textposition.indexOf("right"),I=-1!==C.textposition.indexOf("bottom"),D=!I&&!C.marker.pad.t||I&&!C.marker.pad.b,z=s(r,[g,y],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),R=1/0,F=-1/0;z.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(z,c.getPtId),C._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var B=null;if(T&&S){var N=c.getPtId(S);d.each((function(t){null===B&&c.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,C);s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.marker.pad.r),s._hoverY=x(I?s.y1-C.marker.pad.b/2:s.y0+C.marker.pad.t/2);var v=n.select(this),k=i.ensureSingle(v,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return b(e(t))}})):k.attr("d",b),v.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,C,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?D?"":c.getPtLabel(s)||"":h(s,r,C,e,L)||"";var S=i.ensureSingle(v,"g","slicetext"),z=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",O?"end":P||d?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(z.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?z.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):z.attr("transform",w(s))})),B}},14102:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+I:-(O+I):0,z={x0:P,x1:P,y0:D,y1:D+O},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=v.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=k;var V=-L/2+S.l+S.w*(E.x[1]+E.x[0])/2,H=-C/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),q=function(t){return V+t},G=function(t){return H+t},Z=G(0),Y=q(0),W=function(t){return Y+t},X=function(t){return Z+t};function J(t,e){return t+","+e}var K=W(0),$=function(t){t.x=Math.max(K,t.x)},Q=y.pathbar.edgeshape,tt=y[m?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,c=rt||e.isHeader&&!at?"start":at?"end":"middle",f=et("right"),h=et("left")||e.onPathbar?-1:f?1:0;if(e.isHeader){if((r+=(m?tt:tt.l)-s)>=(n-=(m?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(m?tt:tt.b))&&d"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):"/"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),"M"+J(l.x,l.y)+"L"+J(u.x,u.y)+"L"+J(s.x,s.y)+"L"+J(c.x,c.y)+"L"+J(f.x,f.y)+"L"+J(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}):w.remove()}},96362:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(2791),s=r(72597).resizeText;function l(t,e,r,n){var s,l,u=(n||{}).hovered,c=e.data.data,f=c.i,h=c.color,p=o.isHierarchyRoot(e),d=1;if(u)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&h===r.root.color)d=100,s="rgba(0,0,0,0)",l=0;else if(s=a.castOption(r,f,"marker.line.color")||i.defaultLine,l=a.castOption(r,f,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var v=r.marker.depthfade;if(v){var g,y=i.combine(i.addOpacity(r._backgroundColor,.75),h);if(!0===v){var m=o.getMaxDepth(r);g=isFinite(m)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else g=e.data.depth-r._entryDepth,r._atRootLevel||g++;if(g>0)for(var x=0;x0){var b,_,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,b="y",w=M,_="x",T=A):(k=r,b="x",w=A,_="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),P=s.getPositionOnKdePath(S,d,L),O=w._offset,I=w._length;E[b+"0"]=P[0],E[b+"1"]=P[1],E[_+"0"]=E[_+"1"]=L,E[_+"Label"]=_+": "+a.hoverLabelText(T,k,d[_+"hoverformat"])+", "+p[0].t.labels.kde+" "+C.toFixed(3);for(var D=0,z=0;z")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function k(t){return n(v,t,h[d+"hoverformat"])}}},19990:function(t,e,r){"use strict";t.exports={attributes:r(43037),layoutAttributes:r(13494),supplyDefaults:r(83266).supplyDefaults,crossTraceDefaults:r(83266).crossTraceDefaults,supplyLayoutDefaults:r(5176),calc:r(52752),crossTraceCalc:r(70766),plot:r(30436),style:r(55750).style,hoverPoints:r(61326),eventData:r(58593),selectPoints:r(81974),moduleType:"trace",name:"waterfall",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},13494:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},5176:function(t,e,r){"use strict";var n=r(71828),i=r(13494);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},82887:function(t,e,r){"use strict";var n=r(89298),i=r(71828),a=r(86281),o=r(79344).p,s=r(50606).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},u=l.aggregations;function c(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),u=l.get(),c=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=c,o=u)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return h(t)>s};case">=":return function(t){return h(t)>=s};case"[]":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=h(t);return e>s[0]&&e=s[0]&&es[0]&&e<=s[1]};case"][":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=h(t);return es[1]};case"](":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=h(t);return e=s[1]};case"{}":return function(t){return-1!==s.indexOf(h(t))};case"}{":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,u=o.styles=[];if(l)for(a=0;ap)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,v.prototype),e}function v(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return m(t)}return g(t,e,r)}function g(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!v.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return b(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return b(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return b(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return v.from(n,e,r);var i=function(t){if(v.isBuffer(t)){var e=0|_(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||nt(t.length)?d(0):x(t):"Buffer"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return v.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t))}function y(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function m(t){return y(t),d(t<0?0:0|_(t))}function x(t){for(var e=t.length<0?0:0|_(t.length),r=d(e),n=0;n=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return 0|t}function w(t,e){if(v.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+u(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(""+e).toLowerCase(),i=!0}}function T(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return F(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return z(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),nt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=v.from(e,n)),v.isBuffer(e))return 0===e.length?-1:M(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):M(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function M(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=D)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(v.isBuffer(a)||(a=v.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!v.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},v.byteLength=w,v.prototype._isBuffer=!0,v.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},h&&(v.prototype[h]=v.prototype.inspect),v.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=v.from(t,t.offset,t.byteLength)),!v.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+u(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return S(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return L(this,t,e,r);case"base64":return C(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function z(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function j(t,e,r,n,i,a){if(!v.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function H(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,4),f.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,8),f.write(t,e,r,n,52,8),r+8}v.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},v.prototype.readUint8=v.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},v.prototype.readUint16LE=v.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},v.prototype.readUint16BE=v.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},v.prototype.readUint32LE=v.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},v.prototype.readUint32BE=v.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},v.prototype.readBigUInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},v.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},v.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},v.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},v.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},v.prototype.readBigInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||N(t,4,this.length),f.read(this,t,!0,23,4)},v.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),f.read(this,t,!1,23,4)},v.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!0,52,8)},v.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!1,52,8)},v.prototype.writeUintLE=v.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},v.prototype.writeUint8=v.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},v.prototype.writeUint16LE=v.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeUint16BE=v.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeUint32LE=v.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},v.prototype.writeUint32BE=v.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},v.prototype.writeBigUInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeBigUInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},v.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},v.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},v.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},v.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},v.prototype.writeBigInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeBigInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},v.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},v.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},v.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},v.prototype.copy=function(t,e,r,n){if(!v.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){J(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function J(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw J(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}Y("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),Y("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(u(e))}),TypeError),Y("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var $=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function tt(t){return c.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace($,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function et(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return"undefined"==typeof BigInt?ot:t}function ot(){throw new Error("BigInt not supported")}},2321:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},3910:function(t,e){"use strict";e.byteLength=function(t){var e=l(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=l(t),o=a[0],s=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),c=0,f=s>0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,l=n-i;sl?l:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3187:function(t,e){e.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},1152:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(3440),i=r(7774),a=r(9298);function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},234:function(t,e,r){"use strict";var n=r(3218);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},4275:function(t,e,r){"use strict";var n=r(1928);t.exports=function(t){return t.cmp(new n(0))}},9958:function(t,e,r){"use strict";var n=r(4275);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},3218:function(t,e,r){"use strict";r(1928),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},5514:function(t,e,r){"use strict";var n=r(1928),i=r(8362);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},8524:function(t,e,r){"use strict";var n=r(5514),i=r(4275);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},2813:function(t,e,r){"use strict";var n=r(1928);t.exports=function(t){return new n(t)}},3962:function(t,e,r){"use strict";var n=r(8524);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},4951:function(t,e,r){"use strict";var n=r(4275);t.exports=function(t){return n(t[0])*n(t[1])}},4354:function(t,e,r){"use strict";var n=r(8524);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},7999:function(t,e,r){"use strict";var n=r(9958),i=r(1112);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4,f=n(l.ushln(c).divRound(r));return u*(s+f*Math.pow(2,-c))}var h=r.bitLength()-l.bitLength()+53;return f=n(l.ushln(h).divRound(r)),h<1023?u*f*Math.pow(2,-h):u*(f*=Math.pow(2,-1023))*Math.pow(2,1023-h)}},5070:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},2288:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,1+((t|=t>>>8)|t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},1928:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(6601).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u>>26,f=67108863&l,h=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],y=8191&g,m=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,I=P>>>13,D=0|o[8],z=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,H=0|s[1],q=8191&H,G=H>>>13,Z=0|s[2],Y=8191&Z,W=Z>>>13,X=0|s[3],J=8191&X,K=X>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ft=8191&ct,ht=ct>>>13,pt=0|s[9],dt=8191&pt,vt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var yt=(u+(n=n+Math.imul(f,q)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,q)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(d,q)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,q)|0,a=a+Math.imul(v,G)|0;var mt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,W)|0)+Math.imul(h,Y)|0))<<13)|0;u=((a=a+Math.imul(h,W)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,q)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(m,q)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,W)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,W)|0;var xt=(u+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;u=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,W)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,W)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(v,J)|0,a=a+Math.imul(v,K)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,q)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,q)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,W)|0,n=n+Math.imul(y,J)|0,i=(i=i+Math.imul(y,K)|0)+Math.imul(m,J)|0,a=a+Math.imul(m,K)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,q)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,W)|0)+Math.imul(k,Y)|0,a=a+Math.imul(k,W)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,q)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,q)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,W)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,W)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0;var Tt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,U),i=(i=Math.imul(z,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(O,q)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(I,q)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,W)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,W)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ut)|0;var kt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(z,q)|0,i=(i=i+Math.imul(z,G)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,W)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,W)|0,n=n+Math.imul(L,J)|0,i=(i=i+Math.imul(L,K)|0)+Math.imul(C,J)|0,a=a+Math.imul(C,K)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ut)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,ft)|0,a=a+Math.imul(v,ht)|0;var At=(u+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,vt)|0)+Math.imul(h,dt)|0))<<13)|0;u=((a=a+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,G))+Math.imul(N,q)|0,a=Math.imul(N,G),n=n+Math.imul(z,Y)|0,i=(i=i+Math.imul(z,W)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,W)|0,n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,K)|0,n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(y,ft)|0,i=(i=i+Math.imul(y,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var Mt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;u=((a=a+Math.imul(v,vt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,W))+Math.imul(N,Y)|0,a=Math.imul(N,W),n=n+Math.imul(z,J)|0,i=(i=i+Math.imul(z,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,vt)|0)+Math.imul(m,dt)|0))<<13)|0;u=((a=a+Math.imul(m,vt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(z,Q)|0,i=(i=i+Math.imul(z,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(z,rt)|0,i=(i=i+Math.imul(z,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,vt)|0)+Math.imul(k,dt)|0))<<13)|0;u=((a=a+Math.imul(k,vt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(z,at)|0,i=(i=i+Math.imul(z,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(z,lt)|0,i=(i=i+Math.imul(z,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var Pt=(u+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,vt)|0)+Math.imul(C,dt)|0))<<13)|0;u=((a=a+Math.imul(C,vt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(z,ft)|0,i=(i=i+Math.imul(z,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Ot=(u+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,vt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(u+(n=n+Math.imul(z,dt)|0)|0)+((8191&(i=(i=i+Math.imul(z,vt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,vt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,vt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,vt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=gt,l[1]=yt,l[2]=mt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function v(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):v(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(x,m),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new b;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2692:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(t,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(e,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(t,e){n.push([t,e])}function f(t){return n=[],u(t,t,c,!0),n}function h(t,e){return n=[],u(t,e,c,!1),n}},7333:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;hu-l?n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h0;){var L=6*(S-=1),C=y[L],P=y[L+1],O=y[L+2],I=y[L+3],D=y[L+4],z=y[L+5],R=2*S,F=m[R],B=m[R+1],N=1&z,j=!!(16&z),U=c,V=w,H=k,q=A;if(N&&(U=k,V=A,H=c,q=w),!(2&z&&(O=p(t,C,P,O,U,V,B),P>=O)||4&z&&(P=d(t,C,P,O,U,V,F))>=O)){var G=O-P,Z=D-I;if(j){if(t*G*(G+Z)<4194304){if(void 0!==(M=l.scanComplete(t,C,e,P,O,U,V,I,D,H,q)))return M;continue}}else{if(t*Math.min(G,Z)<128){if(void 0!==(M=o(t,C,e,N,P,O,U,V,I,D,H,q)))return M;continue}if(t*G*Z<4194304){if(void 0!==(M=l.scanBipartite(t,C,e,N,P,O,U,V,I,D,H,q)))return M;continue}}var Y=f(t,C,P,O,U,V,F,B);if(P=p0)&&!(p1>=hi)"),h=c("lo===p0"),p=c("lo>>1,f=2*t,h=c,p=o[f*c+e];l=m?(h=y,p=m):g>=b?(h=v,p=g):(h=x,p=b):m>=b?(h=y,p=m):b>=g?(h=v,p=g):(h=x,p=b);for(var _=f*(u-1),w=f*h,T=0;Tr&&i[f+e]>u;--c,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"loh;++h,l+=s)if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lop;++p,l+=s){var d=i[l+f],v=i[l+h];if(dg;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,u=l*r,c=u,f=r,h=e,p=t+e,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var y=0;l>y;++y){var m=i[u+y];i[u+y]=i[c],i[c++]=m}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},309:function(t){"use strict";function e(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(ur[e+1])}function s(t,e,r,n){var i=n[t*=2];return i>1,v=d-f,g=d+f,y=h,m=v,x=d,b=g,_=p,w=t+1,T=u-1,k=0;o(y,m,c)&&(k=y,y=m,m=k),o(b,_,c)&&(k=b,b=_,_=k),o(y,x,c)&&(k=y,y=x,x=k),o(m,x,c)&&(k=m,m=x,x=k),o(y,b,c)&&(k=y,y=b,b=k),o(x,b,c)&&(k=x,x=b,b=k),o(m,_,c)&&(k=m,m=_,_=k),o(m,x,c)&&(k=m,m=x,x=k),o(b,_,c)&&(k=b,b=_,_=k);for(var A=c[2*m],M=c[2*m+1],S=c[2*b],E=c[2*b+1],L=2*y,C=2*x,P=2*_,O=2*h,I=2*d,D=2*p,z=0;z<2;++z){var R=c[L+z],F=c[C+z],B=c[P+z];c[O+z]=R,c[I+z]=F,c[D+z]=B}n(v,t,c),n(g,u,c);for(var N=w;N<=T;++N)if(s(N,A,M,c))N!==w&&r(N,w,c),++w;else if(!s(N,S,E,c))for(;;){if(s(T,S,E,c)){s(T,A,M,c)?(i(N,w,T,c),++w,--T):(r(N,T,c),--T);break}if(--T>>1;a(d,S);var E=0,L=0;for(T=0;T=o)v(c,f,L--,C=C-o|0);else if(C>=0)v(l,u,E--,C);else if(C<=-268435456){C=-C-o|0;for(var P=0;P>>1;a(d,E);var L=0,C=0,P=0;for(k=0;k>1==d[2*k+3]>>1&&(I=2,k+=1),O<0){for(var D=-(O>>1)-1,z=0;z>1)-1,0===I?v(l,u,L--,D):1===I?v(c,f,C--,D):2===I&&v(h,p,P--,D)}},scanBipartite:function(t,e,r,n,i,s,c,f,h,p,y,m){var x=0,b=2*t,_=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,L);var C=0;for(A=0;A=o?(O=!n,M-=o):(O=!!n,M-=1),O)g(l,u,C++,M);else{var I=m[M],D=b*M,z=y[D+e+1],R=y[D+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=b-o;else{var M=p[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C=0;--C)if(l[C]===b){for(D=C+1;D0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,p,c),i(t,e,r,p,c,f))}}},7098:function(t,e,r){"use strict";var n,i=r(5070);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],y=[],m=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[c=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,v,r),m=d(t,g);return y(e,m,r),!!m||h.length>0||v.length>0}},5528:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(t,r)),d=i(p,h),v=u(a,d);return l(t,v)};var n=r(3962),i=r(9189),a=r(4354),o=r(4951),s=r(6695),l=r(7584),u=r(4469);function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},5692:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},9156:function(t,e,r){"use strict";var n=r(5692),i=r(3578);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,u,c,f,h,p,d,v;if(t||(t={}),p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet"),"string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>p+1)throw new Error(f+" map requires nshades to be at least size "+c.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=c.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(v=0;v0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,a)>0?1:-1:f<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(417),i=r(7538),a=r(87),o=r(2019),s=r(9662);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},7538:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},9209:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),u=e(n[0],n[1]);return e(l,t[2])-e(u,n[2])||e(l+t[2],o)-e(u+n[2],s);case 4:var c=t[0],f=t[1],h=t[2],p=t[3],d=n[0],v=n[1],g=n[2],y=n[3];return c+f+h+p-(d+v+g+y)||e(c,f,h,p)-e(d,v,g,y,d)||e(c+f,c+h,c+p,f+h,f+p,h+p)-e(d+v,d+g,d+y,v+g,v+y,g+y)||e(c+f+h,c+f+p,c+h+p,f+h+p)-e(d+v+g,d+v+y,d+g+y,v+g+y);default:for(var m=t.slice().sort(r),x=n.slice().sort(r),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},8722:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(2183),i=r(2153)},9680:function(t){"use strict";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+f*r[p]+h*n[p];return a}return u*t+c*e+f*r+h*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}},4419:function(t,e,r){"use strict";var n=r(2183),i=r(1215);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},8362:function(t){var e=!1;if("undefined"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,e=!0,1072693248===n[1]?(t.exports=function(t){return r[0]=t,[n[0],n[1]]},t.exports.pack=function(t,e){return n[0]=t,n[1]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[0]},t.exports.hi=function(t){return r[0]=t,n[1]}):1072693248===n[0]?(t.exports=function(t){return r[0]=t,[n[1],n[0]]},t.exports.pack=function(t,e){return n[1]=t,n[0]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[1]},t.exports.hi=function(t){return r[0]=t,n[0]}):e=!1}if(!e){var i=new Buffer(8);t.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},t.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},t.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},t.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}t.exports.sign=function(e){return t.exports.hi(e)>>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},3094:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},7080:function(t){"use strict";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=u(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(t,e,r,n,i.right)}function c(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(t,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new e(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new e(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new c(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new c(this,t)}}),o.at=function(t){if(t<0)return new c(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new c(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=c.prototype;function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function p(t,e){return te?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new e(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).left===a?u.left=s:u.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),t[l-1]=o,t[l]=a,l+11&&((u=t[l-2]).right===a?u.right=o:u.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).right===a?u.right=s:u.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},7453:function(t,e,r){"use strict";t.exports=function(t,e){var r=new c(t);return r.update(e),r};var n=r(9557),i=r(1681),a=r(1011),o=r(2864),s=r(8468),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function c(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont="sans-serif",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var f=c.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),u=e.bind(this,!0,(function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),c=!1,f=!1;if("bounds"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if("ticks"in t)for(r=t.ticks,c=!0,this.autoTicks=!1,p=0;p<3;++p)this.tickSpacing[p]=0;else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,c=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(c=!0),a("tickSize"),a("tickAngle"),a("tickPad"),u("tickColor");var v=l("labels");l("labelFont")&&(v=!0),o("labelEnable"),a("labelSize"),a("labelPad"),u("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),u("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),u("lineTickColor"),o("gridEnable"),a("gridWidth"),u("gridColor"),o("zeroEnable"),u("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),u("backgroundColor"),this._text?this._text&&(v||c)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var f=a,h=s,p=o,d=l;u&1<0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var v=[0,0,0],g={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var y=[0,0,0],m=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),f=c.cubeEdges,h=c.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,f,h);e=this.gl;var S,E,L,C=v;for(A=0;A<3;++A)this.backgroundEnable[A]?C[A]=h[A]:C[A]=0;for(this._background.draw(r,n,i,a,C,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var P=[0,0,0];h[A]>0?P[A]=a[1][A]:P[A]=a[0][A];for(var O=0;O<2;++O){var I=(A+1+O)%3,D=(A+1+(1^O))%3;this.gridEnable[I]&&this._lines.drawGrid(I,D,this.bounds,P,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(O=0;O<2;++O)I=(A+1+O)%3,D=(A+1+(1^O))%3,this.zeroEnable[D]&&Math.min(a[0][D],a[1][D])<=0&&Math.max(a[0][D],a[1][D])>=0&&this._lines.drawZero(I,D,this.bounds,P,this.zeroLineColor[D],this.zeroLineWidth[D]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=u(y,M[A].primalMinor),R=u(m,M[A].mirrorMinor),F=this.lineTickLength;for(O=0;O<3;++O){var B=k/r[5*O];z[O]*=F[O]*B,R[O]*=F[O]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(L=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,H=u(x,M[A].primalOffset);for(O=0;O<3;++O)this.lineTickEnable[A]&&(H[O]+=k*U[O]*Math.max(this.lineTickLength[O],0)/r[5*O]);var q=[0,0,0];if(q[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),L=[0,0,0],j(A,U,V),O=0;O<3;++O)H[O]+=k*U[O]*this.tickPad[O]/r[5*O];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],H,this.tickColor[A],q,L,S)}if(this.labelEnable[A]){for(E=0,L=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),O=0;O<3;++O)H[O]+=k*U[O]*this.labelPad[O]/r[5*O];H[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],H,this.labelColor[A],[0,0,0],L,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},1011:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var y=n(t,new Float32Array(e)),m=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],m),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,y,x,b)};var n=r(5827),i=r(2944),a=r(1943).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},2864:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var m=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[m],c,s),m+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)u[x][k]=l[x][k]/T;p&&(u[x][2]*=-1),T<0&&(w<0||u[x][2]E&&(w|=1<E&&(w|=1<u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===z?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,H=w;for(A=0;A<3;++A)V[A]=H&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.f=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);e.bg=function(t){return i(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},9557:function(t,e,r){"use strict";t.exports=function(t,e,r,i,o,l){var u=n(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,i,o,l),p};var n=r(5827),a=r(2944),o=r(875),s=r(1943).f,l=window||i.global||{},u=l.__TEXT_CACHE||{};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=u[r];l||(l=u[r]={});var c=l[e];c||(c=l[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,h=c.positions,p=c.cells,d=0,v=p.length;d=0;--y){var m=h[g[y]];a.push(f*m[0],-f*m[1],t)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=""+l;if(o<0&&(c="-"+c),i){for(var f=""+u;f.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},t.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},1140:function(t,e,r){"use strict";var n=r(2858);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,y=!1,m=0;mo&&(o=n.length(b)),m){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(g=Math.min(g,_),y=!1):y=!0}y||(p=x,d=b),v.push(b)}var w=[s,u,f],T=[l,c,h];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(g)||(g=1),a.vectorScale=g;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*k),a.coneScale=A,m=0;for(var M=0;m=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=c({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,v=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],v=+t.vertexIntensityBounds[1];else for(var g=0;g0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=v(t,n),c=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));c.generateMipmap(),c.minFilter=t.LINEAR_MIPMAP_LINEAR,c.magFilter=t.LINEAR;var f=i(t),p=i(t),g=i(t),y=i(t),m=i(t),x=a(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new h(t,c,s,l,f,p,m,g,y,x,r.traceType||"cone");return b.update(e),b}},7234:function(t,e,r){var n=r(6832),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},1950:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},6603:function(t,e,r){var n=r(1950);t.exports=function(t){return n[t]}},3110:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=r(5827),i=r(2944),a=r(7667),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=c[n],a=0;a0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s)))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},7667:function(t,e,r){"use strict";var n=r(6832),i=r(5158),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},4234:function(t,e,r){"use strict";var n=r(8931);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");if(!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;ac||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var v=!0;"depth"in n&&(v=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var m=r.getExtension("WEBGL_depth_texture");m?d?t.depth=h(r,i,a,m.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=u(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=t.colorLevels||[0],v=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(u=y[0]=r[0],c=y[1]=o[0],f=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(u=y[0]=r[0]+(r[1]-r[0])/2,c=y[1]=o[0]+(o[1]-o[0])/2,f=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var m=1/(f-u),x=1/(p-c),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},6086:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(e,c);d.wrap=e.REPEAT;var v=new y(e,r,o,s,l,d);return v.update(t),v};var n=r(5827),i=r(2944),a=r(8931),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(5070),u=r(5050),c=r(248),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function v(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=y.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:v(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],v=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],m=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=m=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===m.length&&(m=[m[0],m[1],m[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>e-1?v[e-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,m[0],m[1],m[2],m[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[f]}return Math.abs(y-1)>.001?null:[h,s(t,g),g]}},2056:function(t,e,r){var n=r(6832),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},8116:function(t,e,r){"use strict";var n=r(5158),i=r(5827),a=r(2944),o=r(8931),s=r(115),l=r(104),u=r(7437),c=r(5050),f=r(9156),h=r(7212),p=r(5306),d=r(2056),v=r(4340),g=d.meshShader,y=d.wireShader,m=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=v,this.edgeVAO=m,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,g.vertex,g.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function C(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function P(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t]&&T&&(c[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),c[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(c[1^t]+=M*p*v[t+2],ki[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t+2]&&T&&(c[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),v.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],y=i[o+2]-g;p[o]=2*l/c*v/y,h[o]=2*(s-u)/c*v/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),v.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,u=t.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var v=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,e[1],v,e[3],p[d],h[d]):o.drawLine(e[0],v,e[2],v,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},u.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))u.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(8161),i=r(1152),a=r(6145),o=r(6475),s=r(2565),l=r(5233)},8245:function(t,e,r){var n=r(6832),i=r(5158),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},1059:function(t,e,r){"use strict";var n=r(4296),i=r(7453),a=r(2771),o=r(6496),s=r(2611),l=r(4234),u=r(8126),c=r(6145),f=r(1120),h=r(5268),p=r(8245),d=r(2321)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var m=t.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],P=[],O=!0,I=!0,D={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},z=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:m,objects:E,shape:z,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,I=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",O=!0}}}function j(){for(var t=E.length,e=P.length,n=0;n0&&0===C[e-1];)C.pop(),P.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},O=!0,I=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),L.push(-1),O=!0,I=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),O=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var u=0;u 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),e.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),e.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},8271:function(t,e,r){"use strict";var n=r(5158),i=r(5827),a=r(5306),o=r(8023);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),u=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(u[0]=255&t,u[1]=t>>8&255,u[2]=t>>16&255,u[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},6093:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*f+l*v,t[3]=s*h+l*g,t}},8240:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},4123:function(t,e,r){"use strict";var n=r(875);t.exports=function(t,e,r){var a=i[e];if(a||(a=i[e]={}),t in a)return a[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,u,c=n(t,o);if(r&&1!==r){for(l=0;l max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,f)},e.createOrtho=function(t){return y(t,h)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,v)},e.createPickProject=function(t){return y(t,g)}},2182:function(t,e,r){"use strict";var n=r(3596),i=r(5827),a=r(2944),o=r(5306),s=r(104),l=r(9282),u=r(4123),c=r(8240),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function v(t){return!0===t||t>1?1:t}function g(t,e,r,n,i,a,o,s,l,u,c,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),v=new g(e,r,n,o,f,h,p,d,a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(t),v};var y=g.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},y.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var m=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function C(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,d=e.axesBounds,v=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],m[0]=2/o.drawingBufferWidth,m[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=m,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=v,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var g=0;g<3;++g)if(a[g]){l.scale=e.projectScale[g],l.opacity=e.projectOpacity[g];for(var y=T,L=0;L<16;++L)y[L]=0;for(L=0;L<4;++L)y[5*L]=1;y[5*g]=0,i[g]<0?y[12+g]=d[0][g]:y[12+g]=d[1][g],s(y,u,y),l.model=y;var C=(g+1)%3,P=(g+2)%3,O=M(x),I=M(b);O[C]=1,I[P]=1;var D=p(0,0,0,S(_,O)),z=p(0,0,0,S(w,I));if(Math.abs(D[1])>Math.abs(z[1])){var R=D;D=z,z=R,R=O,O=I,I=R;var F=C;C=P,P=F}D[0]<0&&(O[C]=-1),z[1]>0&&(I[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(u[4*C+L],2),N+=Math.pow(u[4*P+L],2);O[C]/=Math.sqrt(B),I[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=I,l.fragClipBounds[0]=E(k,v[0],g,-1e8),l.fragClipBounds[1]=E(k,v[1],g,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var u=t.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,m[0]=2/l.drawingBufferWidth,m[1]=2/l.drawingBufferHeight,u.screenSize=m,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=L,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function P(t,e,r,i){var a;a=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},y.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},y.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){Array.isArray(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=v(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l=t.font||"normal",u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n0){var I=0,D=x,z=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(y)&&Array.isArray(y[0]);t:for(n=0;n<_;++n){for(m+=1,w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),c[T]=Math.min(c[T],w[T])}k=(N=P(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n0?1-M[0][0]:Z<0?1+M[1][0]:1,Y*=Y>0?1-M[0][1]:Y<0?1+M[1][1]:1],X=k.cells||[],J=k.positions||[];for(T=0;T0){var y=r*c;o.drawBox(f-y,h-y,p+y,h+y,a),o.drawBox(f-y,d-y,p+y,d+y,a),o.drawBox(f-y,h-y,f+y,d+y,a),o.drawBox(p-y,h-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},2611:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(4234),i=r(5306),a=r(5050),o=r(2288).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=l.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[m]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);l(t,e,p,i,d,a,f)}}}return a};var n=r(9068);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var u=o[a],c=new i(t,e,r,n,a,u);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),u(t,n[r],e),e},get:function(){return c},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+m);t["uniformMatrix"+y+"fv"](s[f],!1,h);break}throw new i("","Unknown uniform data type for "+name+": "+m)}if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(m.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[f],h);break;case"v":t["uniform"+y+"fv"](s[f],h);break;default:throw new i("","Unrecognized data type for vector "+name+": "+m)}}}}}}function u(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(t,e,n){if("object"==typeof n){var u=f(n);Object.defineProperty(t,e,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(c=n,function(t,e,r){return t.getUniform(e.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var c}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7307:function(t,e,r){"use strict";var n=r(2858),i=r(4020),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||m>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][v],L=a[1][m],C=a[2][g],P=(l-M)/(S-M),O=(u-E)/(L-E),I=(c-C)/(a[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,y=f-1-y),r.reversedY&&(v=h-1-v,m=h-1-m),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=v*p,T=m*p,b=d*p*h,_=y*p*h;break;case 4:k=g,A=x,b=d*p,_=y*p,w=v*p*f,T=m*p*f;break;case 3:w=v,T=m,k=g*h,A=x*h,b=d*h*p,_=y*h*p;break;case 2:w=v,T=m,b=d*h,_=y*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=y,k=g*f,A=x*f,w=v*f*p,T=m*f*p;break;default:b=d,_=y,w=v*f,T=m*f,k=g*f*h,A=x*f*h}var D=i[b+w+k],z=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),H=n.create(),q=n.create(),G=n.create();n.lerp(V,D,B,P),n.lerp(H,z,N,P),n.lerp(q,R,j,P),n.lerp(G,F,U,P);var Z=n.create(),Y=n.create();n.lerp(Z,V,q,O),n.lerp(Y,H,G,O);var W=n.create();return n.lerp(W,Z,Y,I),W}(e,t,p)},v=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],m=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/u,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,u=0;uS&&(S=F),z.push(F),g.push({points:P,velocities:O,divergences:z});for(var B=0;B<100*u&&P.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),I=d(N),n.squaredDistance(D,N)-A>-1e-4*A&&(P.push(N),D=N,O.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),z.push(F)),C=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;u.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(m,y,y,y,m,m),d.push(v,g,g,g,v,v);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=m;m=y,y=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},3754:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=m(e),n=b(e),s=x(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:40,offset:0},{buffer:u,size:3,stride:40,offset:16},{buffer:u,size:3,stride:40,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),v=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);v.minFilter=e.LINEAR,v.magFilter=e.LINEAR;var g=new M(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var w in t)y[w]=t[w];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(2288),i=r(5827),a=r(2944),o=r(8931),s=r(5306),l=r(9156),u=r(7498),c=r(7382),f=r(5050),h=r(4162),p=r(104),d=r(7437),v=r(5070),g=r(9144),y=r(9054),m=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function A(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}function M(t,e,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}!function(){for(var t=0;t<3;++t){var e=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=M.prototype;S.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:256,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function C(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=L.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var u=L.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var P={model:w,view:w,projection:w,inverseModel:w.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},O=w.slice(),I=[1,0,0,0,1,0,0,0,1];function D(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=I,n.vertexColor=this.vertexColor;var s=O;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=C(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=k[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),y=0;y<3;++y)u[y]+=this._field[y].get(p,d)*g;for(var m=this._pickResult.level,x=0;x<3;++x)if(m[x]=v.le(this.contourLevels[x],u[x]),m[x]<0)this.contourLevels[x].length>0&&(m[x]=0);else if(m[x]Math.abs(_-u[x])&&(m[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=R(t.contourWidth,Number)),"showContour"in t&&(this.showContour=R(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=R(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=B(t.contourColor)),"contourProject"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=B(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=R(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(y=0;y<2;++y)if(u.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)$.pop();U-=1}continue t}$.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var bt=s.mallocFloat($.length);for(o=0;o<$.length;++o)bt[o]=$[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},S.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},S.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;ei||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function p(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var d=p.prototype;function v(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function y(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new p(t,o,e,r,n,i)}function m(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new p(t,o,r,n,i,a)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=v(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var c,h,d=0;if(2===o.length)d=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");d=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)c=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var m=[o[2],o[2]*o[0],1];h=a.malloc(y,r);var x=n(h,o,m,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?i.assign(x,e):f(x,e),c=h.subarray(0,y)}var b=g(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,u,c),l||a.free(h),new p(t,b,o[0],o[1],d,u)}Object.defineProperties(d,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),d.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},d.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,c){var h=c.dtype,p=c.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var d=0,g=0,y=v(p,c.stride.slice());if("float32"===h?d=t.FLOAT:"float64"===h?(d=t.FLOAT,y=!1,h="float32"):"uint8"===h?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,y=!1,h="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],c=n(c.data,p,[c.stride[0],c.stride[1],1],c.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var m=c.size,x=u.indexOf(o)<0;if(x&&u.push(o),d===l&&y)0===c.offset&&c.data.length===m?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,c.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,c.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,c.data.subarray(c.offset,c.offset+m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,c.data.subarray(c.offset,c.offset+m));else{var b;b=l===t.FLOAT?a.mallocFloat32(m):a.mallocUint8(m);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,c):i.assign(_,c),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,m)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},3056:function(t){"use strict";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(5415),i=r(899),a=r(9305)},8827:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},7622:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},8782:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},8501:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},903:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5981:function(t,e,r){t.exports=r(8288)},8288:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},8629:function(t,e,r){t.exports=r(7979)},7979:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},9305:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},154:function(t){t.exports=1e-6},4932:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(154)},5777:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},3306:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},7447:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},6660:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},392:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},3222:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},3388:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},1624:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},5685:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},6722:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},831:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},5294:function(t,e,r){t.exports=r(6403)},3303:function(t,e,r){t.exports=r(4337)},6403:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},4337:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},8921:function(t,e,r){t.exports=r(911)},911:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},9908:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},3255:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},6568:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t}},3433:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},1413:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},3470:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},5313:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},5446:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},205:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},4242:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},5680:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},4020:function(t,e,r){t.exports={create:r(5313),clone:r(1413),fromValues:r(5680),copy:r(3470),set:r(6453),add:r(3433),subtract:r(2705),multiply:r(746),divide:r(205),min:r(2170),max:r(3030),scale:r(5510),scaleAndAdd:r(4224),distance:r(5446),squaredDistance:r(1542),length:r(8177),squaredLength:r(9037),negate:r(6459),inverse:r(8057),normalize:r(381),dot:r(4242),lerp:r(8746),random:r(3770),transformMat4:r(6342),transformQuat:r(5022)}},8057:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},8177:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},8746:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},3030:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2170:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},746:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},6459:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},381:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},3770:function(t,e,r){var n=r(381),i=r(5510);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},5510:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4224:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},6453:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},1542:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},9037:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},2705:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},6342:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},5022:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t[3]=e[3],t}},9365:function(t,e,r){var n=r(8096),i=r(7896);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return S(r),x+=r.length,(v=v.slice(r.length)).length}}function D(){return/[^a-fA-F0-9]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function z(){return"."===e||/[eE]/.test(e)?(v.push(e),d=5,r=e,h+1):"x"===e&&1===v.length&&"0"===v[0]?(d=11,v.push(e),r=e,h+1):/[^\d]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function R(){return"f"===e&&(v.push(e),r=e,h+=1),/[eE]/.test(e)?(v.push(e),r=e,h+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function F(){if(/[^\d\w_]/.test(e)){var t=v.join("");return d=M[t]?8:A[t]?7:6,S(v.join("")),d=l,h}return v.push(e),r=e,h+1}};var n=r(399),i=r(9746),a=r(9525),o=r(9458),s=r(3585),l=999,u=9999,c=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3585:function(t,e,r){var n=r(9525);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},9525:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},9458:function(t,e,r){var n=r(399);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},399:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},9746:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},8096:function(t,e,r){var n=r(3193);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},6832:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var p=this.orient();if(a[c]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var m=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)m[b]<0?(x=b,l[b]=t):l[b]=i[m[b]];if(this.orient()>0){m[x]=r,y.boundary=!1,u.push(y),f.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);c.push(k);var A=_.indexOf(e);if(!(A<0))for(_[A]=k,T[v]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}for(h.sort(s),g=0;g+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},9014:function(t,e,r){"use strict";var n=r(5070);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:f(this.rightPoints,t,e):h(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var m=y.prototype;m.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},m.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},m.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},m.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(m,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(m,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},9560:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},3578:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},7191:function(t,e,r){var n=r(4690),i=r(9823),a=r(7332),o=r(7787),s=r(7437),l=r(2142),u={length:r(4693),normalize:r(899),dot:r(9305),cross:r(903)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(c,t))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var m,x,b,_,w,T,k,A=c[3],M=c[7],S=c[11],E=c[12],L=c[13],C=c[14],P=c[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),m=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],m[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,m[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,m[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,m[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var O=0;O<3;O++)r[O]*=-1,p[O][0]*=-1,p[O][1]*=-1,p[O][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4690:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7649:function(t,e,r){var n=r(1868),i=r(1102),a=r(7191),o=r(7787),s=r(1116),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},1102:function(t,e,r){var n={identity:r(9947),translate:r(998),multiply:r(104),create:r(9823),scale:r(3668),fromRotationTranslation:r(7280)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},9298:function(t,e,r){"use strict";var n=r(5070),i=r(7649),a=r(7437),o=r(6109),s=r(7115),l=r(5240),u=r(3012),c=r(998),f=(r(3668),r(899)),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(t-e[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var y=this.computedEye,m=g[15];y[0]=g[12]/m,y[1]=g[13]/m,y[2]=g[14]/m;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=y[u]-o[2+4*u]*b}},d.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=r(417)[3]},6145:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4110)},2565:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4110:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0"),"function"!=typeof t.vertex&&e("Must specify vertex creation function"),"function"!=typeof t.cell&&e("Must specify cell creation function"),"function"!=typeof t.phase&&e("Must specify phase function");for(var o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|d,k=v-d*c|0,A=0,M=0,S=0,E=2*c|0,L=n(E),C=n(E),P=0,O=0,I=-1,D=-1,z=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,H=0;for(A=0;A0){if(M=1,L[P++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),z=L[P+I],B=L[P+R],U=L[P+N],O===z&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,z,B,U,o,s,l),V=C[P]=S++),P+=1,g+=T,A=2;A0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),z=L[P+I],B=L[P+R],U=L[P+N],O===z&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,z,B,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,b,w,B,U,o,s,l)),P+=1,g+=T,A=2;A0){if(A=1,L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],z=L[P+I],U=L[P+N],O===B&&O===z&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,z,U,o,s,l),V=C[P]=S++),P+=1,g+=T,M=2;M0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],z=L[P+I],U=L[P+N],O===B&&O===z&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,z,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,w,m,U,B,o,s,l)),P+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=c[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[e]=a,a}(r)(t,e)}},3581:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=y+x*f+b*h,o=m+x*d+b*v;var _=0,w=0,T=0,k=p,A=f-c*p,M=h-l*f,S=g,E=d-c*g,L=v-l*d;for(T=0;T0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var y=0,m=0,x=c,b=u-l*c,_=h,w=f-l*h;for(m=0;m0;){m<64?(u=m,m=0):(u=64,m-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+m*h+x*c+b*f,o=y+m*v+x*p+b*d;var _=0,w=0,T=0,k=h,A=c-u*h,M=f-s*c,S=v,E=p-u*v,L=d-s*p;for(T=0;Tr;){y=0,m=v-o;e:for(g=0;gb)break e;m+=f,y+=h}for(y=v,m=v-o,g=0;g>1,q=H-j,G=H+j,Z=U,Y=q,W=H,X=G,J=V,K=i+1,$=a-1,Q=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*Z,M=l*Y,N=s;t:for(k=0;k0){g=Z,Z=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*J,N=s;t:for(k=0;k0){g=X,X=J,J=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*W,N=s;t:for(k=0;k0){g=Z,Z=W,W=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*W,N=s;t:for(k=0;k0){g=Y,Y=W,W=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*X,N=s;t:for(k=0;k0){g=Z,Z=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*J,N=s;t:for(k=0;k0){g=Y,Y=J,J=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*W,N=s;t:for(k=0;k0){g=Y,Y=W,W=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*J,N=s;t:for(k=0;k0){g=X,X=J,J=g;break t}if(rt<0)break t;N+=p}for(A=l*Z,M=l*Y,S=l*W,E=l*X,L=l*J,C=l*U,P=l*H,O=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*K,S=l*$,N=s,k=0;k0)for(;;){for(_=s+$*l,B=0,k=0;k0)){for(_=s+$*l,B=0,k=0;kV){t:for(;;){for(_=s+K*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,u)}},8729:function(t,e,r){"use strict";var n=r(8139),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},5050:function(t,e,r){var n=r(4780),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return"number"==typeof t&&t>=0&&(i+=u*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=c*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return"number"==typeof t&&((f=0|t)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),"number"==typeof e&&((f=0|e)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),"number"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),"number"==typeof e&&((d=0|e)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),"number"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),"number"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u,c,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),u-=s),"number"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,y=0,m=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=f*(o-1),o=m(-o/y)):o=m(o/y),f*=y),"number"==typeof e&&((y=0|e)<0?(g+=h*(s-1),s=m(-s/y)):s=m(s/y),h*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=m(-l/y)):l=m(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(u-1),u=m(-u/y)):u=m(u/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=v*(c-1),c=m(-c/y)):c=m(c/y),v*=y),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,u[t][0]):n(t,u[t],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},115:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[u],_=1/Math.sqrt(g*m);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(y[w]*v[T]-y[T]*v[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},567:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1),e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},7774:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(8444),i=r(3012),a=r(5950),o=r(7437),s=r(567);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],y=i[10],m=v*a+g*o+y*s,x=v*c+g*f+y*h,b=l(v-=m*a+x*c,g-=m*o+x*f,y-=m*s+x*h);v/=b,g/=b,y/=b;var _=c*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=e*a+r*c,y=e*o+r*f,m=e*s+r*h,x=-(d*m-v*y),b=-(v*g-p*m),_=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=u(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,O=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,O=O*(w=Math.cos(e))-(L=L*w+O*x+C*_-P*b)*x-(C=C*w+O*b+P*x-L*_)*b-(P=P*w+O*_+L*b-C*x)*_}var D=u(L,C,P,O);D>1e-6?(L/=D,C/=D,P/=D,O/=D):(L=C=P=0,O=1),this.rotation.set(t,L,C,P,O)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},4930:function(t,e,r){"use strict";var n=r(6184);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},4405:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},4166:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=c(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(9398)},3959:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){var u=o.pop();i[u]=!1;var c=r[u];for(s=0;s0}))).length,g=new Array(v),y=new Array(v);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var H=d[B];j=[H]}for(p=0;p=0||(F[q]=1^V,R.push(q),0===V&&(z(H=d[q])||(H.reverse(),j.push(H))))}0===V&&r.push(j)}return r};var n=r(8348),i=r(4166),a=r(211),o=r(9660),s=r(9662),l=r(1215),u=r(3959);function c(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?m:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),m)};var n=r(417)[3],i=r(4385),a=r(9014),o=r(5070);function s(){return!0}function l(t){for(var e={},r=0;r=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d):(k=0,p>=0?(A=0,m=d):-p>=f?(A=1,m=f+2*p+d):m=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,m=d):-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d;else{var M=1/T;m=(k*=M)*(u*k+c*(A*=M)+2*h)+A*(c*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d:(k=0,b<=0?(A=1,m=f+2*p+d):p>=0?(A=0,m=d):m=p*(A=-p/f)+d):A<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(A=1,k=0,m=f+2*p+d):m=(k=1-(A=_/w))*(u*k+c*A+2*h)+A*(c*k+f*A+2*p)+d:(A=0,b<=0?(k=1,m=u+2*h+d):h>=0?(k=0,m=d):m=h*(k=-h/u)+d):(_=f+p-c-h)<=0?(k=0,A=1,m=f+2*p+d):_>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},6184:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},8161:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},402:function(t){"use strict";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,y=i*u,m=i*l,x=a*s,b=c*(d-v)+f*(g-y)+p*(m-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(y))*Math.abs(f)+(Math.abs(m)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=c(t.length)),e.apply(void 0,t)}function v(t,e,r,n,i,a,o){return function(e,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],f=Math.min(u,c);if(Math.max(u,c)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,1+((t|=t>>>8)|t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6656:function(t,e,r){"use strict";var n=r(9392),i=r(9521);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var f=e.slice(0);f.sort();for(var h=0;h>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>c&1&&u.push(i[c]);e.push(u)}return s(e)},e.skeleton=f,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=m(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return u[r]===e?t:(u[r]=-1/0,b(t),_(),u[r]=e,b((M+=1)-1))}function T(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],v(e)),A[r]>=0&&w(A[r],v(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=r(417),i=r(6656)},6638:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(417);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},4670:function(t,e,r){"use strict";var n=r(9130),i=r(9662);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},8974:function(t,e,r){var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return s(u(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}function s(t,e){var r,n,o,s,l,u,c,f,h,p=1,d=t.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):"",v+=s.align?h+r+l:"0"===u?h+l+r:l+h+r)}return v}var l=Object.create(null);function u(t){if(l[t])return l[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],s=e[2],u=[];if(null===(u=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(s=s.substring(u[0].length));)if(null!==(u=i.key_access.exec(s)))o.push(u[1]);else{if(null===(u=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return l[t]=n}e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},4162:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([t-.5,e-.5]);break;case 1:c.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:c.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:c.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},6946:function(t,e,r){"use strict";t.exports=function t(e,r,i){i=i||{};var a=o[e];a||(a=o[e]={" ":{data:new Float32Array(0),shape:.2}});var s=a[r];if(!s)if(r.length<=1||!/\d/.test(r))s=a[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(f+=.02);var p=new Float32Array(c),d=0,v=-.5*f;for(h=0;hMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),m=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*m,w=y*m,T=x,k=-g*x,A=-y*x,M=m,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],P=E[5],O=E[9],I=E[2],D=E[6],z=E[10],R=P*z-O*D,F=O*I-C*z,B=C*D-P*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*e+a*r,g=(f/=d)*e+o*r,y=(h/=d)*e+s*r;this.center.move(t,v,g,y);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var y,m,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=u(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=u(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,q,G,Z),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,O=E*k+L*A+C*M;y=R<0?-Math.PI/2:Math.PI/2,m=Math.atan2(O,P)}else{var I=e[2],D=e[6],z=e[10],R=I*s+D*l+z*f,F=I*x+D*b+z*_,B=I*k+D*A+z*M;y=Math.asin(c(R)),m=Math.atan2(B,F)}this.angle.jump(t,m,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,Z=V[14]/H,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,q-N*Y,G-j*Y,Z-U*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],y=d[2],m=i*v+a*g+o*y,x=u(v-=m*i,g-=m*a,y-=m*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,y=i*f-a*l))<1e-6)){v/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,v,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*y-o*g,_=o*v-i*y,w=i*g-a*v,T=u(b,_,w),k=i*l+a*f+o*h,A=v*l+g*f+y*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(c(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var O=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),D=Math.abs(C-2*Math.PI-E);O0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},1731:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",d(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(v=0;v-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(L(),"?px "),m*=Math.pow(.75,l-s),n=n.replace("?px ",L())),y+=.25*_*(l-s)}if(!0===o.superscripts){var f=t.indexOf("+"),h=r.indexOf("+"),p=f>-1?parseInt(t[1+f]):0,d=h>-1?parseInt(r[1+h]):0;p!==d&&(n=n.replace(L(),"?px "),m*=Math.pow(.75,d-p),n=n.replace("?px ",L())),y-=.25*_*(d-p)}if(!0===o.bolds){var v=t.indexOf(u)>-1,g=r.indexOf(u)>-1;!v&&g&&(n=x?n.replace("italic ","italic bold "):"bold "+n),v&&!g&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(c)>-1,b=r.indexOf(c)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(d=0;d",a="",o=i.length,s=a.length,l="+"===e[0]||"-"===e[0],u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,d=r.substr(p,c-p).indexOf(i);u=-1!==d?d:c+s}return n}function h(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function p(t,e,r,n){var i=h(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:x((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};v.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof v||b();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new v),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new v),i.set___(t,e)}else n.set(t,e);return this},Object.create(v.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=v)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[u];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,u,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},9222:function(t,e,r){var n=r(7178);t.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},7178:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},4037:function(t,e,r){var n=r(9222);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},6183:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},9584:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(6183)},6601:function(){}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={id:n,loaded:!1,exports:{}};return t[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},r(7386)}()},t.exports=n()},12856:function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;rp)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,v.prototype),e}function v(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return m(t)}return g(t,e,r)}function g(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!v.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return b(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return b(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return b(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return v.from(n,e,r);var i=function(t){if(v.isBuffer(t)){var e=0|_(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||nt(t.length)?d(0):x(t):"Buffer"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return v.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t))}function y(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function m(t){return y(t),d(t<0?0:0|_(t))}function x(t){for(var e=t.length<0?0:0|_(t.length),r=d(e),n=0;n=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return 0|t}function w(t,e){if(v.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+u(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(""+e).toLowerCase(),i=!0}}function T(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return F(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return z(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),nt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=v.from(e,n)),v.isBuffer(e))return 0===e.length?-1:M(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):M(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function M(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=D)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(v.isBuffer(a)||(a=v.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!v.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},v.byteLength=w,v.prototype._isBuffer=!0,v.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},h&&(v.prototype[h]=v.prototype.inspect),v.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=v.from(t,t.offset,t.byteLength)),!v.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+u(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return S(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return L(this,t,e,r);case"base64":return C(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function z(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function j(t,e,r,n,i,a){if(!v.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function H(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,4),f.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,8),f.write(t,e,r,n,52,8),r+8}v.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},v.prototype.readUint8=v.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},v.prototype.readUint16LE=v.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},v.prototype.readUint16BE=v.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},v.prototype.readUint32LE=v.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},v.prototype.readUint32BE=v.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},v.prototype.readBigUInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},v.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},v.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},v.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},v.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},v.prototype.readBigInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||N(t,4,this.length),f.read(this,t,!0,23,4)},v.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),f.read(this,t,!1,23,4)},v.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!0,52,8)},v.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!1,52,8)},v.prototype.writeUintLE=v.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},v.prototype.writeUint8=v.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},v.prototype.writeUint16LE=v.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeUint16BE=v.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeUint32LE=v.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},v.prototype.writeUint32BE=v.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},v.prototype.writeBigUInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeBigUInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},v.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},v.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},v.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},v.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},v.prototype.writeBigInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeBigInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},v.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},v.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},v.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},v.prototype.copy=function(t,e,r,n){if(!v.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){J(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function J(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw J(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}Y("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),Y("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(u(e))}),TypeError),Y("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var $=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function tt(t){return c.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace($,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function et(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return"undefined"==typeof BigInt?ot:t}function ot(){throw new Error("BigInt not supported")}},35791:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},86781:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return h},sankeyCircular:function(){return L},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(33064),i=r(15140),a=r(45879),o=r(2502),s=r.n(o);function l(t){return t.target.depth}function u(t){return t.depth}function c(t,e){return e-1-t.height}function f(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.VV)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function v(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function m(t){return t.value}function x(t){return(t.y0+t.y1)/2}function b(t){return x(t.source)}function _(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10;function L(){var t,e,r=0,a=0,o=1,s=1,l=24,u=w,c=f,h=T,M=k,L=32,O=2,D=null;function z(){var t={nodes:h.apply(null,arguments),links:M.apply(null,arguments)};F(t),C(t,0,D),B(t),N(t),P(t,u),j(t,L,u),U(t);for(var e=4,r=0;r0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(u),d=function(t,e){var i=(0,n.Fp)(t.nodes,(function(t){return t.column})),u=o-r,c=s-a,f=u/(u+e.right+e.left),h=c/(c+e.top+e.bottom);return r=r*f+e.left,o=0==e.right?o:o*f,a=a*h+e.top,s*=h,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-l)/i),t.x1=t.x0+l})),h}(u,p);f*=d,u.links.forEach((function(t){t.width=t.value*f})),h.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==h.length-1&&1==e||0==t.depth&&1==e?(t.y0=s/2-t.value*f,t.y1=t.y0+t.value*f):t.partOfCycle?0==I(t,i)?(t.y0=s/2+r,t.y1=t.y0+t.value*f):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*f):(t.y0=s-t.value*f-r,t.y1=t.y0+t.value*f):0==p.top||0==p.bottom?(t.y0=(s-a)/e*r,t.y1=t.y0+t.value*f):(t.y0=(s-a)/2-e/2+r,t.y1=t.y0+t.value*f)}))}))}(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(t,e){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var l;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,e)>0);else if(0==o&&1==a)l=i.y1-i.y0,i.y0=s/2-l/2,i.y1=s/2+l/2;else if(o==r-1&&1==a)l=i.y1-i.y0,i.y0=s/2-l/2,i.y1=s/2+l/2;else{var u=(0,n.J6)(i.sourceLinks,_),c=(0,n.J6)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*t;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(e){var r,n,i,o=a,l=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-s)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function U(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(v)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return z.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:p(t),z):u},z.nodeAlign=function(t){return arguments.length?(c="function"==typeof t?t:p(t),z):c},z.nodeWidth=function(t){return arguments.length?(l=+t,z):l},z.nodePadding=function(e){return arguments.length?(t=+e,z):t},z.nodes=function(t){return arguments.length?(h="function"==typeof t?t:p(t),z):h},z.links=function(t){return arguments.length?(M="function"==typeof t?t:p(t),z):M},z.size=function(t){return arguments.length?(r=a=0,o=+t[0],s=+t[1],z):[o-r,s-a]},z.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],s=+t[1][1],z):[[r,a],[o,s]]},z.iterations=function(t){return arguments.length?(L=+t,z):L},z.circularLinkGap=function(t){return arguments.length?(O=+t,z):O},z.nodePaddingRatio=function(t){return arguments.length?(e=+t,z):e},z.sortNodes=function(t){return arguments.length?(D=t,z):D},z.update=function(t){return P(t,u),U(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function z(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if($(n,r)&&D(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var u=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.VV)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),z(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),z(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&D(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),s=n.target.column,u=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var f=(0,a.h5)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=f(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function H(t){return t.target.x0-t.source.x1}function q(t,e){var r=O(t),n=H(e)/Math.tan(r);return"up"==K(t)?t.y1+n:t.y1-n}function G(t,e){var r=O(t),n=H(e)/Math.tan(r);return"up"==K(t)?t.y1-n:t.y1+n}function Z(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,y=v+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&Y(t,u,e,r)}))):(y>o.y0&&yo.y1)&&(u=y-o.y0+10,o=Y(o,u,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&Y(t,u,e,r)})))}}))}}))}function Y(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function W(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!J(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!J(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function $(t,e){return M(t.source,e)==M(t.target,e)}function Q(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.VV)(i,(function(t){return t.y0})),u=(r-e)/((0,n.Fp)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*u;t.y0=(t.y0-l)*u,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*u,t.y1=(t.y1-l)*u,t.width=t.width*u}))}}},30838:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(33064),i=r(15140);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function u(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.VV)(t.sourceLinks,a)-1:0}function c(t){return function(){return t}}function f(t,e){return p(t.source,e.source)||t.index-e.index}function h(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function v(t){return(t.y0+t.y1)/2}function g(t){return v(t.source)*t.value}function y(t){return v(t.target)*t.value}function m(t){return t.index}function x(t){return t.nodes}function b(t){return t.links}function _(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,u=m,w=l,T=x,k=b,A=32;function M(){var t={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return S(t),E(t),L(t),C(t),P(t),t}function S(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.UI)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=_(e,n)),"object"!=typeof i&&(i=t.target=_(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}function E(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.Sm)(t.sourceLinks,d),(0,n.Sm)(t.targetLinks,d))}))}function L(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}function C(t){var r=(0,i.b1)().key((function(t){return t.x0})).sortKeys(n.j2).entries(t.nodes).map((function(t){return t.values}));!function(){var i=(0,n.Fp)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.VV)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.Sm)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))}(),f();for(var o=1,l=A;l>0;--l)c(o*=.99),f(),u(o),f();function u(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.Sm)(e.targetLinks,g)/(0,n.Sm)(e.targetLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function c(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.Sm)(e.sourceLinks,y)/(0,n.Sm)(e.sourceLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function f(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function P(t){t.nodes.forEach((function(t){t.sourceLinks.sort(h),t.targetLinks.sort(f)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return P(t),t},M.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:c(t),M):u},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:c(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:c(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:c(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(45879);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.h5)().source(k).target(A)}},39898:function(t,e,r){var n,i;(function(){var a={version:"3.8.0"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function u(t){return t&&(t.ownerDocument||t.document||t).documentElement}function c(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(t,e){h.call(this,t,e+"")},f.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){v.call(this,t,e+"",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function m(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var b=x(g);function _(t){return t.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t){for(var e=1;t*e%1;)e*=10;return e}function k(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function A(){this._=Object.create(null)}function M(t){return"__proto__"==(t+="")||"\0"===t[0]?"\0"+t:t}function S(t){return"\0"===(t+="")[0]?t.slice(1):t}function E(t){return M(t)in this._}function L(t){return(t=M(t))in this._&&delete this._[t]}function C(){var t=[];for(var e in this._)t.push(S(e));return t}function P(){var t=0;for(var e in this._)++t;return t}function O(){for(var t in this._)return!1;return!0}function I(){this._=Object.create(null)}function D(t){return t}function z(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function R(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=F.length;re;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new A;++h=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new I;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},a.event=null,a.requote=function(t){return t.replace(q,"\\$&")};var q=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,G={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function Z(t){return G(t,J),t}var Y=function(t,e){return e.querySelector(t)},W=function(t,e){return e.querySelectorAll(t)},X=function(t,e){var r=t.matches||t[R(t,"matchesSelector")];return X=function(t,e){return r.call(t,e)},X(t,e)};"function"==typeof Sizzle&&(Y=function(t,e){return Sizzle(t,e)[0]||null},W=Sizzle,X=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function K(t){return"function"==typeof t?t:function(){return Y(t,this)}}function $(t){return"function"==typeof t?t:function(){return W(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=K(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),tt.hasOwnProperty(r)?{space:tt[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(et(e,t[e]));return this}return this.each(et(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=it(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=pt.apply(this,arguments);for(var e=-1,r=this.length;++e=e&&(e=i+1);!(o=s[e])&&++e0&&(t=t.slice(0,i));var l=xt.get(t);function u(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=_t),i?e?function(){var i=o(e,s(arguments));u.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:u:e?B:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=vt,a.selection.enter.prototype=gt,gt.append=J.append,gt.empty=J.empty,gt.node=J.node,gt.call=J.call,gt.size=J.size,gt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s1?Ot:t<-1?-Ot:Math.asin(t)}function Rt(t){return((t=Math.exp(t))+1/t)/2}var Ft=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,f=l-a,h=c*c+f*f;if(h<1e-12)n=Math.log(u/o)/Ft,r=function(t){return[i+t*c,a+t*f,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(h),d=(u*u-o*o+4*h)/(2*o*2*p),v=(u*u-o*o-4*h)/(2*u*2*p),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(v*v+1)-v);n=(y-g)/Ft,r=function(t){var e,r=t*n,s=Rt(g),l=o/(2*p)*(s*(e=Ft*r+g,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+l*c,a+l*f,o*s/Rt(Ft*r+g)]}}return r.duration=1e3*n,r},a.behavior.zoom=function(){var t,e,r,n,i,o,s,u,f,h={x:0,y:0,k:1},p=[960,500],d=jt,v=250,g=0,y="mousedown.zoom",m="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=H(w,"zoomstart","zoom","zoomend");function w(t){t.on(y,P).on(Nt+".zoom",I).on("dblclick.zoom",D).on(b,O)}function T(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function k(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function M(t,r,n,i){t.__chart__={x:h.x,y:h.y,k:h.k},k(Math.pow(2,i)),A(e=r,n),t=a.select(t),v>0&&(t=t.transition().duration(v)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:"zoomend"}),e=null)}function P(){var t=this,e=_.of(t,arguments),r=0,n=a.select(c(t)).on(m,s).on(x,l),i=T(a.mouse(t)),o=kt(t);function s(){r=1,A(a.mouse(t),i),L(e)}function l(){n.on(m,null).on(x,null),o(r),C(e)}$i.call(t),E(e)}function O(){var t,e=this,r=_.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,u="touchend"+s,c=[],f=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=h.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function v(){var t=a.event.target;a.select(t).on(l,g).on(u,m),c.push(t);for(var r=a.event.changedTouches,s=0,f=r.length;s1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(e);$i.call(e);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ie(a(t+120),a(t),a(t-120))}function Gt(t,e,r){return this instanceof Gt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Gt?new Gt(t.h,t.c,t.l):te(t instanceof Wt?t.l:(t=fe((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Gt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Vt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Vt(this.h,this.s,t*this.l)},Ht.rgb=function(){return qt(this.h,this.s,this.l)},a.hcl=Gt;var Zt=Gt.prototype=new Ut;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Wt(r,Math.cos(t*=It)*e,Math.sin(t)*e)}function Wt(t,e,r){return this instanceof Wt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Wt?new Wt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):fe((t=ie(t)).r,t.g,t.b):new Wt(t,e,r)}Zt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Xt*(arguments.length?t:1)))},Zt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Xt*(arguments.length?t:1)))},Zt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},a.lab=Wt;var Xt=18,Jt=.95047,Kt=1.08883,$t=Wt.prototype=new Ut;function Qt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ie(ne(3.2404542*(i=ee(i)*Jt)-1.5371385*(n=1*ee(n))-.4985314*(a=ee(a)*Kt)),ne(-.969266*i+1.8760108*n+.041556*a),ne(.0556434*i-.2040259*n+1.0572252*a))}function te(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Dt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function ee(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function re(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ne(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ie(t,e,r){return this instanceof ie?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ie?new ie(t.r,t.g,t.b):ue(""+t,ie,qt):new ie(t,e,r)}function ae(t){return new ie(t>>16,t>>8&255,255&t)}function oe(t){return ae(t)+""}$t.brighter=function(t){return new Wt(Math.min(100,this.l+Xt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Wt(Math.max(0,this.l-Xt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return Qt(this.l,this.a,this.b)},a.rgb=ie;var se=ie.prototype=new Ut;function le(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(pe(i[0]),pe(i[1]),pe(i[2]))}return(a=de.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function ce(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new Vt(n,i,l)}function fe(t,e,r){var n=re((.4124564*(t=he(t))+.3575761*(e=he(e))+.1804375*(r=he(r)))/Jt),i=re((.2126729*t+.7151522*e+.072175*r)/1);return Wt(116*i-16,500*(n-i),200*(i-re((.0193339*t+.119192*e+.9503041*r)/Kt)))}function he(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function pe(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}se.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=r.call(i,u)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,u)}return self.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(t)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,u)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(c=t,i):c},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),u.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}de.forEach((function(t,e){de.set(t,ae(e))})),a.functor=ve,a.xhr=ge(D),a.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(_e),_e=setTimeout(ke,e)),be=0):(be=1,we(ke))}function Ae(){for(var t=Date.now(),e=me;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Me(){for(var t,e=me,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Ce(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){Te.apply(this,arguments)},a.timer.flush=function(){Ae(),Me()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Se,r=Ee;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ve(e),a=ve(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[u[n]][2]]);for(n=+f;nEt)s=s.L;else{if(!((i=a-We(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Fe.insert(e,l),e||r){if(e===r)return Qe(e),r=He(e.site),Fe.insert(l,r),l.edge=r.edge=rr(e.site,l.site),$e(e),void $e(r);if(r){Qe(e),Qe(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,p=t.y-f,d=r.site,v=d.x-c,g=d.y-f,y=2*(h*g-p*v),m=h*h+p*p,x=v*v+g*g,b={x:(g*m-p*x)/y+c,y:(h*x-v*m)/y+f};nr(r.edge,u,d,b),l.edge=rr(u,t,null,b),r.edge=rr(t,d,null,b),$e(e),$e(r)}else l.edge=rr(e.site,l.site)}}function Ye(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function We(t,e){var r=t.N;if(r)return Ye(r,e);var n=t.site;return n.y===e?n.x:1/0}function Xe(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function Ke(){or(this),this.x=this.y=this.arc=this.site=this.cy=null}function $e(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-1e-12)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,y=Ue.pop()||new Ke;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+v*v),y.cy=g,t.circle=y;for(var m=null,x=Ne._;x;)if(y.y=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>c&&(c=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=a-u,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>c&&(c=e)}else if(p>0){if(e0&&(t.a={x:l+c*h,y:u+c*p}),f<1&&(t.b={x:l+f*h,y:u+f*p}),t}}}}}),l=o.length;l--;)(!tr(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ir((y=a.site,m=c,x=w(n-f)Et?{x:f,y:w(e-f)Et?{x:w(r-d)Et?{x:h,y:w(e-h)Et?{x:w(r-p)=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return cr(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return cr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Je),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++ca||f>o||h=_)<<1|e>=b,T=w+4;wa&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return av&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;fv&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(w(l-r)+w(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}_>T?g=d+_:v=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++f),+m(t,f),p,d,v,g)},visit:function(t){vr(t,M,p,d,v,g)},find:function(t){return gr(M,t[0],t[1],p,d,v,g)}};if(f=-1,null==e){for(;++f=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1?1:t(e)}}function Lr(t){return function(e){return 1-t(1-e)}}function Cr(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Pr(t){return t*t}function Or(t){return t*t*t}function Ir(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Dr(t){return 1-Math.cos(t*Ot)}function zr(t){return Math.pow(2,10*(t-1))}function Rr(t){return 1-Math.sqrt(1-t*t)}function Fr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Br(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Nr(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=Ur(i),s=jr(i,a),l=Ur(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,e):t,n=e>=0?t.slice(e+1):"in";return r=Mr.get(r)||Ar,Er((n=Sr.get(n)||D)(r.apply(null,o.call(arguments,1))))},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Yt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return qt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return Qt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Br,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Nr(r?r.matrix:Vr)})(t)},Nr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Vr={a:1,b:0,c:0,d:1,e:0,f:0};function Hr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Hr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Hr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Hr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Hr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Hr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Hr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=Te(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=m.length,c=u[0],d=u[1];for(t=0;t=0;)r.push(i[n])}function on(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return on(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(an(t,(function(t){t.children&&(t.value=0)})),on(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=t.value?n/t.value:0;++us&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function bn(t){return t.reduce(_n,0)}function _n(t,e){return t+e[1]}function wn(t,e){return Tn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Tn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function kn(t){return[a.min(t),a.max(t)]}function An(t,e){return t.value-e.value}function Mn(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Sn(t,e){t._pack_next=e,e._pack_prev=t}function En(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Ln(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(Cn),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(In(r,n,i=e[2]),x(i),Mn(r,i),r._pack_prev=i,Mn(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ve(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return Tn(e,t)}:ve(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(An),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,on(s,(function(t){t.r=+c(t.value)})),on(s,Ln),r){var f=r*(t?1:Math.max(2*s.r/l,2*s.r/u))/2;on(s,(function(t){t.r+=f})),on(s,Ln),on(s,(function(t){t.r-=f}))}return On(s,l/2,u/2,t?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},nn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=Dn,r=[1,1],n=null;function i(i,a){var u=t.call(this,i,a),c=u[0],f=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var v=e(h,p)/2-h.x,g=r[0]/(p.x+e(p,h)/2+v),y=r[1]/(d.depth||1);an(c,(function(t){t.x=(t.x+v)*g,t.y=t.depth*y}))}return u}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Rn(s),a=zn(a),s&&a;)l=zn(l),(o=Rn(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Fn(Bn(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Rn(o)&&(o.t=s,o.m+=f-c),a&&!zn(l)&&(l.t=a,l.m+=u-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},nn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=Dn,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),u=l[0],c=0;on(u,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var f=Nn(u),h=jn(u),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2;return on(u,n?function(t){t.x=(t.x-u.x)*r[0],t.y=(u.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(u.y?t.y/u.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},nn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=Un,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=u[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,u=n.y,c=e?r(t.area/e):0;if(e==n.dx){for((i||c>n.dy)&&(c=n.dy);++on.dx)&&(c=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Xn:Gn,l=n?Zr:Gr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Br)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return ti(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return $n(t,e),o()},s.copy=function(){return Jn(t,e,r,n)},o()}function Kn(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function $n(t,e){return Zn(t,Yn(Qn(t,e)[2])),Zn(t,Yn(Qn(t,e)[2])),t}function Qn(t,e){null==e&&(e=10);var r=Hn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function ti(t,e){return a.range.apply(a,Qn(t,e))}function ei(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Zn(n.map(i),r?Math:ri);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Hn(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(c-u)){if(r){for(;u0;h--)o.push(a(u)*h);for(u=0;o[u]l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ei(t.copy(),e,r,n)},Kn(o,t)}a.scale.linear=function(){return Jn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ei(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ri={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ni(t,e,r){var n=ii(e),i=ii(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return ti(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain($n(r,t))},a.exponent=function(o){return arguments.length?(n=ii(e=o),i=ii(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ni(t.copy(),e,r)},Kn(a,t)}function ii(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ai(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new A;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nf?0:1;if(u=Pt)return l(u,p)+(s?l(s,1-p):"")+"Z";var d,v,g,y,m,x,b,_,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===vi?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=zt(g/u*Math.sin(y))),s&&(M=zt(g/s*Math.sin(y)))),u){m=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=Lt?0:1;if(S&&_i(m,x,b,_)===p^L){var C=(c+f)/2;m=u*Math.cos(C),x=u*Math.sin(C),b=_=null}}else m=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(c+M),A=s*Math.sin(c+M);var P=Math.abs(c-f+2*M)<=Lt?0:1;if(M&&_i(w,T,k,A)===1-p^P){var O=(c+f)/2;w=s*Math.cos(O),T=s*Math.sin(O),k=A=null}}else w=T=0;if(h>Et&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s0?0:1}function wi(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,f=t[1]+u,h=e[0]+l,p=e[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,y=p-f,m=g*g+y*y,x=r-n,b=c*p-h*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-g*_)/m,T=(-b*g-y*_)/m,k=(b*y+g*_)/m,A=(-b*g+y*_)/m,M=w-d,S=T-v,E=k-d,L=A-v;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-u],[w*r/x,T*r/x]]}function Ti(){return!0}function ki(t){var e=Se,r=Ee,n=Ti,i=Mi,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=ve(e),p=ve(r);function d(){l.push("M",i(t(u),o))}for(;++c1&&i.push("H",n[0]),i.join("")},"step-before":Ei,"step-after":Li,basis:Oi,"basis-open":function(t){if(t.length<4)return Mi(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ii(Ri,a)+","+Ii(Ri,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Mi(t){return t.length>1?t.join("L"):t+"Z"}function Si(t){return t.join("L")+"Z"}function Ei(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var u=2;uLt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=ve(t),a):r},a.source=function(e){return arguments.length?(t=ve(e),a):t},a.target=function(t){return arguments.length?(e=ve(t),a):e},a.startAngle=function(t){return arguments.length?(n=ve(t),a):n},a.endAngle=function(t){return arguments.length?(i=ve(t),a):i},a},a.svg.diagonal=function(){var t=Ui,e=Vi,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(Gi(e=t)):e},t},a.svg.symbol=function(){var t=Yi,e=Zi;function r(r,n){return(Xi.get(t.call(this,r,n))||Wi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var Xi=a.map({circle:Wi,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Ki)),r=e*Ki;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Ji),r=e*Ji/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Ji),r=e*Ji/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Xi.keys();var Ji=Math.sqrt(3),Ki=Math.tan(30*It);J.transition=function(t){for(var e,r,n=ea||++ia,i=sa(t),a=[],o=ra||{time:Date.now(),ease:Ir,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=Te((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new A,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}na.call=J.call,na.empty=J.empty,na.node=J.node,na.size=J.size,a.transition=function(t,e){return t&&t.transition?ea?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=na,na.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=K(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",o[1]-o[0])}function v(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var f,g,y=this,m=a.select(a.event.target),x=r.of(y,arguments),b=a.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&n,T=!/^(e|w)$/.test(_)&&i,k=m.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(c(y)).on("keydown.brush",C).on("keyup.brush",P);if(a.event.changedTouches?S.on("touchmove.brush",O).on("touchend.brush",D):S.on("mousemove.brush",O).on("mouseup.brush",D),b.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[o[1-E]-M[0],s[1-L]-M[1]],M[0]=o[E],M[1]=s[L]}else a.event.altKey&&(f=M.slice());function C(){32==a.event.keyCode&&(k||(f=null,M[0]-=o[1],M[1]-=s[1],k=2),U())}function P(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,U())}function O(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0]>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var h=0;he+n||T>r+n||k=M||a===o)){var s=m[i];void 0===o&&(o=s.length);for(var l=a;l=v&&c<=y&&f>=g&&f<=b&&S.push(u)}var h=x[i],p=h[4*a+0],d=h[4*a+1],_=h[4*a+2],E=h[4*a+3],P=C(h,a+1),O=.5*n,I=i+1;L(e,r,O,I,p,d||_||E||P),L(e,r+O,O,I,d,_||E||P),L(e+O,r,O,I,_,E||P),L(e+O,r+O,O,I,E,P)}}function C(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return L(0,0,1,0,0,1),S},d;function E(t,e,r,i,a){for(var o=[],s=0;s0){e+=Math.abs(o(t[0]));for(var r=1;r2){for(l=0;l=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},60302:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(23132);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},27138:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(94228);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},e.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},e.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},e.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},e.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},e.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},e.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},e.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},88553:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(64182);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var y="",m="",x="",b="",_={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function w(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function T(t){return d(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var k=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==p(t)||null===t)throw new v("options","Object",t);var i=t.message,a=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,h(e).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(y="",m="",b="",x=""):(y="",m="",b="",x="")),"object"===p(u)&&null!==u&&"object"===p(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=w(u),c=w(c)),"deepStrictEqual"===a||"strictEqual"===a)r=o(this,h(e).call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,u=T(t),c=u.split("\n"),f=T(e).split("\n"),h=0,d="";if("strictEqual"===r&&"object"===p(t)&&"object"===p(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===c.length&&1===f.length&&c[0]!==f[0]){var v=c[0].length+f[0].length;if(v<=10){if(!("object"===p(t)&&null!==t||"object"===p(e)&&null!==e||0===t&&0===e))return"".concat(_[r],"\n\n")+"".concat(c[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==r&&v<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][h]===f[0][h];)h++;h>2&&(d="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",h),"^"),h=0)}}for(var w=c[c.length-1],k=f[f.length-1];w===k&&(h++<2?s="\n ".concat(w).concat(s):i=w,c.pop(),f.pop(),0!==c.length&&0!==f.length);)w=c[c.length-1],k=f[f.length-1];var A=Math.max(c.length,f.length);if(0===A){var M=u.split("\n");if(M.length>30)for(M[26]="".concat(y,"...").concat(b);M.length>27;)M.pop();return"".concat(_.notIdentical,"\n\n").concat(M.join("\n"),"\n")}h>3&&(s="\n".concat(y,"...").concat(b).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=_[r]+"\n".concat(m,"+ actual").concat(b," ").concat(x,"- expected").concat(b),L=" ".concat(y,"...").concat(b," Lines skipped");for(h=0;h1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(f[h-2]),S++),a+="\n ".concat(f[h-1]),S++),o=h,i+="\n".concat(x,"-").concat(b," ").concat(f[h]),S++;else if(f.length1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(c[h-2]),S++),a+="\n ".concat(c[h-1]),S++),o=h,a+="\n".concat(m,"+").concat(b," ").concat(c[h]),S++;else{var P=f[h],O=c[h],I=O!==P&&(!g(O,",")||O.slice(0,-1)!==P);I&&g(P,",")&&P.slice(0,-1)===O&&(I=!1,O+=","),I?(C>1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(c[h-2]),S++),a+="\n ".concat(c[h-1]),S++),o=h,a+="\n".concat(m,"+").concat(b," ").concat(O),i+="\n".concat(x,"-").concat(b," ").concat(P),S+=2):(a+=i,i="",1!==C&&0!==h||(a+="\n ".concat(O),S++))}if(S>20&&h30)for(k[26]="".concat(y,"...").concat(b);k.length>27;)k.pop();r=1===k.length?o(this,h(e).call(this,"".concat(d," ").concat(k[0]))):o(this,h(e).call(this,"".concat(d,"\n\n").concat(k.join("\n"),"\n")))}else{var A=T(u),M="",S=_[a];"notDeepEqual"===a||"notEqual"===a?(A="".concat(_[a],"\n\n").concat(A)).length>1024&&(A="".concat(A.slice(0,1021),"...")):(M="".concat(T(c)),A.length>512&&(A="".concat(A.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?A="".concat(S,"\n\n").concat(A,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),r=o(this,h(e).call(this,"".concat(A).concat(M)))}return Error.stackTraceLimit=f,r.generatedMessage=!i,Object.defineProperty(s(r),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),r.code="ERR_ASSERTION",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name="AssertionError",o(r)}var r,l;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&f(t,e)}(e,t),r=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:d.custom,value:function(t,e){return d(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,u,f;if(void 0===o&&(o=r(32791)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,s.length)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(c(e,"type"));else{var h=("number"!=typeof f&&(f=0),f+".".length>(u=t).length||-1===u.indexOf(".",f)?"argument":"property");l='The "'.concat(t,'" ').concat(h," ").concat(a," ").concat(c(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),u("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(43827));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),u("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},74061:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},l=Object.is?Object.is:r(64003),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(15567);function f(t){return t.call.bind(t)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(43827).types,g=v.isAnyArrayBuffer,y=v.isArrayBufferView,m=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,T=v.isBoxedPrimitive,k=v.isNumberObject,A=v.isStringObject,M=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,L=v.isFloat32Array,C=v.isFloat64Array;function P(t){if(0===t.length||t.length>10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function O(t){return Object.keys(t).filter(P).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function I(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,l=n-i;sl?l:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},91358:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},13547:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},44781:function(t,e,r){"use strict";var n=r(53435);t.exports=function(t,e){e||(e={});var r,o,s,l,u,c,f,h,p,d,v,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,m=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,c=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d-1?i(r):r}},68222:function(t,e,r){"use strict";var n=r(77575),i=r(68318),a=i("%Function.prototype.apply%"),o=i("%Function.prototype.call%"),s=i("%Reflect.apply%",!0)||n.call(o,a),l=i("%Object.getOwnPropertyDescriptor%",!0),u=i("%Object.defineProperty%",!0),c=i("%Math.max%");if(u)try{u({},"a",{value:1})}catch(t){u=null}t.exports=function(t){var e=s(n,o,arguments);if(l&&u){var r=l(e,"length");r.configurable&&u(e,"length",{value:1+c(0,t.length-(arguments.length-1))})}return e};var f=function(){return s(n,a,arguments)};u?u(t.exports,"apply",{value:f}):t.exports.apply=f},53435:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},6475:function(t,e,r){"use strict";var n=r(53435);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},76857:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},25075:function(t,e,r){"use strict";var n=r(36652),i=r(53435),a=r(90660);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},90736:function(t,e,r){"use strict";var n=r(76857),i=r(10973),a=r(46775);t.exports=function(t){var e,s,l=[],u=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)u=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var c=(p=t.slice(1)).length;u=1,c<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===c&&(u=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===c&&(u=parseInt(p[6]+p[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var f=e[1],h="rgb"===f,p=f.replace(/a$/,"");s=p,c="cmyk"===p?4:"gray"===p?1:3,l=e[2].trim().split(/\s*,\s*/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===p?255*parseFloat(t)/100:parseFloat(t);if("h"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===p&&l.push(1),u=h||void 0===l[c]?1:l[c],l=l.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s="rgb",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s="hsl",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),u=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(u/=100)}else(Array.isArray(t)||r.g.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",u=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:u}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},36652:function(t,e,r){"use strict";var n=r(90736),i=r(80009),a=r(53435);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},80009:function(t,e,r){"use strict";var n=r(6866);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},6866:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},24138:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},72791:function(t,e,r){"use strict";t.exports={parse:r(41004),stringify:r(53313)}},63625:function(t,e,r){"use strict";var n=r(40402);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},41004:function(t,e,r){"use strict";var n=r(90448),i=r(38732),a=r(41901),o=r(15659),s=r(96209),l=r(83794),u=r(99011),c=r(63625).isSize;t.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=u(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(c(e)){var d=u(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=u(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},53313:function(t,e,r){"use strict";var n=r(71299),i=r(63625).isSize,a=d(r(38732)),o=d(r(41901)),s=d(r(15659)),l=d(r(96209)),u=d(r(83794)),c={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;re?1:t>=e?0:NaN}r.d(e,{j2:function(){return n},Fp:function(){return s},J6:function(){return u},TS:function(){return c},VV:function(){return f},w6:function(){return h},Sm:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function u(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function f(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function h(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++hn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,u)},map:function(t){return a(t,0,c,f)},entries:function(t){return s(a(t,0,c,f),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function u(t,e,r){t[e]=r}function c(){return o()}function f(t,e,r){t.set(e,r)}function h(){}var p=o.prototype;h.prototype=function(t,e){var r=new h;if(t instanceof h)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o,i=p,!(p=p[f=c<<1|u]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function u(t){return t[1]}function c(t,e,r){var n=new f(null==e?l:e,null==r?u:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function f(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function h(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return X},forceRadial:function(){return J},forceSimulation:function(){return W},forceX:function(){return K},forceY:function(){return $}});var p=c.prototype=f.prototype;function d(t){return t.x+t.vx}function v(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,u,f,h,p,g=e.length,y=0;yu+d||if+d||os.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,y=v*v+g*g;yt.r&&(t.r=t[e].r)}function u(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nf&&(f=n),ih&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=u.y0)>d||(o=u.x1)=m)<<1|t>=y)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+y)/2))?v=l:y=l,e=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:r}}))}function A(t,e){for(var r,n=0,i=t.length;n0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--C}()}finally{C=0,function(){for(var t,e,r=S,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:S=e);E=t,q(n)}(),D=0}}function H(){var t=R.now(),e=t-I;e>1e3&&(z-=e,I=t)}function q(t){C||(P&&(P=clearTimeout(P)),t-D>24?(t<1/0&&(P=setTimeout(V,t-R.now()-z)),O&&(O=clearInterval(O))):(O||(I=R.now(),O=setInterval(H,1e3)),C=1,F(V)))}function G(t){return t.x}function Z(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||E===this||(E?E._next=this:S=this,E=this),this._call=t,this._time=r,q()},stop:function(){this._call&&(this._call=null,this._time=1/0,q())}};var Y=Math.PI*(3-Math.sqrt(5));function W(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.UI)(),l=U(c),u=L("tick","end");function c(){f(),u.call("tick",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u1?(u.on(t,r),e):u.on(t)}}}function X(){var t,e,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=t.length,o=c(t,G,Z).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{WU:function(){return h},FF:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(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 l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.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 u={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function v(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?c:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",f=void 0===t.decimal?".":t.decimal+"",h=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),v=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function m(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,c=t.symbol,p=t.zero,m=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;"n"===w?(x=!0,w="g"):u[w]||(void 0===b&&(b=12),_=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===c?s:"#"===c&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===c?l:/[%p]/.test(w)?v:"",A=u[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,u=T,c=k;if("c"===w)c=A(t)+c,t="";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==n&&(v=!1),u=(v?"("===n?n:g:"-"===n||"("===n?"":n)+u,c=("s"===w?d[8+i/3]:"")+c+(v&&"("===n?")":""),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){c=(46===l?f+t.slice(o+1):t.slice(o))+c,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=u.length+t.length+c.length,E=S>1)+u+t+c+E.slice(S);break;default:t=E+u+t+c}return h(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+""},S}return{format:m,formatPrefix:function(t,e){var r,i=m(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}f=v({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),h=f.format,f.formatPrefix},65704:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return z},geoAiryRaw:function(){return D},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return q},geoBerghaus:function(){return W},geoBerghausRaw:function(){return Y},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ct},geoBoggsRaw:function(){return ut},geoBonne:function(){return vt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return mt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Ct},geoCollignonRaw:function(){return Lt},geoCraig:function(){return Ot},geoCraigRaw:function(){return Pt},geoCraster:function(){return zt},geoCrasterRaw:function(){return Dt},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return Ht},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return qt},geoEckert4:function(){return Yt},geoEckert4Raw:function(){return Zt},geoEckert5:function(){return Xt},geoEckert5Raw:function(){return Wt},geoEckert6:function(){return Kt},geoEckert6Raw:function(){return Jt},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return he},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return me},geoGinzburg5:function(){return _e},geoGinzburg5Raw:function(){return be},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Ce},geoGringortenQuincuncial:function(){return ei},geoGringortenRaw:function(){return Le},geoGuyou:function(){return De},geoGuyouRaw:function(){return Ie},geoHammer:function(){return $},geoHammerRaw:function(){return J},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return Ye},geoHealpixRaw:function(){return He},geoHill:function(){return Xe},geoHillRaw:function(){return We},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return fr},geoInterruptedBoggs:function(){return pr},geoInterruptedHomolosine:function(){return vr},geoInterruptedMollweide:function(){return yr},geoInterruptedMollweideHemispheres:function(){return xr},geoInterruptedQuarticAuthalic:function(){return hn},geoInterruptedSinuMollweide:function(){return _r},geoInterruptedSinusoidal:function(){return Tr},geoKavrayskiy7:function(){return Ar},geoKavrayskiy7Raw:function(){return kr},geoLagrange:function(){return Sr},geoLagrangeRaw:function(){return Mr},geoLarrivee:function(){return Cr},geoLarriveeRaw:function(){return Lr},geoLaskowski:function(){return Or},geoLaskowskiRaw:function(){return Pr},geoLittrow:function(){return Dr},geoLittrowRaw:function(){return Ir},geoLoximuthal:function(){return Rr},geoLoximuthalRaw:function(){return zr},geoMiller:function(){return Br},geoMillerRaw:function(){return Fr},geoModifiedStereographic:function(){return Jr},geoModifiedStereographicAlaska:function(){return Gr},geoModifiedStereographicGs48:function(){return Zr},geoModifiedStereographicGs50:function(){return Yr},geoModifiedStereographicLee:function(){return Xr},geoModifiedStereographicMiller:function(){return Wr},geoModifiedStereographicRaw:function(){return Nr},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return tn},geoMtFlatPolarParabolicRaw:function(){return Qr},geoMtFlatPolarQuartic:function(){return rn},geoMtFlatPolarQuarticRaw:function(){return en},geoMtFlatPolarSinusoidal:function(){return an},geoMtFlatPolarSinusoidalRaw:function(){return nn},geoNaturalEarth:function(){return on.Z},geoNaturalEarth2:function(){return ln},geoNaturalEarth2Raw:function(){return sn},geoNaturalEarthRaw:function(){return on.K},geoNellHammer:function(){return cn},geoNellHammerRaw:function(){return un},geoNicolosi:function(){return dn},geoNicolosiRaw:function(){return pn},geoPatterson:function(){return _n},geoPattersonRaw:function(){return bn},geoPeirceQuincuncial:function(){return ri},geoPierceQuincuncial:function(){return ri},geoPolyconic:function(){return Tn},geoPolyconicRaw:function(){return wn},geoPolyhedral:function(){return Ln},geoPolyhedralButterfly:function(){return Rn},geoPolyhedralCollignon:function(){return Nn},geoPolyhedralWaterman:function(){return jn},geoProject:function(){return Gn},geoQuantize:function(){return ni},geoQuincuncial:function(){return ti},geoRectangularPolyconic:function(){return ai},geoRectangularPolyconicRaw:function(){return ii},geoRobinson:function(){return li},geoRobinsonRaw:function(){return si},geoSatellite:function(){return ci},geoSatelliteRaw:function(){return ui},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return $e},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ht},geoStitch:function(){return Ti},geoTimes:function(){return Ai},geoTimesRaw:function(){return ki},geoTwoPointAzimuthal:function(){return Li},geoTwoPointAzimuthalRaw:function(){return Si},geoTwoPointAzimuthalUsa:function(){return Ei},geoTwoPointEquidistant:function(){return Oi},geoTwoPointEquidistantRaw:function(){return Ci},geoTwoPointEquidistantUsa:function(){return Pi},geoVanDerGrinten:function(){return Di},geoVanDerGrinten2:function(){return Ri},geoVanDerGrinten2Raw:function(){return zi},geoVanDerGrinten3:function(){return Bi},geoVanDerGrinten3Raw:function(){return Fi},geoVanDerGrinten4:function(){return ji},geoVanDerGrinten4Raw:function(){return Ni},geoVanDerGrintenRaw:function(){return Ii},geoWagner:function(){return Vi},geoWagner4:function(){return Yi},geoWagner4Raw:function(){return Zi},geoWagner6:function(){return Xi},geoWagner6Raw:function(){return Wi},geoWagner7:function(){return Hi},geoWagnerRaw:function(){return Ui},geoWiechel:function(){return Ki},geoWiechelRaw:function(){return Ji},geoWinkel3:function(){return Qi},geoWinkel3Raw:function(){return $i}});var n=r(15002),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,m=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,T=Math.SQRT1_2,k=P(2),A=P(b),M=2*b,S=180/b,E=b/180;function L(t){return t>1?_:t<-1?-_:Math.asin(t)}function C(t){return t>1?0:t<-1?b:Math.acos(t)}function P(t){return t>0?Math.sqrt(t):0}function O(t){return(l(t)-l(-t))/2}function I(t){return(l(t)+l(-t))/2}function D(t){var e=y(t/2),r=2*c(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=P(e*e+n*n),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,y=-c(i(p));u-=a=(2/v*y-r*v-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>m&&--f>0);var x=g(u);return[o(e*x,l*s(u)),L(n*x/l)]},n}function z(){var t=_,e=(0,n.r)(D),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(C(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.Z)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function u(t,i){var u=s(i),c=s(t/=2);return[(1+u)*g(t),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*e*c]}return u.invert=function(t,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),y=g(f),x=1+v,b=x*d-t,_=l+y*r-x*e*p-u,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*v+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>m||i(E)>m)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.r)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*e;e*n<180;n+=90*e)c.point(n,90*e);if(t)for(;e*(n-=3*e*f)>=-180;)c.point(n,e*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=P(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.Z)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>b*b+m)){var r=t,n=e,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,y=u*u,x=1-v*c*c,_=x?C(h*c)*P(o=1/x):o=0,w=2*_*h*u-t,T=_*f-e,k=o*(v*y+_*h*c*d),A=o*(.5*l*p-2*_*f*u),M=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*y*h),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=P((r-P(r*r-4*e*e))/2),a=L(n)/3,l=n?function(t){return c(t+P(t*t-1))}(i(e/n))/3:function(t){return c(t+P(t*t+1))}(i(t))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(t)*o(O(l)*u,.25-h),2*v(e)*o(f*g(a),.25+h)]};var V=P(8),H=c(1+k);function q(t,e){var r=i(e);return rx&&--u>0);return[t/(s(o)*(V-1/g(o))),v(e)*o]};var Z=r(17889);function Y(t){var e=2*b/t;function r(t,r){var n=(0,Z.N)(t,r);if(i(t)>_){var a=o(n[1],n[0]),l=P(n[0]*n[0]+n[1]*n[1]),u=e*d((a-_)/e)+_,c=o(g(a-=u),2-s(a));a=u+L(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=P(t*t+r*r);if(n>_){var i=o(r,t),l=e*d((i-_)/e)+_,u=i>l?-1:1,c=n*s(l-i),f=1/y(u*C((c-b)/P(b*(b-2*c)+n*n)));i=l+2*a((f+u*P(f*f-3))/3),t=n*s(i),r=n*g(i)}return Z.N.invert(t,r)},r}function W(){var t=5,e=(0,n.r)(Y),r=e(t),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),c=i(e),f=(r.rotate([0,0]),i(e));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var e=0,r=360/t,n=2*b/t,i=90-180/t,c=_;e0&&i(n)>m);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,m=t(o+g,s),x=t(o,s+y),b=(m[0]-h[0])/g,_=(m[1]-h[1])/g,w=(x[0]-h[0])/y,T=(x[1]-h[1])/y,k=T*b-_*w,A=(i(k)<.5?.5:1)/k;if(o+=u=(d*w-p*T)*A,s+=c=(p*_-d*b)*A,i(u)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.Z)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>m&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=L(i/e),[n/(t*s(i)),L((2*i+g(2*i))/r)]},n}K.invert=function(t,e){var r=2*L(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/_,k,b);function ot(){return(0,n.Z)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ut(t,e){var r=nt(b,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ct(){return(0,n.Z)(ut).scale(160.857)}function ft(t){var e=0,r=(0,n.r)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ht(t,e){return[t*s(e),e]}function pt(){return(0,n.Z)(ht).scale(152.63)}function dt(t){if(!t)return ht;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=P(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function vt(){return ft(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=_-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,_-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=_-r,a=P(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,_-a]},e}function yt(){var t=.5,e=(0,n.r)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ut.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*k*s(o))}while(i(r)>m&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ht.invert=function(t,e){return[t/s(e),e]};var mt=it(1,4/b,b);function xt(){return(0,n.Z)(mt).scale(152.63)}var bt=r(66624),_t=r(49386);function wt(t,e,r,n,a,l){var u,c=s(l);if(i(t)>1||i(l)>1)u=C(r*a+e*n*c);else{var f=g(t/2),h=g(l/2);u=2*L(P(f*f+e*n*h*h))}return i(u)>m?[u,o(n*g(l),e*a-r*n*c)]:[0,0]}function Tt(t,e,r){return C((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*b*u((t+b)/(2*b))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),u=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,bt.Z)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,_t.Z)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.Z)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(t){return arguments.length?u(o(t)):o.invert(u())},l.clipAngle(90)}function Lt(t,e){var r=P(1-g(e));return[2/A*t*r,A*(1-r)]}function Ct(){return(0,n.Z)(Lt).scale(95.6464).center([0,30])}function Pt(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(P(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,L(t?e*y(t)/t:e)]},r}function Ot(){return ft(Pt).scale(249.828).clipAngle(90)}Lt.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*P(b/r)/2:0,L(1-r)]};var It=P(3);function Dt(t,e){return[It*t*(2*s(2*e/3)-1)/A,It*A*g(e/3)]}function zt(){return(0,n.Z)(Dt).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,L(r*e)]},r}function Ft(){return ft(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ft(Bt).scale(124.75)}function jt(t,e){var r=P(8/(3*b));return[r*t*(1-i(e)/b),r*e]}function Ut(){return(0,n.Z)(jt).scale(165.664)}function Vt(t,e){var r=P(4-3*g(i(e)));return[2/P(6*b)*t*r,v(e)*P(2*b/3)*(2-r)]}function Ht(){return(0,n.Z)(Vt).scale(165.664)}function qt(t,e){var r=P(b*(4+b));return[2/r*t*(1+P(1-4*e*e/(b*b))),4/r*e]}function Gt(){return(0,n.Z)(qt).scale(180.739)}function Zt(t,e){var r=(2+_)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>m;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/P(b*(4+b))*t*(1+s(e)),2*P(b/(4+b))*g(e)]}function Yt(){return(0,n.Z)(Zt).scale(180.739)}function Wt(t,e){return[t*(1+s(e))/P(2+b),2*e/P(2+b)]}function Xt(){return(0,n.Z)(Wt).scale(173.044)}function Jt(t,e){for(var r=(1+_)*g(e),n=0,a=1/0;n<10&&i(a)>m;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=P(2+b),[t*(1+s(e))/r,2*e/r]}function Kt(){return(0,n.Z)(Jt).scale(173.044)}Dt.invert=function(t,e){var r=3*L(e/(It*A));return[A*t/(It*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=P(8/(3*b)),n=e/r;return[t/(r*(1-i(n)/b)),n]},Vt.invert=function(t,e){var r=2-i(e)/P(2*b/3);return[t*P(6*b)/(2*r),v(e)*L((4-r*r)/3)]},qt.invert=function(t,e){var r=P(b*(4+b))/2;return[t*r/(1+P(1-e*e*(4+b)/(4*b))),e*r/2]},Zt.invert=function(t,e){var r=e*P((4+b)/b)/2,n=L(r),i=s(n);return[t/(2/P(b*(4+b))*(1+i)),L((n+r*(i+2))/(2+_))]},Wt.invert=function(t,e){var r=P(2+b),n=e*r/2;return[r*t/(1+s(n)),n]},Jt.invert=function(t,e){var r=1+_,n=P(r/2);return[2*t*n/(1+s(e*=n)),L((e+g(e))/r)]};var $t=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=P(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),u=P(2/(1+l*l)),f=P((k*o+(n+r)*i)/(k*o+(n-r)*i));return[$t*(u*(f-1/f)-2*c(f)),$t*(u*l*(f+1/f)-2*a(l))]}function te(){return(0,n.Z)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=$t,e/=$t;do{var u=n/2,p=o/2,d=g(u),v=s(u),y=g(p),x=s(p),b=s(o),w=P(b),A=y/(x+k*v*w),M=A*A,S=P(2/(1+M)),E=(k*x+(v+d)*w)/(k*x+(v-d)*w),L=P(E),C=L-1/L,O=L+1/L,I=S*C-2*c(L)-t,D=S*A*O-2*a(A)-e,z=y&&T*w*d*M/y,R=(k*v*x+w)/(2*(x+k*v*w)*(x+k*v*w)*w),F=-.5*A*S*S*S,B=F*z,N=F*R,U=(U=2*x+k*w*(v-d))*U*L,V=(k*v*x*w+b)/U,H=-k*d*y/(w*U),q=C*B-2*V/L+S*(V+V/E),G=C*N-2*H/L+S*(H+H/E),Z=A*O*B-2*z/(1+M)+S*O*z+S*A*(V-V/E),Y=A*O*N-2*R/(1+M)+S*O*R+S*A*(H-H/E),W=G*Z-Y*q;if(!W)break;var X=(D*G-I*Y)/W,J=(I*Z-D*q)/W;n-=X,o=f(-_,h(_,o-J))}while((i(X)>m||i(J)>m)&&--l>0);return i(i(o)-_)n){var h=P(f),p=o(c,u),v=r*d(p/r),y=p-v,x=t*s(y),w=(t*g(y)-y*g(x))/(_-x),T=de(y,w),k=(b-t)/ve(T,x,b);u=h;var A,M=50;do{u-=A=(t+ve(T,x,u)*k-h)/(T(u)*k)}while(i(A)>m&&--M>0);c=y*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(e,a){var l=e*e+a*a;if(l>n){var u=P(l),c=o(a,e),f=r*d(c/r),h=c-f;e=u*s(h),a=u*g(h);for(var p=e-_,v=g(e),y=a/v,m=e<_?1/0:0,w=10;;){var T=t*g(y),k=t*s(y),A=g(k),M=_-k,S=(T-y*A)/M,E=de(y,S);if(i(m)m||i(p)>m)&&--y>0);return[d,v]},c}var me=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.Z)(me).scale(149.995)}var be=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _e(){return(0,n.Z)(be).scale(153.93)}var we=ye(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.Z)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.Z)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>m&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>m&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.Z)(Me).scale(131.087)}function Ee(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*b,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Le(t,e){var r=v(t),n=v(e),a=s(e),l=s(t)*a,u=g(t)*a,c=g(n*e);t=i(o(u,c)),e=L(l),i(t-_)>m&&(t%=_);var f=function(t,e){if(e===_)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=L(1/P(u)),p=f+o*u*h,d=(1-a)/p,v=P(d),y=d*u,x=P(y),w=v*f;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(-3*o+h*c)*M*(1-a))/(p*p),E=-A*M,C=-A*(o*u*S+d*c*M),O=-2*A*(f*(.5*S/v)-2*o*v*M),I=4*t/b;if(t>.222*b||e.175*b){if(r=(w+o*P(y*(1+l)-w*w))/(1+l),t>b/4)return[r,r];var D=r,z=.5*r;r=.5*(z+D),n=50;do{var R=r*(O+E*P(y-r*r))+C*L(r/x)-I;if(!R)break;R<0?z=r:D=r,r=.5*(z+D)}while(i(D-z)>m&&--n>0)}else{r=m,n=25;do{var F=r*r,B=P(y-F),N=O+E*B,j=r*N+C*L(r/x)-I;r-=T=B?j/(N+(C-E*F)/B):0}while(i(T)>m&&--n>0)}return[r,-w-o*P(y-r*r)]}(t>b/4?_-t:t,e);return t>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Ce(){return(0,n.Z)(Ee(Le)).scale(239.75)}function Pe(t,e){var r,n,o,u,c,f;if(e=.999999)return r=(1-e)/4,o=1/(n=I(t)),[(u=((f=l(2*(f=t)))-1)/(f+1))+r*((c=n*O(t))-t)/(n*n),o-r*u*o*(c-t),o+r*u*o*(c+t),2*a(l(t))-_+r*(c-t)/n];var h=[1,0,0,0,0,0,0,0,0],p=[P(e),0,0,0,0,0,0,0,0],d=0;for(n=P(1-e),c=1;i(p[d]/h[d])>m&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=P(r*n),c*=2;o=c*h[d]*t;do{o=(L(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Oe(t,e){if(!e)return t;if(1===e)return c(y(t/2+w));for(var r=1,n=P(1-e),o=P(e),s=0;i(o)>m;s++){if(t%b){var l=a(n*y(t)/r);l<0&&(l+=b),t+=l+~~(t/b)*b}else t+=t;o=(r+n)/2,n=P(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function Ie(t,e){var r=(k-1)/(k+1),n=P(1-r*r),u=Oe(_,n*n),f=c(y(b/4+i(e)/2)),h=l(-1*f)/P(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?_:-_)-o(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*t),h*g(-1*t)),d=function(t,e,r){var n=i(t),o=O(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+P(u*u-(r-1)*l*4))/2;return[Oe(a(1/P(c)),r)*v(t),Oe(a(P((c/l-1)/r)),1-r)*v(e)]}return[0,Oe(a(o),1-r)*v(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*u-d[0])]}function De(){return(0,n.Z)(Ee(Ie)).scale(151.496)}Le.invert=function(t,e){i(t)>1&&(t=2*v(t)-t),i(e)>1&&(e=2*v(e)-e);var r=v(t),n=v(e),a=-r*t,l=-n*e,u=l/a<1,c=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=P(a),c=L(1/P(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=P(h),d=h*(1+l),v=p*(1-l),g=P(d-t*t),y=e+v+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var m=L(u),_=s(m),w=1/_,T=2*u*_,k=(-f*_-(-3*a+c*(1+3*l))*T*(1-u))/(f*f);return[b/4*(t*(-2*w*(.5*k/p*(1-l)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+h*(1+3*l)*T)*L(t/P(d))),m]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*L(s(f)*p)]},Ie.invert=function(t,e){var r,n,i,s,u,f,h=(k-1)/(k+1),p=P(1-h*h),d=(n=-t,i=p*p,(r=.5*Oe(_,p*p)-e)?(s=Pe(r,i),n?(f=(u=Pe(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Pe(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var ze=r(7613);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),u=s(a),c=s(t),f=C(e*l+r*u*c),h=g(f),p=i(h)>m?f/h:1;return[p*r*g(t),(i(t)>_?p:-p)*(e*u-r*l*c)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=P(t*t+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*e,h=P(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,u=g(n);return[o(l,a*r-u*e),L(u*r+a*e)]}}function Be(){var t=0,e=(0,n.r)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,ze.Z)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(33064),je=r(72736),Ue=L(1-1/3)*S,Ve=Rt(0);function He(t){var e=Ue*E,r=Lt(b,e)[0]-Lt(-b,e)[0],n=Ve(0,e)[1],a=Lt(0,e)[1],o=A-a,s=M/t,l=4/M,c=n+o*o*4/M;function p(p,d){var v,g=i(d);if(g>e){var y=h(t-1,f(0,u((p+b)/s)));(v=Lt(p+=b*(t-1)/t-y*s,g))[0]=v[0]*M/r-M*(t-1)/(2*t)+y*M/t,v[1]=n+4*(v[1]-a)*o/M,d<0&&(v[1]=-v[1])}else v=Ve(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(e,p){e/=l;var d=i(p*=c);if(d>n){var v=h(t-1,f(0,u((e+b)/s)));e=(e+b*(t-1)/t-v*s)*r/M;var g=Lt.invert(e,.25*(d-n)*M/o+a);return g[0]-=b*(t-1)/t-v*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function qe(t,e){return[t,1&e?89.999999:Ue]}function Ge(t,e){return[t,1&e?-89.999999:-Ue]}function Ze(t){return[.999999*t[0],t[1]]}function Ye(){var t=4,e=(0,n.r)(He),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.Z)((e=180/t,r=[].concat((0,Ne.w6)(-180,180+e/2,e).map(qe),(0,Ne.w6)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(Ze):r]}),o)},a},r.scale(239.75)}function We(t){var e,r=1+t,n=L(g(1/r)),a=2*P(b/(e=b+4*n*r)),l=.5*a*(r+P(t*(2+t))),u=t*t,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var y,m=_-h,w=25;do{var T=g(m),k=s(m),A=n+o(T,r-k),M=1+c-2*r*k;m-=y=(m-u*n-r*T+M*A-.5*v*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*P(M),d=f*A/b}else p=a*(t+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(t,i){var s=t*t+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=C(f),p=g(h),d=n+o(p,r-f);return[L(t/P(s))*b/d,L(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/e)]},f}function Xe(){var t=1,e=(0,n.r)(We),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var Je=.7109889596207567,Ke=.0528035274542;function $e(t,e){return e>-Je?((t=at(t,e))[1]+=Ke,t):ht(t,e)}function Qe(){return(0,n.Z)($e).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>Je?((t=at(t,e))[1]-=e>0?Ke:-Ke,t):ht(t,e)}function er(){return(0,n.Z)(tr).scale(152.63)}function rr(t,e,r,n){var i=P(4*b/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=P(n*g(r)*P((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*u(1);function l(r){return P(1+t*s(2*r)+e*s(4*r))}function u(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function c(t){return l(t)*g(t)}var f=function(t,e){var n=r*Q(u,o*g(e)/r,e/b);isNaN(n)&&(n=r*v(e));var c=i*l(n);return[c*a*t/b*s(n),c/a*g(n)]};return f.invert=function(t,e){var n=Q(c,e*a/i);return[t*b/(s(n)*i*a*l(n)),L(r*u(n/r)/o)]},0===r&&(i=P(n/b),(f=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,L(e*i)]}),f}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.r)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,y,m,x,b;if(h=t(e+.25*(f=r-e)),p=t(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)t?r=n:e=n,n=e+r>>1}while(n>e);var i=u[n+1]-u[n];return i&&(i=(t-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(t,e){var r=f(i(g(e))),a=n(r)*t;return r/=h,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=h)<1&&(r=v(e)*L(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.r)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[a-m,o-m],[a-m,i+m],[r+m,i+m],[r+m,n-m]],30));return{type:"Polygon",coordinates:[(0,Ne.TS)(l)]}}function fr(t,e,r){var i,a;function o(r,n){for(var i=n<0?-1:1,a=e[+(n<0)],o=0,s=a.length-1;oa[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,u=i.length;lo&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}$e.invert=function(t,e){return e>-Je?at.invert(t,e-Ke):ht.invert(t,e)},tr.invert=function(t,e){return i(e)>Je?at.invert(t,e+(e>0?Ke:-Ke)):ht.invert(t,e)};var hr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function pr(){return fr(ut,hr).scale(160.857)}var dr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function vr(){return fr(tr,dr).scale(152.63)}var gr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function yr(){return fr(at,gr).scale(169.529)}var mr=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function xr(){return fr(at,mr).scale(169.529).rotate([20,0])}var br=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function _r(){return fr($e,br,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var wr=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function Tr(){return fr(ht,wr).scale(152.63).rotate([-20,0])}function kr(t,e){return[3/M*t*P(b*b/3-e*e),e]}function Ar(){return(0,n.Z)(kr).scale(158.837)}function Mr(t){function e(e,r){if(i(i(r)-_)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,L((l-1)/(l+1))]},e}function Sr(){var t=.5,e=(0,n.r)(Mr),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}kr.invert=function(t,e){return[M/3*t/P(b*b/3-e*e),e]};var Er=b/k;function Lr(t,e){return[t*(1+P(s(e)))/2,e/(s(e/2)*s(t/6))]}function Cr(){return(0,n.Z)(Lr).scale(97.2672)}function Pr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Or(){return(0,n.Z)(Pr).scale(139.98)}function Ir(t,e){return[g(t)/s(e),y(e)*s(t)]}function Dr(){return(0,n.Z)(Ir).scale(144.049).clipAngle(89.999)}function zr(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)h=(f=t[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=e,p=t[h],d=p[0],v=p[1],y=0,m=0;--h>=0;)y=d+u*(f=y)-c*m,m=v+u*m+c*f,d=(p=t[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var x,b,_=(y=d+u*(f=y)-c*m)*y+(m=v+u*m+c*f)*m;u-=x=((d=u*(f=d)-c*v-r)*y+(v=u*v+c*f-n)*m)/_,c-=b=(v*y-d*m)/_}while(i(x)+i(b)>1e-12&&--l>0);if(l){var w=P(u*u+c*c),T=2*a(.5*w),k=g(T);return[o(u*k,w*s(T)),w?L(c*k/w):0]}},r}Lr.invert=function(t,e){var r=i(t),n=i(e),a=m,o=_;nm||i(x)>m)&&--a>0);return a&&[r,n]},Ir.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*P((i-P(i*i-4*r))/r):1/P(n);return[L(t*a),v(e)*C(a)]},Fr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*b]};var jr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Ur=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Vr=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Hr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Gr(){return Jr(jr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Zr(){return Jr(Ur,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Yr(){return Jr(Vr,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Wr(){return Jr(Hr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Xr(){return Jr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Jr(t,e){var r=(0,n.Z)(Nr(t)).rotate(e).clipAngle(90),i=(0,_t.Z)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var Kr=P(6),$r=P(7);function Qr(t,e){var r=L(7*g(e)/(3*Kr));return[Kr*t*(2*s(2*r/3)-1)/$r,9*g(r/3)/$r]}function tn(){return(0,n.Z)(Qr).scale(164.859)}function en(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},un.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>m;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var fn=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function hn(){return fr(J(1/0),fn).rotate([20,0]).scale(152.63)}function pn(t,e){var r=g(e),n=s(e),a=v(t);if(0===t||i(e)===_)return[0,e];if(0===e)return[t,0];if(i(t)===_)return[t*n,_*r];var o=b/(2*t)-2*t/b,l=2*e/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,y=(f*r/c+u/2)/p,m=y*y-(f*r*r/c+u*r-1)/p;return[_*(d+P(d*d+n*n/h)*a),_*(y+P(m<0?0:m)*v(-e*o)*a)]}function dn(){return(0,n.Z)(pn).scale(127.267)}pn.invert=function(t,e){var r=(t/=_)*t,n=r+(e/=_)*e,i=b*b;return[t?(n-1+P((1-n)*(1-n)+4*r))/(2*t)*_:0,Q((function(t){return n*(b*g(t)-2*t)*b+4*t*t*(e-g(t))+2*b*t-i*e}),0)]};var vn=1.0148,gn=.23185,yn=-.14499,mn=.02406,xn=1.790857183;function bn(t,e){var r=e*e;return[t,e*(vn+r*r*(gn+r*(yn+mn*r)))]}function _n(){return(0,n.Z)(bn).scale(139.319)}function wn(t,e){if(i(e)xn?e=xn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(vn+a*a*(gn+a*(yn+mn*a)))-e)/(1.0148+a*a*(1.1592500000000001+a*(.21654*a-1.01493)))}while(i(r)>m);return[t,n]},wn.invert=function(t,e){if(i(e)m&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(c=n.map(r.project),f=n.map(e.project),h=Sn(c[1],c[0]),p=Sn(f[1],f[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(h,p),v=En(h)/En(p),Mn([1,0,c[0][0],0,1,c[0][1]],Mn([v,0,0,0,v,0],Mn([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));e.transform=r.transform?Mn(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=zn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Ln(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:tn^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Jn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ti(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var a=i(r)<_,o=t(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var u=e*T,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*T,o=(c-f)*T}var h=t.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.Z)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ei(){return ti(Le).scale(176.423)}function ri(){return ti(Ie).scale(111.48)}function ni(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function ii(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)m&&--c>0);var d=r*(f=y(u)),v=y(i(n)0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function li(){return(0,n.Z)(si).scale(152.63)}function ui(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=P(n),a=(t-P(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*P(1-a*a)),i?L(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function ci(){var t=2,e=0,r=(0,n.r)(ui),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(C(1/t)*S-1e-6)}oi.forEach((function(t){t[1]*=1.0144})),si.invert=function(t,e){var r=e/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=oi[o][1],l=oi[o+1][1],c=oi[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,y=v*(1-g*v*(1-2*g*v));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var m,b=50;do{y=(a=h(18,i(n)/5))-(o=u(a)),s=oi[o][1],l=oi[o+1][1],c=oi[h(19,o+2)][1],n-=(m=(e>=0?_:-_)*(l+y*(c-s)/2+y*y*(c-2*l+s)/2)-e)*S}while(i(m)>x&&--b>0);break}}while(--o>=0);var w=oi[o][0],T=oi[o+1][0],k=oi[h(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var fi=-179.9999,hi=179.9999,pi=-89.9999,di=89.9999;function vi(t){return t.length>0}function gi(t){return-90===t||90===t?[0,t]:[-180,(e=t,Math.floor(1e4*e)/1e4)];var e}function yi(t){var e=t[0],r=t[1],n=!1;return e<=fi?(e=-180,n=!0):e>=hi&&(e=180,n=!0),r<=pi?(r=-90,n=!0):r>=di&&(r=90,n=!0),n?[e,r]:t}function mi(t){return t.map(yi)}function xi(t,e,r){for(var n=0,i=t.length;n=hi||c<=pi||c>=di){a[o]=yi(l);for(var f=o+1;ffi&&ppi&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=gi(a[0][1]),o=-1,s=a.length}}}}function bi(t){var e,r,n,i,a,o,s=t.length,l={},u={};for(e=0;e0?b-l:l)*S],c=(0,n.Z)(t(s)).rotate(u),f=(0,_t.Z)(u),h=c.center;return delete c.rotate,c.center=function(t){return arguments.length?h(f(t)):f.invert(h())},c.clipAngle(90)}function Si(t){var e=s(t);function r(t,r){var n=(0,In.M)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return In.M.invert(t/e,r)},r}function Ei(){return Li([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Li(t,e){return Mi(Si,t,e)}function Ci(t){if(!(t*=2))return Z.N;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=C(s(a)*s(i-e)),l=C(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*P(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,u,c=n*n,f=s(P(c+(l=t+e)*l)),h=s(P(c+(l=t+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*C(P(l*l+u*u)*a)]},l}function Pi(){return Oi([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Oi(t,e){return Mi(Ci,t,e)}function Ii(t,e){if(i(e)m&&--l>0);return[v(t)*(P(a*a+4)+a)*b/4,_*s]};var qi=4*b+3*P(3),Gi=2*P(2*b*P(3)/qi),Zi=it(Gi*P(3)/b,Gi,qi/6);function Yi(){return(0,n.Z)(Zi).scale(176.84)}function Wi(t,e){return[t*P(1-3*e*e/(b*b)),e]}function Xi(){return(0,n.Z)(Wi).scale(152.63)}function Ji(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=P(1-n*n))-a*i,-a*r-l*i]}function Ki(){return(0,n.Z)(Ji).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function $i(t,e){var r=R(t,e);return[(r[0]+t/_)/2,(r[1]+e)/2]}function Qi(){return(0,n.Z)($i).scale(158.837)}Wi.invert=function(t,e){return[t/P(1-3*e*e/(b*b)),e]},Ji.invert=function(t,e){var r=(t*t+e*e)/-2,n=P(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=P(a*a+i*i);return[o(n*i,s*(1+r)),s?-L(n*a/s):0]},$i.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),y=v*v,x=1-h*d*d,b=x?C(l*d)*P(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-t,T=.5*(b*u+n)-e,k=.5*o*(h*y+b*l*d*f)+.5/_,A=o*(p*c/4-b*u*v),M=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*y*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},33940:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{Z:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},97860:function(t,e,r){"use strict";r.d(e,{L9:function(){return h},ZP:function(){return x},gL:function(){return d}});var n,i,a,o,s,l=r(33940),u=r(39695),c=r(73182),f=r(72736),h=(0,l.Z)(),p=(0,l.Z)(),d={point:c.Z,lineStart:c.Z,lineEnd:c.Z,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var t=+h;p.add(t<0?u.BZ+t:t),this.lineStart=this.lineEnd=this.point=c.Z},sphere:function(){p.add(u.BZ)}};function v(){d.point=y}function g(){m(n,i)}function y(t,e){d.point=m,n=t,i=e,t*=u.uR,e*=u.uR,a=t,o=(0,u.mC)(e=e/2+u.pu),s=(0,u.O$)(e)}function m(t,e){t*=u.uR,e=(e*=u.uR)/2+u.pu;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,u.mC)(e),c=(0,u.O$)(e),f=s*c,p=o*l+f*(0,u.mC)(i),d=f*n*(0,u.O$)(i);h.add((0,u.fv)(d,p)),a=t,o=l,s=c}function x(t){return p.reset(),(0,f.Z)(t,d),2*p}},77338:function(t,e,r){"use strict";r.d(e,{Z:function(){return C}});var n,i,a,o,s,l,u,c,f,h,p=r(33940),d=r(97860),v=r(7620),g=r(39695),y=r(72736),m=(0,p.Z)(),x={point:b,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,m.reset(),d.gL.polygonStart()},polygonEnd:function(){d.gL.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=T,d.L9<0?(n=-(a=180),i=-(o=90)):m>g.Ho?o=90:m<-g.Ho&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(t,e){f.push(h=[n=t,a=t]),eo&&(o=e)}function _(t,e){var r=(0,v.Og)([t*g.uR,e*g.uR]);if(c){var l=(0,v.T5)(c,r),u=[l[1],-l[0],0],p=(0,v.T5)(u,l);(0,v.iJ)(p),p=(0,v.Y1)(p);var d,y=t-s,m=y>0?1:-1,x=p[0]*g.RW*m,b=(0,g.Wn)(y)>180;b^(m*so&&(o=d):b^(m*s<(x=(x+360)%360-180)&&xo&&(o=e)),b?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else f.push(h=[n=t,a=t]);eo&&(o=e),c=r,s=t}function w(){x.point=_}function T(){h[0]=n,h[1]=a,x.point=b,c=null}function k(t,e){if(c){var r=t-s;m.add((0,g.Wn)(r)>180?r+(r>0?360:-360):r)}else l=t,u=e;d.gL.point(t,e),_(t,e)}function A(){d.gL.lineStart()}function M(){k(l,u),d.gL.lineEnd(),(0,g.Wn)(m)>g.Ho&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function L(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,e=0,s=u[r=u.length-1];e<=r;s=l,++e)l=u[e],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},7620:function(t,e,r){"use strict";r.d(e,{Og:function(){return a},T:function(){return u},T5:function(){return s},Y1:function(){return i},iJ:function(){return c},j9:function(){return o},s0:function(){return l}});var n=r(39695);function i(t){return[(0,n.fv)(t[1],t[0]),(0,n.ZR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.mC)(r);return[i*(0,n.mC)(e),i*(0,n.O$)(e),(0,n.O$)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function u(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function c(t){var e=(0,n._b)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},66624:function(t,e,r){"use strict";r.d(e,{Z:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=r(39695),b=r(73182),_=r(72736),w={sphere:b.Z,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=L,w.lineEnd=C},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e);k(r*(0,x.mC)(t),r*(0,x.O$)(t),(0,x.O$)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e);g=r*(0,x.mC)(t),y=r*(0,x.O$)(t),m=(0,x.O$)(e),w.point=S,k(g,y,m)}function S(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e),n=r*(0,x.mC)(t),a=r*(0,x.O$)(t),o=(0,x.O$)(e),s=(0,x.fv)((0,x._b)((s=y*o-m*a)*s+(s=m*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+m*o);i+=s,l+=s*(g+(g=n)),u+=s*(y+(y=a)),c+=s*(m+(m=o)),k(g,y,m)}function E(){w.point=T}function L(){w.point=P}function C(){O(d,v),w.point=T}function P(t,e){d=t,v=e,t*=x.uR,e*=x.uR,w.point=O;var r=(0,x.mC)(e);g=r*(0,x.mC)(t),y=r*(0,x.O$)(t),m=(0,x.O$)(e),k(g,y,m)}function O(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e),n=r*(0,x.mC)(t),a=r*(0,x.O$)(t),o=(0,x.O$)(e),s=y*o-m*a,d=m*n-g*o,v=g*a-y*n,b=(0,x._b)(s*s+d*d+v*v),_=(0,x.ZR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(y+(y=a)),c+=_*(m+(m=o)),k(g,y,m)}function I(t){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.Z)(t,w);var e=f,r=h,d=p,v=e*e+r*r+d*d;return v0?os)&&(o+=i*a.BZ));for(var h,p=o;i>0?p>s:p0?i.pi:-i.pi,u=(0,i.Wn)(o-r);(0,i.Wn)(u-i.pi)0?i.ou:-i.ou),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&u>=i.pi&&((0,i.Wn)(r-a)i.Ho?(0,i.z4)(((0,i.O$)(e)*(o=(0,i.mC)(n))*(0,i.O$)(r)-(0,i.O$)(n)*(a=(0,i.mC)(e))*(0,i.O$)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.ou,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.Wn)(t[0]-e[0])>i.Ho){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},1457:function(t,e,r){"use strict";r.d(e,{Z:function(){return l}});var n=r(7620),i=r(7613),a=r(39695),o=r(67108),s=r(97023);function l(t){var e=(0,a.mC)(t),r=6*a.uR,l=e>0,u=(0,a.Wn)(e)>a.Ho;function c(t,r){return(0,a.mC)(t)*(0,a.mC)(r)>e}function f(t,r,i){var o=(0,n.Og)(t),s=(0,n.Og)(r),l=[1,0,0],u=(0,n.T5)(o,s),c=(0,n.j9)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&t;var p=e*c/h,d=-e*f/h,v=(0,n.T5)(l,u),g=(0,n.T)(l,p),y=(0,n.T)(u,d);(0,n.s0)(g,y);var m=v,x=(0,n.j9)(g,m),b=(0,n.j9)(m,m),_=x*x-b*((0,n.j9)(g,g)-1);if(!(_<0)){var w=(0,a._b)(_),T=(0,n.T)(m,(-x-w)/b);if((0,n.s0)(T,g),T=(0,n.Y1)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.Wn)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var P=(0,n.T)(m,(-x+w)/b);return(0,n.s0)(P,g),[T,(0,n.Y1)(P)]}}}function h(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.Z)(c,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],y=c(p,d),m=l?y?0:h(p,d):y?h(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(v=f(e,g))||(0,o.Z)(e,v)||(0,o.Z)(g,v))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),v=f(g,e),t.point(v[0],v[1])):(v=f(e,g),t.point(v[0],v[1],2),t.lineEnd()),e=v;else if(u&&e&&l^y){var x;m&r||!(x=f(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.Z)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=m},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.m)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},97023:function(t,e,r){"use strict";r.d(e,{Z:function(){return l}});var n=r(85272),i=r(46225),a=r(39695),o=r(23071),s=r(33064);function l(t,e,r,a){return function(l){var f,h,p,d=e(l),v=(0,n.Z)(),g=e(v),y=!1,m={point:x,lineStart:_,lineEnd:w,polygonStart:function(){m.point=T,m.lineStart=k,m.lineEnd=A,h=[],f=[]},polygonEnd:function(){m.point=x,m.lineStart=_,m.lineEnd=w,h=(0,s.TS)(h);var t=(0,o.Z)(f,a);h.length?(y||(l.polygonStart(),y=!0),(0,i.Z)(h,c,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function b(t,e){d.point(t,e)}function _(){m.point=b,d.lineStart()}function w(){m.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return m}}function u(t){return t.length>1}function c(t,e){return((t=t.x)[0]<0?t[1]-a.ou-a.Ho:a.ou-t[1])-((e=e.x)[0]<0?e[1]-a.ou-a.Ho:a.ou-e[1])}},87605:function(t,e,r){"use strict";r.d(e,{Z:function(){return u}});var n=r(39695),i=r(85272),a=r(46225),o=r(33064),s=1e9,l=-s;function u(t,e,r,u){function c(n,i){return t<=n&&n<=r&&e<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?u:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.Wn)(i[0]-t)0?0:3:(0,n.Wn)(i[0]-r)0?2:1:(0,n.Wn)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=h(t,1),n=h(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var h,d,v,g,y,m,x,b,_,w,T,k=n,A=(0,i.Z)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,y),m&&_&&A.rejoin(),h.push(A.result())),M.point=S,_&&k.lineEnd()},polygonStart:function(){k=A,h=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;ru&&(f-i)*(u-a)>(h-a)*(t-i)&&++e:h<=u&&(f-i)*(u-a)<(h-a)*(t-i)&&--e;return e}(),r=T&&e,i=(h=(0,o.TS)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.Z)(h,p,e,f,n),n.polygonEnd()),k=n,h=d=v=null}};function S(t,e){c(t,e)&&k.point(t,e)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,y=i,m=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&_)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],u=0,c=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o0&&(t[0]=s+u*f,t[1]=l+u*h),c<1&&(e[0]=s+c*f,e[1]=l+c*h),!0}}}}}(o,f,t,e,r,u)?a&&(k.lineStart(),k.point(n,i),T=!1):(_||(k.lineStart(),k.point(o[0],o[1])),k.point(f[0],f[1]),a||k.lineEnd(),T=!1)}x=n,b=i,_=a}return M}}},46225:function(t,e,r){"use strict";r.d(e,{Z:function(){return o}});var n=r(67108),i=r(39695);function a(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(t,e,r,o,l){var u,c,f=[],h=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.Z)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Ho})).map(l)).concat((0,F.w6)((0,g.mD)(a/p)*p,i,p).filter((function(t){return(0,g.Wn)(t%v)>g.Ho})).map(u))}return m.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},m.outline=function(){return{type:"Polygon",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[n,s],[r,o]]},m.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,l=B(a,i,90),u=N(e,t,y),c=B(s,o,90),f=N(n,r,y),m):y},m.extentMajor([[-180,-90+g.Ho],[180,90-g.Ho]]).extentMinor([[-180,-80-g.Ho],[180,80+g.Ho]])}function U(){return j()()}var V,H,q,G,Z=r(83074),Y=r(8593),W=(0,v.Z)(),X=(0,v.Z)(),J={point:y.Z,lineStart:y.Z,lineEnd:y.Z,polygonStart:function(){J.lineStart=K,J.lineEnd=tt},polygonEnd:function(){J.lineStart=J.lineEnd=J.point=y.Z,W.add((0,g.Wn)(X)),X.reset()},result:function(){var t=W/2;return W.reset(),t}};function K(){J.point=$}function $(t,e){J.point=Q,V=q=t,H=G=e}function Q(t,e){X.add(G*t-q*e),q=t,G=e}function tt(){Q(V,H)}var et,rt,nt,it,at=J,ot=r(3559),st=0,lt=0,ut=0,ct=0,ft=0,ht=0,pt=0,dt=0,vt=0,gt={point:yt,lineStart:mt,lineEnd:_t,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=mt,gt.lineEnd=_t},result:function(){var t=vt?[pt/vt,dt/vt]:ht?[ct/ht,ft/ht]:ut?[st/ut,lt/ut]:[NaN,NaN];return st=lt=ut=ct=ft=ht=pt=dt=vt=0,t}};function yt(t,e){st+=t,lt+=e,++ut}function mt(){gt.point=xt}function xt(t,e){gt.point=bt,yt(nt=t,it=e)}function bt(t,e){var r=t-nt,n=e-it,i=(0,g._b)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,yt(nt=t,it=e)}function _t(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g._b)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),vt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.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,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.BZ)}},result:y.Z};var Et,Lt,Ct,Pt,Ot,It=(0,v.Z)(),Dt={point:y.Z,lineStart:function(){Dt.point=zt},lineEnd:function(){Et&&Rt(Lt,Ct),Dt.point=y.Z},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+It;return It.reset(),t}};function zt(t,e){Dt.point=Rt,Lt=Pt=t,Ct=Ot=e}function Rt(t,e){Pt-=t,Ot-=e,It.add((0,g._b)(Pt*Pt+Ot*Ot)),Pt=t,Ot=e}var Ft=Dt;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,m.Z)(t,r(n))),n.result()}return a.area=function(t){return(0,m.Z)(t,r(at)),at.result()},a.measure=function(t){return(0,m.Z)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,m.Z)(t,r(ot.Z)),ot.Z.result()},a.centroid=function(t){return(0,m.Z)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,Y.Z):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(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,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(15002);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.r)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.uR,r=t[1]*g.uR):[e*g.RW,r*g.RW]},i}function Ht(t,e){var r=(0,g.O$)(t),n=(r+(0,g.O$)(e))/2;if((0,g.Wn)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},c.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.ou+g.Ho&&(e=-g.ou+g.Ho):e>g.ou-g.Ho&&(e=g.ou-g.Ho);var r=i/(0,g.sQ)(te(e),n);return[r*(0,g.O$)(n*t),i-r*(0,g.mC)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g.Xx)(n)*(0,g._b)(t*t+r*r),o=(0,g.fv)(t,(0,g.Wn)(r))*(0,g.Xx)(r);return r*n<0&&(o-=g.pi*(0,g.Xx)(t)*(0,g.Xx)(r)),[o/n,2*(0,g.z4)((0,g.sQ)(i/a,1/n))-g.ou]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Kt.invert=function(t,e){return[t,2*(0,g.z4)((0,g.Qq)(e))-g.ou]};var ne=r(97492);function ie(t,e){var r=(0,g.mC)(t),n=t===e?(0,g.O$)(t):(r-(0,g.mC)(e))/(e-t),i=r/n+t;if((0,g.Wn)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,me.O)((function(t){return 2*(0,g.z4)(t)})),_e.invert=function(t,e){return[-e,2*(0,g.z4)((0,g.Qq)(t))-g.ou]}},83074:function(t,e,r){"use strict";r.d(e,{Z:function(){return i}});var n=r(39695);function i(t,e){var r=t[0]*n.uR,i=t[1]*n.uR,a=e[0]*n.uR,o=e[1]*n.uR,s=(0,n.mC)(i),l=(0,n.O$)(i),u=(0,n.mC)(o),c=(0,n.O$)(o),f=s*(0,n.mC)(r),h=s*(0,n.O$)(r),p=u*(0,n.mC)(a),d=u*(0,n.O$)(a),v=2*(0,n.ZR)((0,n._b)((0,n.Jy)(o-i)+s*u*(0,n.Jy)(a-r))),g=(0,n.O$)(v),y=v?function(t){var e=(0,n.O$)(t*=v)/g,r=(0,n.O$)(v-t)/g,i=r*f+e*p,a=r*h+e*d,o=r*l+e*c;return[(0,n.fv)(a,i)*n.RW,(0,n.fv)(o,(0,n._b)(i*i+a*a))*n.RW]}:function(){return[r*n.RW,i*n.RW]};return y.distance=v,y}},39695:function(t,e,r){"use strict";r.d(e,{BZ:function(){return l},Ho:function(){return n},Jy:function(){return A},Kh:function(){return T},O$:function(){return x},OR:function(){return w},Qq:function(){return g},RW:function(){return u},Wn:function(){return f},Xx:function(){return b},ZR:function(){return k},_b:function(){return _},aW:function(){return i},cM:function(){return y},fv:function(){return p},mC:function(){return d},mD:function(){return v},ou:function(){return o},pi:function(){return a},pu:function(){return s},sQ:function(){return m},uR:function(){return c},z4:function(){return h}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),m=Math.pow,x=Math.sin,b=Math.sign||function(t){return t>0?1:t<0?-1:0},_=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},73182:function(t,e,r){"use strict";function n(){}r.d(e,{Z:function(){return n}})},3559:function(t,e,r){"use strict";var n=r(73182),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.Z,lineEnd:n.Z,polygonStart:n.Z,polygonEnd:n.Z,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.Z=l},67108:function(t,e,r){"use strict";r.d(e,{Z:function(){return i}});var n=r(39695);function i(t,e){return(0,n.Wn)(t[0]-e[0])=0?1:-1,L=E*S,C=L>a.pi,P=x*A;if(o.add((0,a.fv)(P*E*(0,a.O$)(L),b*M+P*(0,a.mC)(L))),c+=C?S+E*a.BZ:S,C^y>=r^T>=r){var O=(0,i.T5)((0,i.Og)(g),(0,i.Og)(w));(0,i.iJ)(O);var I=(0,i.T5)(u,O);(0,i.iJ)(I);var D=(C^S>=0?-1:1)*(0,a.ZR)(I[2]);(n>D||n===D&&(O[0]||O[1]))&&(f+=C^S>=0?1:-1)}}return(c<-a.Ho||c4*e&&y--){var w=o+d,T=s+v,k=u+g,A=(0,l._b)(w*w+T*T+k*k),M=(0,l.ZR)(k/=A),S=(0,l.Wn)((0,l.Wn)(k)-1)e||(0,l.Wn)((x*P+b*O)/_-.5)>.3||o*d+s*v+u*g2?t[2]%360*l.uR:0,V()):[L*l.RW,C*l.RW,P*l.RW]},j.angle=function(t){return arguments.length?(O=t%360*l.uR,V()):O*l.RW},j.reflectX=function(t){return arguments.length?(I=t?-1:1,V()):I<0},j.reflectY=function(t){return arguments.length?(D=t?-1:1,V()):D<0},j.precision=function(t){return arguments.length?(x=d(b,N=t*t),H()):(0,l._b)(N)},j.fitExtent=function(t,e){return(0,f.qg)(j,t,e)},j.fitSize=function(t,e){return(0,f.mF)(j,t,e)},j.fitWidth=function(t,e){return(0,f.V6)(j,t,e)},j.fitHeight=function(t,e){return(0,f.rf)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},26867:function(t,e,r){"use strict";r.d(e,{K:function(){return a},Z:function(){return o}});var n=r(15002),i=r(39695);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.Z)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.Wn)(r)>i.Ho&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},57962:function(t,e,r){"use strict";r.d(e,{I:function(){return o},Z:function(){return s}});var n=r(39695),i=r(25382),a=r(15002);function o(t,e){return[(0,n.mC)(e)*(0,n.O$)(t),(0,n.O$)(e)]}function s(){return(0,a.Z)(o).scale(249.5).clipAngle(90+n.Ho)}o.invert=(0,i.O)(n.ZR)},49386:function(t,e,r){"use strict";r.d(e,{I:function(){return o},Z:function(){return c}});var n=r(96059),i=r(39695);function a(t,e){return[(0,i.Wn)(t)>i.pi?t+Math.round(-t/i.BZ)*i.BZ:t,e]}function o(t,e,r){return(t%=i.BZ)?e||r?(0,n.Z)(l(t),u(e,r)):l(t):e||r?u(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.BZ:e<-i.pi?e+i.BZ:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function u(t,e){var r=(0,i.mC)(t),n=(0,i.O$)(t),a=(0,i.mC)(e),o=(0,i.O$)(e);function s(t,e){var s=(0,i.mC)(e),l=(0,i.mC)(t)*s,u=(0,i.O$)(t)*s,c=(0,i.O$)(e),f=c*r+l*n;return[(0,i.fv)(u*a-f*o,l*r-c*n),(0,i.ZR)(f*a+u*o)]}return s.invert=function(t,e){var s=(0,i.mC)(e),l=(0,i.mC)(t)*s,u=(0,i.O$)(t)*s,c=(0,i.O$)(e),f=c*a-u*o;return[(0,i.fv)(u*a+c*o,l*r+f*n),(0,i.ZR)(f*r-l*n)]},s}function c(t){function e(e){return(e=t(e[0]*i.uR,e[1]*i.uR))[0]*=i.RW,e[1]*=i.RW,e}return t=o(t[0]*i.uR,t[1]*i.uR,t.length>2?t[2]*i.uR:0),e.invert=function(e){return(e=t.invert(e[0]*i.uR,e[1]*i.uR))[0]*=i.RW,e[1]*=i.RW,e},e}a.invert=a},72736:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{Z:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new h(t),l=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(t){return t.children}function c(t){t.data=t.data.data}function f(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function h(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return I},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return N},stratify:function(){return q},tree:function(){return K},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return B},treemapResquarify:function(){return at},treemapSlice:function(){return $},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,u,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=L(e),r):t},r.parentId=function(t){return arguments.length?(e=L(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function Z(t){var e=t.children;return e?e[0]:t.t}function Y(t){var e=t.children;return e?e[e.length-1]:t.t}function W(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function X(t,e,r){return t.a.parent===e.parent?t.a:r}function J(t,e){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=e}function K(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new J(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new J(n[i],i)),r.parent=e;return(o.parent=new J(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=u===c?1:t(u,c)/2,p=h-u.x,d=e/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Y(s),a=Z(a),s&&a;)l=Z(l),(o=Y(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(W(X(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Y(o)&&(o.t=s,o.m+=f-c),a&&!Z(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function $(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(i-r)/t.value;++sh&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}y.push(o={value:c,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=C,o=C,s=C,l=C,u=C;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(F),t}function f(e){var r=i[e.depth],n=e.x0+r,c=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var c=s[e];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[e],h=n/2+f,p=e+1,d=r-1;p>>1;u[v]l-a){var m=(i*y+o*g)/n;t(e,p,g,i,a,m,l),t(p,r,y,m,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?$:B)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,u,c,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(Q)},45879:function(t,e,r){"use strict";r.d(e,{h5:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-t,c=i-e,f=s-t,h=l-e,p=f*f+h*h;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,y=d*d+v*v,m=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-y)/(2*m*x)))/2),_=b/x,w=b/m;Math.abs(_-1)>a&&(this._+="L"+(t+_*f)+","+(e+_*h)),this._+="A"+o+","+o+",0,0,"+ +(h*d>f*v)+","+(this._x1=t+w*u)+","+(this._y1=e+w*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,u){t=+t,e=+e,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=t+c,p=e+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+h+","+p),r&&(v<0&&(v=v%i+i),v>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-c)+","+(e-f)+"A"+r+","+r+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):v>a&&(this._+="A"+r+","+r+",0,"+ +(v>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(t){return function(){return t}}function h(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function v(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=e.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:f(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:f(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},84096:function(t,e,r){"use strict";r.d(e,{i$:function(){return d},Dq:function(){return h},g0:function(){return v}});var n=r(58176),i=r(48480),a=r(59879),o=r(82301),s=r(34823),l=r(79791);function u(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function h(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,h=t.days,p=t.shortDays,d=t.months,v=t.shortMonths,y=w(l),m=T(l),x=w(h),b=T(h),_=w(p),St=T(p),Et=w(d),Lt=T(d),Ct=w(v),Pt=T(v),Ot={a:function(t){return p[t.getDay()]},A:function(t){return h[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:q,e:q,f:X,H:G,I:Z,j:Y,L:W,m:J,M:K,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:$,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},It={a:function(t){return p[t.getUTCDay()]},A:function(t){return h[t.getUTCDay()]},b:function(t){return v[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ht,H:lt,I:ut,j:ct,L:ft,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:vt,u:gt,U:yt,V:mt,w:xt,W:bt,x:null,X:null,y:_t,Y:wt,Z:Tt,"%":kt},Dt={a:function(t,e,r){var n=_.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Ct.exec(e.slice(r));return n?(t.m=Pt[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:D,e:D,f:j,H:R,I:R,j:z,L:N,m:I,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=m[n[0].toLowerCase()],r+n[0].length):-1},q:O,Q:V,s:H,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:C,Y:L,Z:P,"%":U};function zt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in h||(h.w=1),"Z"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.l6.ceil(s):(0,n.l6)(s),s=i.Z.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.wA.ceil(s):(0,a.wA)(s),s=o.Z.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else("W"in h||"U"in h)&&("w"in h||(h.w="u"in h?h.u%7:"W"in h?1:0),l="Z"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d="W"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return"Z"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Dt[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ot.x=zt(r,Ot),Ot.X=zt(s,Ot),Ot.c=zt(e,Ot),It.x=zt(r,It),It.X=zt(s,It),It.c=zt(e,It),{format:function(t){var e=zt(t+="",Ot);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=zt(t+="",It);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,v,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,m=/^%/,x=/[\\^$*+?|[\]().{}]/g;function b(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function P(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function O(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function I(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=m.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function H(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function q(t,e){return b(t.getDate(),e,2)}function G(t,e){return b(t.getHours(),e,2)}function Z(t,e){return b(t.getHours()%12||12,e,2)}function Y(t,e){return b(1+o.Z.count((0,s.Z)(t),t),e,3)}function W(t,e){return b(t.getMilliseconds(),e,3)}function X(t,e){return W(t,e)+"000"}function J(t,e){return b(t.getMonth()+1,e,2)}function K(t,e){return b(t.getMinutes(),e,2)}function $(t,e){return b(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return b(a.OM.count((0,s.Z)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.bL)(t):a.bL.ceil(t),b(a.bL.count((0,s.Z)(t),t)+(4===(0,s.Z)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return b(a.wA.count((0,s.Z)(t)-1,t),e,2)}function it(t,e){return b(t.getFullYear()%100,e,2)}function at(t,e){return b(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+b(e/60|0,"0",2)+b(e%60,"0",2)}function st(t,e){return b(t.getUTCDate(),e,2)}function lt(t,e){return b(t.getUTCHours(),e,2)}function ut(t,e){return b(t.getUTCHours()%12||12,e,2)}function ct(t,e){return b(1+i.Z.count((0,l.Z)(t),t),e,3)}function ft(t,e){return b(t.getUTCMilliseconds(),e,3)}function ht(t,e){return ft(t,e)+"000"}function pt(t,e){return b(t.getUTCMonth()+1,e,2)}function dt(t,e){return b(t.getUTCMinutes(),e,2)}function vt(t,e){return b(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return b(n.Ox.count((0,l.Z)(t)-1,t),e,2)}function mt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.hB)(t):n.hB.ceil(t),b(n.hB.count((0,l.Z)(t),t)+(4===(0,l.Z)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function bt(t,e){return b(n.l6.count((0,l.Z)(t)-1,t),e,2)}function _t(t,e){return b(t.getUTCFullYear()%100,e,2)}function wt(t,e){return b(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=h({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"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},82301:function(t,e,r){"use strict";r.d(e,{a:function(){return o}});var n=r(30052),i=r(54263),a=(0,n.Z)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.yB)/i.UD}),(function(t){return t.getDate()-1}));e.Z=a;var o=a.range},54263:function(t,e,r){"use strict";r.d(e,{UD:function(){return o},Y2:function(){return a},Ym:function(){return n},iM:function(){return s},yB:function(){return i}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},81041:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.Z},timeDays:function(){return y.a},timeFriday:function(){return m.mC},timeFridays:function(){return m.b$},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.Z},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return m.wA},timeMondays:function(){return m.bJ},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return m.EY},timeSaturdays:function(){return m.Ff},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return m.OM},timeSundays:function(){return m.vm},timeThursday:function(){return m.bL},timeThursdays:function(){return m.$t},timeTuesday:function(){return m.sy},timeTuesdays:function(){return m.aU},timeWednesday:function(){return m.zg},timeWednesdays:function(){return m.Ld},timeWeek:function(){return m.OM},timeWeeks:function(){return m.vm},timeYear:function(){return w.Z},timeYears:function(){return w.g},utcDay:function(){return L.Z},utcDays:function(){return L.y},utcFriday:function(){return C.QQ},utcFridays:function(){return C.fz},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return C.l6},utcMondays:function(){return C.$3},utcMonth:function(){return O},utcMonths:function(){return I},utcSaturday:function(){return C.g4},utcSaturdays:function(){return C.Q_},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return C.Ox},utcSundays:function(){return C.SU},utcThursday:function(){return C.hB},utcThursdays:function(){return C.xj},utcTuesday:function(){return C.J1},utcTuesdays:function(){return C.DK},utcWednesday:function(){return C.b3},utcWednesdays:function(){return C.uy},utcWeek:function(){return C.Ox},utcWeeks:function(){return C.SU},utcYear:function(){return D.Z},utcYears:function(){return D.D}});var n=r(30052),i=(0,n.Z)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.Z)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(54263),l=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.Ym)}),(function(t,e){return(e-t)/s.Ym}),(function(t){return t.getUTCSeconds()})),u=l,c=l.range,f=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Ym)}),(function(t,e){t.setTime(+t+e*s.yB)}),(function(t,e){return(e-t)/s.yB}),(function(t){return t.getMinutes()})),h=f,p=f.range,d=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Ym-t.getMinutes()*s.yB)}),(function(t,e){t.setTime(+t+e*s.Y2)}),(function(t,e){return(e-t)/s.Y2}),(function(t){return t.getHours()})),v=d,g=d.range,y=r(82301),m=r(59879),x=(0,n.Z)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),b=x,_=x.range,w=r(34823),T=(0,n.Z)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.yB)}),(function(t,e){return(e-t)/s.yB}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.Z)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.Y2)}),(function(t,e){return(e-t)/s.Y2}),(function(t){return t.getUTCHours()})),S=M,E=M.range,L=r(48480),C=r(58176),P=(0,n.Z)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),O=P,I=P.range,D=r(79791)},30052:function(t,e,r){"use strict";r.d(e,{Z:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},48480:function(t,e,r){"use strict";r.d(e,{y:function(){return o}});var n=r(30052),i=r(54263),a=(0,n.Z)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.UD}),(function(t){return t.getUTCDate()-1}));e.Z=a;var o=a.range},58176:function(t,e,r){"use strict";r.d(e,{$3:function(){return d},DK:function(){return v},J1:function(){return l},Ox:function(){return o},QQ:function(){return f},Q_:function(){return x},SU:function(){return p},b3:function(){return u},fz:function(){return m},g4:function(){return h},hB:function(){return c},l6:function(){return s},uy:function(){return g},xj:function(){return y}});var n=r(30052),i=r(54263);function a(t){return(0,n.Z)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.iM}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},79791:function(t,e,r){"use strict";r.d(e,{D:function(){return a}});var n=r(30052),i=(0,n.Z)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.Z)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.Z=i;var a=i.range},59879:function(t,e,r){"use strict";r.d(e,{$t:function(){return y},EY:function(){return h},Ff:function(){return x},Ld:function(){return g},OM:function(){return o},aU:function(){return v},b$:function(){return m},bJ:function(){return d},bL:function(){return c},mC:function(){return f},sy:function(){return l},vm:function(){return p},wA:function(){return s},zg:function(){return u}});var n=r(30052),i=r(54263);function a(t){return(0,n.Z)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.yB)/i.iM}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},34823:function(t,e,r){"use strict";r.d(e,{g:function(){return a}});var n=r(30052),i=(0,n.Z)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.Z)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.Z=i;var a=i.range},17045:function(t,e,r){"use strict";var n=r(8709),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(55622)(),u=s&&l,c=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==a.call(i)||!n())return;var i;u?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},f=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*a){o=l=t[0],s=f=t[1];for(var b=a;bl&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(m,x,a,o,s,v),x}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,u,c,f,p){if(t){!p&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=h(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,u,c,f);for(var d,v,g=t;t.prev!==t.next;)if(d=t.prev,v=t.next,f?o(t,u,c,f):a(t))e.push(d.i/r),e.push(t.i/r),e.push(v.i/r),k(t),t=v.next,g=v.next;else if((t=v)===g){p?1===p?i(t=s(n(t),e,r),e,r,u,c,f,2):2===p&&l(t,e,r,u,c,f):i(n(t),e,r,u,c,f,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(d(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=h(s,l,e,r,n),p=h(u,c,e,r,n),v=t.prevZ,y=t.nextZ;v&&v.z>=f&&y&&y.z<=p;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=p;){if(y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&m(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(e.push(a.i/r),e.push(i.i/r),e.push(o.i/r),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,e,r,a,o,s),void i(c,e,r,a,o,s)}u=u.next}l=l.next}while(l!==t)}function u(t,e){return t.x-e.x}function c(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&d(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(t,e),e){var r=w(e,t);n(e,e.next),n(r,r.next)}}function f(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function h(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&m(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(_(t,e)&&_(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function m(t,e,r,n){var i=b(g(t,e,r)),a=b(g(t,e,n)),o=b(g(r,n,t)),s=b(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function b(t){return t>0?1:t<0?-1:0}function _(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},2502:function(t,e,r){var n=r(68664);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function u(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&u(e)}))}function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&m<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,v):w,e?(p.value=w,d(g,v,p)):g[v]=w,++v;y=v}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},56247:function(t,e,r){"use strict";var n=r(9953),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},35976:function(t,e,r){"use strict";var n=r(56247),i=Math.max;t.exports=function(t){return i(0,n(t))}},67260:function(t,e,r){"use strict";var n=r(78513),i=r(36672),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=c[t]),o.call(t,c,(function(t,n){return l.call(r,t)?o.call(u,f,r[t],t,r,n):e}))}}},95879:function(t,e,r){"use strict";t.exports=r(73583)()?Object.assign:r(34205)},73583:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},34205:function(t,e,r){"use strict";var n=r(68700),i=r(36672),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},87963:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},43043:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},32411:function(t,e,r){"use strict";var n,i=r(1496),a=r(66741),o=r(62072),s=r(8260),l=r(95426),u=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",u(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),u(n.prototype,s.toStringTag,o("c","Array Iterator"))},27515:function(t,e,r){"use strict";var n=r(73051),i=r(78513),a=r(87963),o=r(66661),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;t.exports=function(t,e){var r,c,f,h,p,d,v,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(c=t.next();!c.done;){if(l.call(e,y,c.value,f),h)return;c=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(v+=t[++p]),l.call(e,y,v,f),!h);++p);else u.call(t,(function(t){return l.call(e,y,t,f),h}))}},66661:function(t,e,r){"use strict";var n=r(73051),i=r(87963),a=r(32411),o=r(259),s=r(58095),l=r(8260).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},95426:function(t,e,r){"use strict";var n,i=r(16134),a=r(95879),o=r(78513),s=r(36672),l=r(62072),u=r(55174),c=r(8260),f=Object.defineProperty,h=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},35940:function(t,e,r){"use strict";var n=r(73051),i=r(95296),a=r(87963),o=r(8260).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},259:function(t,e,r){"use strict";var n,i=r(1496),a=r(62072),o=r(8260),s=r(95426),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},58095:function(t,e,r){"use strict";var n=r(35940);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},73523:function(t){"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var r=Object(t),n=1;n0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return t}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var u=l.length,c=d(l,u);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},60774:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},94908:function(t,e,r){"use strict";t.exports=r(51152)()?globalThis:r(60774)},51152:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},92770:function(t,e,r){"use strict";var n=r(18546);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},30120:function(t,e,r){var n=r(90660);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,u=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(u+r));var c=e.length-r;if(u!==c)throw new Error("source length "+u+" ("+l+"x"+t.length+") does not match destination length "+c);for(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},32879:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",u=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],u);var c=a.canvas||e.canvas,f=c.getContext("2d"),h={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=t;var d="H",v={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText(d,0,p);var y=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-y+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText(d,0,p);var m=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=m,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-m}for(var T in v)v[T]/=s;return v.em=s,e.cache[o]=v,r(v,u)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},31353:function(t,e,r){"use strict";var n=r(85395),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty,o=function(t,e,r){for(var n=0,i=t.length;n=3&&(a=r),"[object Array]"===i.call(t)?o(t,e,a):"string"==typeof t?s(t,e,a):l(t,e,a)}},73047:function(t){"use strict";var e="Function.prototype.bind called on incompatible ",r=Array.prototype.slice,n=Object.prototype.toString,i="[object Function]";t.exports=function(t){var a=this;if("function"!=typeof a||n.call(a)!==i)throw new TypeError(e+a);for(var o,s=r.call(arguments,1),l=function(){if(this instanceof o){var e=a.apply(this,s.concat(r.call(arguments)));return Object(e)===e?e:this}return a.apply(t,s.concat(r.call(arguments)))},u=Math.max(0,a.length-s.length),c=[],f=0;f1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');if(null===A(/^%?[^%]*%?$/,t))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=E(t),n=r.length>0?r[0]:"",a=L("%"+n+"%",e),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],w(r,_([0,1],f)));for(var h=1,p=!0;h=r.length){var m=l(u,d);u=(p=!!m)&&"get"in m&&!("originalValue"in m.get)?m.get:u[d]}else p=b(u,d),u=u[d];p&&!c&&(v[s]=u)}}return u}},85400:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15];return t[0]=s*(h*y-p*g)-f*(l*y-u*g)+v*(l*p-u*h),t[1]=-(n*(h*y-p*g)-f*(i*y-a*g)+v*(i*p-a*h)),t[2]=n*(l*y-u*g)-s*(i*y-a*g)+v*(i*u-a*l),t[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),t[4]=-(o*(h*y-p*g)-c*(l*y-u*g)+d*(l*p-u*h)),t[5]=r*(h*y-p*g)-c*(i*y-a*g)+d*(i*p-a*h),t[6]=-(r*(l*y-u*g)-o*(i*y-a*g)+d*(i*u-a*l)),t[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),t[8]=o*(f*y-p*v)-c*(s*y-u*v)+d*(s*p-u*f),t[9]=-(r*(f*y-p*v)-c*(n*y-a*v)+d*(n*p-a*f)),t[10]=r*(s*y-u*v)-o*(n*y-a*v)+d*(n*u-a*s),t[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),t[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),t[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),t[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),t}},42331:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},31042:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},11902:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},89887:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},27812:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},34045:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},45973:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},81472:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},14669:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},75262:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},331:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},11049:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},75195:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t}},71551:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},79576:function(t,e,r){t.exports={create:r(11902),clone:r(42331),copy:r(31042),identity:r(71551),transpose:r(88654),invert:r(95874),adjoint:r(85400),determinant:r(89887),multiply:r(91362),translate:r(31283),scale:r(10789),rotate:r(65074),rotateX:r(35545),rotateY:r(94918),rotateZ:r(15692),fromRotation:r(34045),fromRotationTranslation:r(45973),fromScaling:r(81472),fromTranslation:r(14669),fromXRotation:r(75262),fromYRotation:r(331),fromZRotation:r(11049),fromQuat:r(27812),frustum:r(75195),perspective:r(7864),perspectiveFromFieldOfView:r(35279),ortho:r(60378),lookAt:r(65551),str:r(6726)}},95874:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},65551:function(t,e,r){var n=r(71551);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},91362:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},60378:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}},7864:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},35279:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},65074:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],P=Math.sqrt(E*E+L*L+C*C);return Math.abs(P)<1e-6?null:(E*=P=1/P,L*=P,C*=P,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},35545:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},94918:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},15692:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},10789:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},6726:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},31283:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},88654:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},42505:function(t,e,r){"use strict";var n=r(72791),i=r(71299),a=r(98580),o=r(12018),s=r(83522),l=r(25075),u=r(68016),c=r(58404),f=r(18863),h=r(10973),p=r(25677),d=r(75686),v=r(53545),g=r(56131),y=r(32879),m=r(30120),x=r(13547).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=m(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[i],e.font[r]))){var u=t.family.join(", "),c=[t.style];t.style!=t.variant&&c.push(t.variant),t.variant!=t.weight&&c.push(t.weight),_&&t.weight!=t.stretch&&c.push(t.stretch),e.font[r]={baseString:i,family:u,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(u,{origin:"top",fontSize:T.baseFontSize,fontStyle:c.join(" ")})},T.fonts[i]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var q;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;q=c.mallocUint8(G);for(var Z=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},12018:function(t,e,r){"use strict";var n=r(71299);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},56068:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},42018:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},47216:function(t,e,r){"use strict";var n=r(84543)(),i=r(6614)("Object.prototype.toString"),a=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},o=function(t){return!!a(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},54404:function(t){t.exports=!0},85395:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\s*class\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(t){if((c||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(u)return s(t);if(o(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},65481:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(84543)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},62683:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},64274:function(t){"use strict";t.exports=function(t){return t!=t}},15567:function(t,e,r){"use strict";var n=r(68222),i=r(17045),a=r(64274),o=r(14922),s=r(22442),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},14922:function(t,e,r){"use strict";var n=r(64274);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},22442:function(t,e,r){"use strict";var n=r(17045),i=r(14922);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},64941:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},10973:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},18546:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},89546:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},9187:function(t,e,r){"use strict";var n=r(31353),i=r(72077),a=r(6614),o=a("Object.prototype.toString"),s=r(84543)(),l=r(40383),u="undefined"==typeof globalThis?r.g:globalThis,c=i(),f=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},44517:function(t){t.exports=function(){"use strict";var t,e,r;function n(n,i){if(t)if(e){var a="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:"text/javascript"}))}else e=i;else t=i}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r="1.10.1",n=i;function i(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}i.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},i.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},i.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},i.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)(n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}function s(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var l=s(.25,.1,.25,1);function u(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function f(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function v(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function g(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function y(t,e){return-1!==t.indexOf(e,t.length-e.length)}function m(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function x(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?m(t,b):t}var _={};function w(t){_[t]||("undefined"!=typeof console&&console.warn(t),_[t]=!0)}function T(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var S=null;function E(t){if(null==S){var e=t.navigator?t.navigator.userAgent:null;S=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return S}function L(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var C,P,O,I,D=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),z=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,R=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,F={now:D,frame:function(t){var e=z(t);return{cancel:function(){return R(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return C||(C=self.document.createElement("a")),C.href=t,C.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==P&&(P=self.matchMedia("(prefers-reduced-motion: reduce)")),P.matches)}},B={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},N={supported:!1,testSupport:function(t){!j&&I&&(U?V(t):O=t)}},j=!1,U=!1;function V(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,I),t.isContextLost())return;N.supported=!0}catch(t){}t.deleteTexture(e),j=!0}self.document&&((I=self.document.createElement("img")).onload=function(){O&&V(O),O=null,U=!0},I.onerror=function(){j=!0,O=null},I.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var H="01";var q=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function G(t){return 0===t.indexOf("mapbox:")}q.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",H,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},q.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},q.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},q.prototype.normalizeStyleURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeGlyphsURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSourceURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSpriteURL=function(t,e,r,n){var i=X(t);return G(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,J(i))},q.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!G(t))return t;var r=X(t),n=F.devicePixelRatio>=2||512===e?"@2x":"",i=N.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){w("Unable to write to LocalStorage")}},Q.prototype.processRequests=function(t){},Q.prototype.postEvent=function(t,e,n,i){var a=this;if(B.EVENTS_URL){var o=X(B.EVENTS_URL);o.params.push("access_token="+(i||B.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:H,userId:this.anonId},l=e?f(s,e):s,u={url:J(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=kt(u,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},Q.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var tt,et,rt=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(B.EVENTS_URL&&n||B.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return G(t)||Y(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),v(this.anonId)||(this.anonId=d()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(Q),nt=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){B.EVENTS_URL&&B.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return G(t)||Y(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=$(B.ACCESS_TOKEN),n=r?r.u:B.ACCESS_TOKEN,i=n!==this.eventData.tokenU;v(this.anonId)||(this.anonId=d(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(Q),it=new nt,at=it.postTurnstileEvent.bind(it),ot=new rt,st=ot.postMapLoadEvent.bind(ot),lt="mapbox-tiles",ut=500,ct=50;function ft(){self.caches&&!tt&&(tt=self.caches.open(lt))}function ht(t,e,r){if(ft(),tt){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=M(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(t,e){if(void 0===et)try{new Response(new ReadableStream),et=!0}catch(t){et=!1}et?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);ft(),tt&&tt.then((function(e){return e.put(pt(t.url),r)})).catch((function(t){return w(t.message)}))})))}}function pt(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}function dt(t,e){if(ft(),!tt)return e(null);var r=pt(t.url);tt.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return!1;var e=new Date(t.headers.get("Expires")||0),r=M(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var vt,gt=1/0;function yt(){return null==vt&&(vt=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof self.createImageBitmap),vt}var mt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(mt);var xt=function(t){function e(e,r,n){401===r&&Y(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),bt=A()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href};function _t(t,e){var r,n=new self.AbortController,i=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:bt(),signal:n.signal}),a=!1,o=!1,s=(r=i.url).indexOf("sku=")>0&&Y(r);"json"===t.type&&i.headers.set("Accept","application/json");var l=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&w(r),n&&a)return u(n);var l=Date.now();self.fetch(i).then((function(r){if(r.ok){var n=s?r.clone():null;return u(r,n,l)}return e(new xt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},u=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&ht(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return s?dt(i,l):l(null,null),{cancel:function(){o=!0,a||n.abort()}}}var wt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(bt())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return _t(t,e);if(A()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new xt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Tt=function(t,e){return wt(f(t,{type:"arrayBuffer"}),e)},kt=function(t,e){return wt(f(t,{method:"POST"}),e)};var At,Mt;At=[],Mt=0;var St=function(t,e){if(N.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Mt>=B.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return At.push(r),r}Mt++;var n=!1,i=function(){if(!n)for(n=!0,Mt--;At.length&&Mt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Ot.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var It={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Dt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function zt(t){var e=t.key,r=t.value;return r?[new Dt(e,r,"constants have been deprecated as of v8")]:[]}function Rt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Qt=[Ut,Vt,Ht,qt,Gt,Xt,Zt,Kt(Yt),Jt];function te(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!te(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=Qt;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),u=i.indexOf(")");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(","),h=1;switch(c){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,y=2*v-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),h];default:return null}}return null}}catch(t){}})),ie=ne.parseCSSColor,ae=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ae.parse=function(t){if(t){if(t instanceof ae)return t;if("string"==typeof t){var e=ie(t);if(e)return new ae(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ae.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ae.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ae.black=new ae(0,0,0,1),ae.white=new ae(1,1,1,1),ae.transparent=new ae(0,0,0,0),ae.red=new ae(1,0,0,1);var oe=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};oe.prototype.compare=function(t,e){return this.collator.compare(t,e)},oe.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var se=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},le=function(t){this.sections=t};le.fromString=function(t){return new le([new se(t,null,null,null,null)])},le.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},le.factory=function(t){return t instanceof le?t:le.fromString(t)},le.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},le.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function fe(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ae)return!0;if(t instanceof oe)return!0;if(t instanceof le)return!0;if(t instanceof ue)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in ge)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=ge[s],n++}else a=Yt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=Kt(a,o)}else r=ge[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var me=function(t){this.type=Xt,this.sections=t};me.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Vt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,Kt(Ht))))return null;var u=null;if(o["text-color"]&&!(u=e.parse(o["text-color"],1,Gt)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=e.parse(t[a],1,Yt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new me(n)},me.prototype.evaluate=function(t){return new le(this.sections.map((function(e){var r=e.content.evaluate(t);return he(r)===Jt?new se("",r,null,null,null):new se(pe(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},me.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},xe.prototype.eachChild=function(t){t(this.input)},xe.prototype.outputDefined=function(){return!1},xe.prototype.serialize=function(){return["image",this.input.serialize()]};var be={"to-boolean":qt,"to-color":Gt,"to-number":Vt,"to-string":Ht},_e=function(t,e){this.type=t,this.args=e};_e.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=be[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":ce(e[0],e[1],e[2],e[3])))return new ae(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ve(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Le(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Me),Math.round(i*a*Me)]}function Ce(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function Pe(t,e){for(var r=!1,n=0,i=e.length;n0&&f<0||c<0&&f>0}function De(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Se(e,t)}function je(t,e,r,n){for(var i=Math.pow(2,n.z)*Me,a=[n.x*Me,n.y*Me],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ge(t,e)&&(r=!1)})),r}Ve.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(fe(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new ve("Input is not a number.");o=s-1}return 0}Ye.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Ye.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ye(e,[t]):"coerce"===r?new _e(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof de)&&"resolvedImage"!==a.type.kind&&We(a)){var l=new Te;try{a=new de(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},Ye.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Ye(this.registry,n,e||null,i,this.errors)},Ye.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new Nt(n,t))},Ye.prototype.checkSubtype=function(t,e){var r=te(t,e);return r&&this.error(r),r};var Je=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new Je(i,r,n)},Je.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Xe(e,n)].evaluate(t)},Je.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var $e=Object.freeze({__proto__:null,number:Ke,color:function(t,e,r){return new ae(Ke(t.r,e.r,r),Ke(t.g,e.g,r),Ke(t.b,e.b,r),Ke(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ke(t,e[n],r)}))}}),Qe=.95047,tr=1.08883,er=4/29,rr=6/29,nr=3*rr*rr,ir=Math.PI/180,ar=180/Math.PI;function or(t){return t>.008856451679035631?Math.pow(t,1/3):t/nr+er}function sr(t){return t>rr?t*t*t:nr*(t-er)}function lr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ur(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function cr(t){var e=ur(t.r),r=ur(t.g),n=ur(t.b),i=or((.4124564*e+.3575761*r+.1804375*n)/Qe),a=or((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-or((.0193339*e+.119192*r+.9503041*n)/tr)),alpha:t.a}}function fr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*sr(e),r=Qe*sr(r),n=tr*sr(n),new ae(lr(3.2404542*r-1.5371385*e-.4985314*n),lr(-.969266*r+1.8760108*e+.041556*n),lr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function hr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var pr={forward:cr,reverse:fr,interpolate:function(t,e,r){return{l:Ke(t.l,e.l,r),a:Ke(t.a,e.a,r),b:Ke(t.b,e.b,r),alpha:Ke(t.alpha,e.alpha,r)}}},dr={forward:function(t){var e=cr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*ar;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*ir,r=t.c;return fr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:hr(t.h,e.h,r),c:Ke(t.c,e.c,r),l:Ke(t.l,e.l,r),alpha:Ke(t.alpha,e.alpha,r)}}},vr=Object.freeze({__proto__:null,lab:pr,hcl:dr}),gr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Vt)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=Gt:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var v=e.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new gr(u,r,n,i,l):e.error("Type "+$t(u)+" is not interpolatable.")},gr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Xe(e,n),o=e[a],s=e[a+1],l=gr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(t),c=r[a+1].evaluate(t);return"interpolate"===this.operator?$e[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?dr.reverse(dr.interpolate(dr.forward(u),dr.forward(c),l)):pr.reverse(pr.interpolate(pr.forward(u),pr.forward(c),l))},gr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new ve("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new ve("Array index must be an integer, but found "+e+" instead.");return r[e]},br.prototype.eachChild=function(t){t(this.index),t(this.input)},br.prototype.outputDefined=function(){return!1},br.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var _r=function(t,e){this.type=qt,this.needle=t,this.haystack=e};_r.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Yt),n=e.parse(t[2],2,Yt);return r&&n?ee(r.type,[qt,Ht,Vt,Ut,Yt])?new _r(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+$t(r.type)+" instead"):null},_r.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!re(e,["boolean","string","number","null"]))throw new ve("Expected first argument to be of type boolean, string, number or null, but found "+$t(he(e))+" instead.");if(!re(r,["string","array"]))throw new ve("Expected second argument to be of type array or string, but found "+$t(he(r))+" instead.");return r.indexOf(e)>=0},_r.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},_r.prototype.outputDefined=function(){return!0},_r.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var wr=function(t,e,r){this.type=Vt,this.needle=t,this.haystack=e,this.fromIndex=r};wr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Yt),n=e.parse(t[2],2,Yt);if(!r||!n)return null;if(!ee(r.type,[qt,Ht,Vt,Ut,Yt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+$t(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Vt);return i?new wr(r,n,i):null}return new wr(r,n)},wr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!re(e,["boolean","string","number","null"]))throw new ve("Expected first argument to be of type boolean, string, number or null, but found "+$t(he(e))+" instead.");if(!re(r,["string","array"]))throw new ve("Expected second argument to be of type array or string, but found "+$t(he(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},wr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},wr.prototype.outputDefined=function(){return!1},wr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Tr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Tr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,he(h)))return null}else r=he(h);if(void 0!==i[String(h)])return u.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Yt);if(!d)return null;var v=e.parse(t[t.length-1],t.length-1,n);return v?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Tr(r,n,d,i,a,v):null},Tr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(he(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Tr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Tr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Tr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Yt),n=e.parse(t[2],2,Vt);if(!r||!n)return null;if(!ee(r.type,[Kt(Yt),Ht,Yt]))return e.error("Expected first argument to be of type array or string, but found "+$t(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Vt);return i?new Ar(r.type,r,n,i):null}return new Ar(r.type,r,n)},Ar.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!re(e,["string","array"]))throw new ve("Expected first argument to be of type array or string, but found "+$t(he(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Ar.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Ar.prototype.outputDefined=function(){return!1},Ar.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var Lr=Er("==",(function(t,e,r){return e===r}),Sr),Cr=Er("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Sr(0,e,r,n)})),Pr=Er("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Ir=Er("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Dr=Er(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),zr=function(t,e,r,n,i){this.type=Ht,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};zr.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Vt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Ht)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Ht)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Vt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Vt))?null:new zr(r,i,a,o,s)},zr.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},zr.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},zr.prototype.outputDefined=function(){return!1},zr.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Rr=function(t){this.type=Vt,this.input=t};Rr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+$t(r.type)+" instead."):new Rr(r):null},Rr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ve("Expected value to be of type string or array, but found "+$t(he(e))+" instead.")},Rr.prototype.eachChild=function(t){t(this.input)},Rr.prototype.outputDefined=function(){return!1},Rr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Fr={"==":Lr,"!=":Cr,">":Or,"<":Pr,">=":Dr,"<=":Ir,array:ye,at:br,boolean:ye,case:kr,coalesce:mr,collator:Ae,format:me,image:xe,in:_r,"index-of":wr,interpolate:gr,"interpolate-hcl":gr,"interpolate-lab":gr,length:Rr,let:xr,literal:de,match:Tr,number:ye,"number-format":zr,object:ye,slice:Ar,step:Je,string:ye,"to-boolean":_e,"to-color":_e,"to-number":_e,"to-string":_e,var:Ze,within:Ve};function Br(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=ce(r,n,i,o);if(s)throw new ve(s);return new ae(r/255*o,n/255*o,i/255*o,o)}function Nr(t,e){return t in e}function jr(t,e){var r=e[t];return void 0===r?null:r}function Ur(t){return{type:t}}function Vr(t){return{result:"success",value:t}}function Hr(t){return{result:"error",value:t}}function qr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Gr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Zr(t){return!!t.expression&&t.expression.interpolated}function Yr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Wr(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Xr(t){return t}function Jr(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,u=t.type||(Zr(e)?"exponential":"interval");if(a&&((t=Rt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ae.parse(t[1])]}))),t.default?t.default=ae.parse(t.default):t.default=ae.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!vr[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=tn;else if("interval"===u)r=Qr;else if("categorical"===u){r=$r,n=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var i=Xe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function tn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Yr(r))return Kr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Xe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],u=$e[e.type]||Xr;if(t.colorSpace&&"rgb"!==t.colorSpace){var c=vr[t.colorSpace];u=function(t,e){return c.reverse(c.interpolate(c.forward(t),c.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function en(t,e,r){return"color"===e.type?r=ae.parse(r):"formatted"===e.type?r=le.fromString(r.toString()):"resolvedImage"===e.type?r=ue.fromString(r.toString()):Yr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),Kr(r,t.default,e.default)}ke.register(Fr,{error:[{kind:"error"},[Ht],function(t,e){var r=e[0];throw new ve(r.evaluate(t))}],typeof:[Ht,[Yt],function(t,e){return $t(he(e[0].evaluate(t)))}],"to-rgba":[Kt(Vt,4),[Gt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Gt,[Vt,Vt,Vt],Br],rgba:[Gt,[Vt,Vt,Vt,Vt],Br],has:{type:qt,overloads:[[[Ht],function(t,e){return Nr(e[0].evaluate(t),t.properties())}],[[Ht,Zt],function(t,e){var r=e[0],n=e[1];return Nr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Yt,overloads:[[[Ht],function(t,e){return jr(e[0].evaluate(t),t.properties())}],[[Ht,Zt],function(t,e){var r=e[0],n=e[1];return jr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Yt,[Ht],function(t,e){return jr(e[0].evaluate(t),t.featureState||{})}],properties:[Zt,[],function(t){return t.properties()}],"geometry-type":[Ht,[],function(t){return t.geometryType()}],id:[Yt,[],function(t){return t.id()}],zoom:[Vt,[],function(t){return t.globals.zoom}],"heatmap-density":[Vt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Vt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Yt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Vt,Ur(Vt),function(t,e){for(var r=0,n=0,i=e;n":[qt,[Ht,Yt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[qt,[Yt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[qt,[Ht,Yt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[qt,[Yt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[qt,[Ht,Yt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[qt,[Yt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[qt,[Yt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[qt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[qt,[Kt(Ht)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[qt,[Kt(Yt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[qt,[Ht,Kt(Yt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[qt,[Ht,Kt(Yt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:qt,overloads:[[[qt,qt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Ur(qt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in Fr}function an(t,e){var r=new Ye(Fr,[],e?function(t){var e={color:Gt,string:Ht,number:Vt,enum:Ht,boolean:qt,formatted:Xt,resolvedImage:Jt};return"array"===t.type?Kt(e[t.value]||Yt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Vr(new rn(n,e)):Hr(r.errors)}rn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},rn.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new ve("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var on=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!qe(e.expression)};on.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},on.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var sn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!qe(e.expression),this.interpolationType=n};function ln(t,e){if("error"===(t=an(t,e)).result)return t;var r=t.value.expression,n=He(r);if(!n&&!qr(e))return Hr([new Nt("","data expressions not supported")]);var i=Ge(r,["zoom"]);if(!i&&!Gr(e))return Hr([new Nt("","zoom expressions not supported")]);var a=cn(r);if(!a&&!i)return Hr([new Nt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof Nt)return Hr([a]);if(a instanceof gr&&!Zr(e))return Hr([new Nt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Vr(new on(n?"constant":"source",t.value));var o=a instanceof gr?a.interpolation:void 0;return Vr(new sn(n?"camera":"composite",t.value,a.labels,o))}sn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},sn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},sn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?gr.interpolationFactor(this.interpolationType,t,e,r):0};var un=function(t,e){this._parameters=t,this._specification=e,Rt(this,Jr(this._parameters,this._specification))};function cn(t){var e=null;if(t instanceof xr)e=cn(t.result);else if(t instanceof mr)for(var r=0,n=t.args;rn.maximum?[new Dt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function dn(t){var e,r,n,i=t.valueSpec,a=Ft(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,u="array"===Yr(t.value.stops)&&"array"===Yr(t.value.stops[0])&&"object"===Yr(t.value.stops[0][0]),c=fn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Dt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(hn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===Yr(r)&&0===r.length&&e.push(new Dt(t.key,r,"array must have at least one stop")),e},default:function(t){return Bn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&c.push(new Dt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||c.push(new Dt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!Zr(t.valueSpec)&&c.push(new Dt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!qr(t.valueSpec)?c.push(new Dt(t.key,t.value,"property functions not supported")):s&&!Gr(t.valueSpec)&&c.push(new Dt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!u||void 0!==t.value.property||c.push(new Dt(t.key,t.value,'"property" property is required')),c;function f(t){var e=[],a=t.value,s=t.key;if("array"!==Yr(a))return[new Dt(s,a,"array expected, "+Yr(a)+" found")];if(2!==a.length)return[new Dt(s,a,"array length 2 expected, length "+a.length+" found")];if(u){if("object"!==Yr(a[0]))return[new Dt(s,a,"object expected, "+Yr(a[0])+" found")];if(void 0===a[0].zoom)return[new Dt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Dt(s,a,"object stop key must have value")];if(n&&n>Ft(a[0].zoom))return[new Dt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ft(a[0].zoom)!==n&&(n=Ft(a[0].zoom),r=void 0,o={}),e=e.concat(fn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:pn,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return nn(Bt(a[1]))?e.concat([new Dt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Bn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Yr(t.value),l=Ft(t.value),u=null!==t.value?t.value:n;if(e){if(s!==e)return[new Dt(t.key,u,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Dt(t.key,u,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var c="number expected, "+s+" found";return qr(i)&&void 0===a&&(c+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Dt(t.key,u,c)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function _n(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Tn(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(wn))):"all"===r?["all"].concat(t.slice(1).map(wn)):"none"===r?["all"].concat(t.slice(1).map(wn).map(Mn)):"in"===r?kn(t[1],t.slice(2)):"!in"===r?Mn(kn(t[1],t.slice(2))):"has"===r?An(t[1]):"!has"===r?Mn(An(t[1])):"within"!==r||t}function Tn(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function kn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(bn)]]:["filter-in-small",t,["literal",e]]}}function An(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Mn(t){return["!",t]}function Sn(t){return yn(Bt(t.value))?vn(Rt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):En(t)}function En(t){var e=t.value,r=t.key;if("array"!==Yr(e))return[new Dt(r,e,"array expected, "+Yr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Dt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(gn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ft(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ft(e[1])&&a.push(new Dt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Dt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Yr(e[1]))&&a.push(new Dt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},Xn.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},Xn.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Xn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Xn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[c];u[c]=$n[l].shallow.indexOf(c)>=0?f:ni(f,e)}t instanceof Error&&(u.message=t.message)}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(u.$name=l),u}throw new Error("can't serialize object of type "+typeof t)}function ii(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||ei(t)||ri(t)||ArrayBuffer.isView(t)||t instanceof Jn)return t;if(Array.isArray(t))return t.map(ii);if("object"==typeof t){var e=t.$name||"Object",r=$n[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:ii(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var ai=function(){this.first=!0};ai.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function si(t){for(var e=0,r=t;e=65097&&t<=65103)||oi["CJK Compatibility Ideographs"](t)||oi["CJK Compatibility"](t)||oi["CJK Radicals Supplement"](t)||oi["CJK Strokes"](t)||!(!oi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||oi["CJK Unified Ideographs Extension A"](t)||oi["CJK Unified Ideographs"](t)||oi["Enclosed CJK Letters and Months"](t)||oi["Hangul Compatibility Jamo"](t)||oi["Hangul Jamo Extended-A"](t)||oi["Hangul Jamo Extended-B"](t)||oi["Hangul Jamo"](t)||oi["Hangul Syllables"](t)||oi.Hiragana(t)||oi["Ideographic Description Characters"](t)||oi.Kanbun(t)||oi["Kangxi Radicals"](t)||oi["Katakana Phonetic Extensions"](t)||oi.Katakana(t)&&12540!==t||!(!oi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!oi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||oi["Unified Canadian Aboriginal Syllabics"](t)||oi["Unified Canadian Aboriginal Syllabics Extended"](t)||oi["Vertical Forms"](t)||oi["Yijing Hexagram Symbols"](t)||oi["Yi Syllables"](t)||oi["Yi Radicals"](t))))}function ui(t){return!(li(t)||function(t){return!!(oi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||oi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||oi["Letterlike Symbols"](t)||oi["Number Forms"](t)||oi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||oi["Control Pictures"](t)&&9251!==t||oi["Optical Character Recognition"](t)||oi["Enclosed Alphanumerics"](t)||oi["Geometric Shapes"](t)||oi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||oi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||oi["CJK Symbols and Punctuation"](t)||oi.Katakana(t)||oi["Private Use Area"](t)||oi["CJK Compatibility Forms"](t)||oi["Small Form Variants"](t)||oi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function ci(t){return oi.Arabic(t)||oi["Arabic Supplement"](t)||oi["Arabic Extended-A"](t)||oi["Arabic Presentation Forms-A"](t)||oi["Arabic Presentation Forms-B"](t)}function fi(t){return t>=1424&&t<=2303||oi["Arabic Presentation Forms-A"](t)||oi["Arabic Presentation Forms-B"](t)}function hi(t,e){return!(!e&&fi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||oi.Khmer(t))}function pi(t){for(var e=0,r=t;e-1&&(xi=yi),mi&&mi(t)};function wi(){Ti.fire(new Ct("pluginStateChange",{pluginStatus:xi,pluginURL:bi}))}var Ti=new Ot,ki=function(){return xi},Ai=function(){if(xi!==di||!bi)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");xi=vi,wi(),bi&&Tt({url:bi},(function(t){t?_i(t):(xi=gi,wi())}))},Mi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return xi===gi||null!=Mi.applyArabicShaping},isLoading:function(){return xi===vi},setState:function(t){xi=t.pluginStatus,bi=t.pluginURL},isParsed:function(){return null!=Mi.applyArabicShaping&&null!=Mi.processBidirectionalText&&null!=Mi.processStyledBidirectionalText},getPluginURL:function(){return bi}},Si=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ai,this.transition={})};Si.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Ei=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Wr(t))return new un(t,e);if(nn(t)){var r=ln(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ae.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Ei.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Ei.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Li=function(t){this.property=t,this.value=new Ei(t,void 0)};Li.prototype.transitioned=function(t,e){return new Pi(this.property,this.value,e,f({},t.transition,this.transition),t.now)},Li.prototype.untransitioned=function(){return new Pi(this.property,this.value,null,{},0)};var Ci=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Ci.prototype.getValue=function(t){return b(this._values[t].value.value)},Ci.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Li(this._values[t].property)),this._values[t].value=new Ei(this._values[t].property,null===e?void 0:b(e))},Ci.prototype.getTransition=function(t){return b(this._values[t].transition)},Ci.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Li(this._values[t].property)),this._values[t].transition=b(e)||void 0},Ci.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Oi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Oi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new zi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Fi),Ni=function(t){this.specification=t};Ni.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Si(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Si(Math.floor(e.zoom),e)),t.expression.evaluate(new Si(Math.floor(e.zoom+1),e)),e)}},Ni.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Ni.prototype.interpolate=function(t){return t};var ji=function(t){this.specification=t};ji.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},ji.prototype.interpolate=function(){return!1};var Ui=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Ei(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Li(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Qn("DataDrivenProperty",Fi),Qn("DataConstantProperty",Ri),Qn("CrossFadedDataDrivenProperty",Bi),Qn("CrossFadedProperty",Ni),Qn("ColorRampProperty",ji);var Vi="-transition",Hi=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new Ii(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Ci(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new zi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(Zn,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return y(t,Vi)?this._transitionablePaint.getTransition(t.slice(0,-Vi.length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Gn,n,t,e,r))return!1}if(y(t,Vi))return this._transitionablePaint.setTransition(t.slice(0,-Vi.length),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),x(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Yn(this,t.call(Hn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:It,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Di&&qr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Ot),qi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Gi=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Zi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Yi(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,qi[i].BYTES_PER_ELEMENT),o=r=Wi(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:Wi(r,Math.max(n,e)),alignment:e}}function Wi(t,e){return Math.ceil(t/e)*e}Zi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Zi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Zi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Zi.prototype.clear=function(){this.length=0},Zi.prototype.resize=function(t){this.reserve(t),this.length=t},Zi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Zi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Xi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Zi);Xi.prototype.bytesPerElement=4,Qn("StructArrayLayout2i4",Xi);var Ji=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Zi);Ji.prototype.bytesPerElement=8,Qn("StructArrayLayout4i8",Ji);var Ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Zi);Ki.prototype.bytesPerElement=12,Qn("StructArrayLayout2i4i12",Ki);var $i=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Zi);$i.prototype.bytesPerElement=8,Qn("StructArrayLayout2i4ub8",$i);var Qi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c){var f=9*t,h=18*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint8[h+16]=u,this.uint8[h+17]=c,t},e}(Zi);Qi.prototype.bytesPerElement=18,Qn("StructArrayLayout8ui2ub18",Qi);var ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,u,c,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Zi);ta.prototype.bytesPerElement=24,Qn("StructArrayLayout4i4ui4i24",ta);var ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Zi);ea.prototype.bytesPerElement=12,Qn("StructArrayLayout3f12",ea);var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Zi);ra.prototype.bytesPerElement=4,Qn("StructArrayLayout1ul4",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u){var c=10*t,f=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,t},e}(Zi);na.prototype.bytesPerElement=20,Qn("StructArrayLayout6i1ul2ui20",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Zi);ia.prototype.bytesPerElement=12,Qn("StructArrayLayout2i2i2i12",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Zi);aa.prototype.bytesPerElement=16,Qn("StructArrayLayout2f1f2i16",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Zi);oa.prototype.bytesPerElement=12,Qn("StructArrayLayout2ub2f12",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Zi);sa.prototype.bytesPerElement=6,Qn("StructArrayLayout3ui6",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y){var m=24*t,x=12*t,b=48*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=u,this.uint16[m+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[m+22]=y,t},e}(Zi);la.prototype.bytesPerElement=48,Qn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",la);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=u,this.uint16[L+9]=c,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=v,this.uint16[L+15]=g,this.uint16[L+16]=y,this.uint16[L+17]=m,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Zi);ua.prototype.bytesPerElement=68,Qn("StructArrayLayout8i15ui1ul4f68",ua);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Zi);ca.prototype.bytesPerElement=4,Qn("StructArrayLayout1f4",ca);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Zi);fa.prototype.bytesPerElement=6,Qn("StructArrayLayout3i6",fa);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Zi);ha.prototype.bytesPerElement=8,Qn("StructArrayLayout1ul2ui8",ha);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Zi);pa.prototype.bytesPerElement=4,Qn("StructArrayLayout2ui4",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Zi);da.prototype.bytesPerElement=2,Qn("StructArrayLayout1ui2",da);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Zi);va.prototype.bytesPerElement=8,Qn("StructArrayLayout2f8",va);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Zi);ga.prototype.bytesPerElement=16,Qn("StructArrayLayout4f16",ga);var ya=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Gi);ya.prototype.size=20;var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ya(this,t)},e}(na);Qn("CollisionBoxArray",ma);var xa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Gi);xa.prototype.size=48;var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new xa(this,t)},e}(la);Qn("PlacedSymbolArray",ba);var _a=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Gi);_a.prototype.size=68;var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new _a(this,t)},e}(ua);Qn("SymbolInstanceArray",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ca);Qn("GlyphOffsetArray",Ta);var ka=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(fa);Qn("SymbolLineVertexArray",ka);var Aa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Gi);Aa.prototype.size=8;var Ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Aa(this,t)},e}(ha);Qn("FeatureIndexArray",Ma);var Sa=Yi([{name:"a_pos",components:2,type:"Int16"}],4).members,Ea=function(t){void 0===t&&(t=[]),this.segments=t};function La(t,e){return 256*(t=u(Math.floor(t),0,255))+u(Math.floor(e),0,255)}Ea.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Ea.MAX_VERTEX_ARRAY_LENGTH&&w("Max vertices per segment is "+Ea.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>Ea.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Ea.prototype.get=function(){return this.segments},Ea.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Oa=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),Ia=Pa,Da=Pa,za=Oa;Ia.murmur3=Da,Ia.murmur2=za;var Ra=function(){this.ids=[],this.positions=[],this.indexed=!1};Ra.prototype.add=function(t,e,r,n){this.ids.push(Ba(t)),this.positions.push(e,r,n)},Ra.prototype.getPositions=function(t){for(var e=Ba(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},Ra.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Na(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},Ra.deserialize=function(t){var e=new Ra;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Fa=Math.pow(2,53)-1;function Ba(t){var e=+t;return!isNaN(e)&&e<=Fa?e:Ia(String(t))}function Na(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;ja(t,a,o),ja(e,3*a,3*o),ja(e,3*a+1,3*o+1),ja(e,3*a+2,3*o+2)}o-rlo.max||o.ylo.max)&&(w("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=u(o.x,lo.min,lo.max),o.y=u(o.y,lo.min,lo.max))}return r}function co(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var fo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Xi,this.indexArray=new sa,this.segments=new Ea,this.programConfigurations=new no(Sa,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function ho(t,e){for(var r=0;r1){if(yo(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function _o(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function wo(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function To(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=T(t,e,r[0]);return a!==T(t,e,r[1])||a!==T(t,e,r[2])||a!==T(t,e,r[3])}function ko(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Ao(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Mo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=oo||c<0||c>=oo)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;co(this.layoutVertexArray,u,c,-1,-1),co(this.layoutVertexArray,u,c,1,-1),co(this.layoutVertexArray,u,c,1,1),co(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},Qn("CircleBucket",fo,{omit:["layers"]});var So=new Ui({"circle-sort-key":new Fi(It.layout_circle["circle-sort-key"])}),Eo={paint:new Ui({"circle-radius":new Fi(It.paint_circle["circle-radius"]),"circle-color":new Fi(It.paint_circle["circle-color"]),"circle-blur":new Fi(It.paint_circle["circle-blur"]),"circle-opacity":new Fi(It.paint_circle["circle-opacity"]),"circle-translate":new Ri(It.paint_circle["circle-translate"]),"circle-translate-anchor":new Ri(It.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Ri(It.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Ri(It.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Fi(It.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Fi(It.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Fi(It.paint_circle["circle-stroke-opacity"])}),layout:So},Lo="undefined"!=typeof Float32Array?Float32Array:Array;function Co(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Po(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var Oo=Po;var Io,Do=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function zo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Io=new Lo(3),Lo!=Float32Array&&(Io[0]=0,Io[1]=0,Io[2]=0),function(){var t=new Lo(4);Lo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ro=function(t){var e=t[0],r=t[1];return e*e+r*r},Fo=(function(){var t=new Lo(2);Lo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Eo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new fo(t)},e.prototype.queryRadius=function(t){var e=t;return ko("circle-radius",this,e)+ko("circle-stroke-width",this,e)+Ao(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Mo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),u=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),c="map"===this.paint.get("circle-pitch-alignment"),f=c?l:function(t,e){return t.map((function(t){return Bo(t,e)}))}(l,s),h=c?u*o:u,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return rs(h,p,r,n,i,u),p}function ts(t,e,r,n,i){var a,o;if(i===ks(t,e,r,n)>0)for(a=e;a=e;a-=n)o=_s(a,t[a],t[a+1],o);return o&&vs(o,o.next)&&(ws(o),o=o.next),o}function es(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!vs(n,n.next)&&0!==ds(n.prev,n,n.next))n=n.next;else{if(ws(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function rs(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=cs(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?is(t,n,i,a):ns(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),ws(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?rs(t=as(es(t),e,r),e,r,n,i,a,2):2===o&&os(t,e,r,n,i,a):rs(es(t),e,r,n,i,a,1);break}}}function ns(t){var e=t.prev,r=t,n=t.next;if(ds(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(hs(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ds(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function is(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ds(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=cs(s,l,e,r,n),h=cs(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ds(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ds(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ds(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ds(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function as(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!vs(i,a)&&gs(i,n,n.next,a)&&xs(i,a)&&xs(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),ws(n),ws(n.next),n=t=a),n=n.next}while(n!==t);return es(n)}function os(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&ps(o,s)){var l=bs(o,s);return o=es(o,o.next),l=es(l,l.next),rs(o,e,r,n,i,a),void rs(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function ss(t,e){return t.x-e.x}function ls(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&hs(ar.x||n.x===r.x&&us(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(t,e)){var r=bs(e,t);es(e,e.next),es(r,r.next)}}function us(t,e){return ds(t.prev,t,e.prev)<0&&ds(e.next,t,t.next)<0}function cs(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function fs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function ps(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&gs(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(xs(t,e)&&xs(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ds(t.prev,t,e.prev)||ds(t,e.prev,e))||vs(t,e)&&ds(t.prev,t,t.next)>0&&ds(e.prev,e,e.next)>0)}function ds(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function vs(t,e){return t.x===e.x&&t.y===e.y}function gs(t,e,r,n){var i=ms(ds(t,e,r)),a=ms(ds(t,e,n)),o=ms(ds(r,n,t)),s=ms(ds(r,n,e));return i!==a&&o!==s||!(0!==i||!ys(t,r,e))||!(0!==a||!ys(t,n,e))||!(0!==o||!ys(r,t,n))||!(0!==s||!ys(r,e,n))}function ys(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function ms(t){return t>0?1:t<0?-1:0}function xs(t,e){return ds(t.prev,t,t.next)<0?ds(t,e,t.next)>=0&&ds(t,t.prev,e)>=0:ds(t,e,t.prev)<0||ds(t,t.next,e)<0}function bs(t,e){var r=new Ts(t.i,t.x,t.y),n=new Ts(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function _s(t,e,r,n){var i=new Ts(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function ws(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Ts(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function ks(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Ms(t,e,Math.max(r,Math.floor(e-o*l/a+u)),Math.min(n,Math.floor(e+(a-o)*l/a+u)),i)}var c=t[e],f=r,h=n;for(Ss(t,r,e),i(t[n],c)>0&&Ss(t,r,n);f0;)h--}0===i(t[r],c)?Ss(t,r,h):Ss(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1)}}function Ss(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Es(t,e){return te?1:0}function Ls(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},Ko.default=$o;var Is=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Xi,this.indexArray=new sa,this.indexArray2=new pa,this.programConfigurations=new no(Jo,t.layers,t.zoom),this.segments=new Ea,this.segments2=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Is.prototype.populate=function(t,e,r){this.hasPattern=Ps("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ns.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,u]},Ns.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),u=Ns.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Gs(t,e,r){if(3===t){var n=new Vs(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Hs.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Bs(this._pbf,e,this.extent,this._keys,this._values)};var Zs={VectorTile:function(t,e){this.layers=t.readFields(Gs,{},e)},VectorTileFeature:Bs,VectorTileLayer:Vs},Ys=Zs.VectorTileFeature.types,Ws=Math.pow(2,13);function Xs(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Ws)+o,i*Ws*2,a*Ws*2,Math.round(s))}var Js=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Ki,this.indexArray=new sa,this.programConfigurations=new no(Fs,t.layers,t.zoom),this.segments=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Ks(t,e){return t.x===e.x&&(t.x<0||t.x>oo)||t.y===e.y&&(t.y<0||t.y>oo)}Js.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ps("fill-extrusion",this.layers,e);for(var n=0,i=t;noo}))||O.every((function(t){return t.y<0}))||O.every((function(t){return t.y>oo}))))for(var v=0,g=0;g=1){var m=d[g-1];if(!Ks(y,m)){f.vertexLength+4>Ea.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(m)._perp()._unit(),b=m.dist(y);v+b>32768&&(v=0),Xs(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),Xs(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v),v+=b,Xs(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),Xs(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>Ea.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===Ys[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u0;if(T&&y>u){var A=c.dist(p);if(A>2*f){var M=c.sub(c.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,v,0,0,h),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_100)m=g.mult(-1);else{var L=_*v.add(g).mag()/v.sub(g).mag();m._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(c,m,0,0,h),this.addCurrentVertex(c,m.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var C=-Math.sqrt(_*_-1),P=k?C:0,O=k?0:C;if(p&&this.addCurrentVertex(c,v,P,O,h),"fakeround"===E)for(var I=Math.round(180*w/Math.PI/20),D=1;D2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},ol.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,u=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,u,a,!0,-n,i),this.distance>al/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},ol.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,u=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6);var c=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),o.primitiveLength++),i?this.e2=c:this.e1=c},ol.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(al-1):this.distance},ol.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Qn("LineBucket",ol,{omit:["layers","patternFeatures"]});var sl=new Ui({"line-cap":new Ri(It.layout_line["line-cap"]),"line-join":new Fi(It.layout_line["line-join"]),"line-miter-limit":new Ri(It.layout_line["line-miter-limit"]),"line-round-limit":new Ri(It.layout_line["line-round-limit"]),"line-sort-key":new Fi(It.layout_line["line-sort-key"])}),ll={paint:new Ui({"line-opacity":new Fi(It.paint_line["line-opacity"]),"line-color":new Fi(It.paint_line["line-color"]),"line-translate":new Ri(It.paint_line["line-translate"]),"line-translate-anchor":new Ri(It.paint_line["line-translate-anchor"]),"line-width":new Fi(It.paint_line["line-width"]),"line-gap-width":new Fi(It.paint_line["line-gap-width"]),"line-offset":new Fi(It.paint_line["line-offset"]),"line-blur":new Fi(It.paint_line["line-blur"]),"line-dasharray":new Ni(It.paint_line["line-dasharray"]),"line-pattern":new Bi(It.paint_line["line-pattern"]),"line-gradient":new ji(It.paint_line["line-gradient"])}),layout:sl},ul=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Si(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=f({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Fi),cl=new ul(ll.paint.properties["line-width"].specification);cl.useIntegerZoom=!0;var fl=function(t){function e(e){t.call(this,e,ll)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=Zo(t,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=cl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new ol(t)},e.prototype.queryRadius=function(t){var e=t,r=hl(ko("line-width",this,e),ko("line-gap-width",this,e)),n=ko("line-offset",this,e);return r/2+Math.abs(n)+Ao(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Mo(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),u=s/2*hl(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),c=this.paint.get("line-offset").evaluate(e,r);return c&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var pl=Yi([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),dl=Yi([{name:"a_projected_pos",components:3,type:"Float32"}],4),vl=(Yi([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Yi([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),gl=(Yi([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]),Yi([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),yl=Yi([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ml(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Mi.applyArabicShaping&&(t=Mi.applyArabicShaping(t)),t}(t.text,e,r)})),t}Yi([{name:"triangle",components:3,type:"Uint16"}]),Yi([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),Yi([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Yi([{type:"Float32",name:"offsetX"}]),Yi([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var xl={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var bl=24,_l=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},wl=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v},Tl=kl;function kl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}kl.Varint=0,kl.Fixed64=1,kl.Bytes=2,kl.Fixed32=5;var Al=4294967296,Ml=1/Al,Sl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function El(t){return t.type===kl.Bytes?t.readVarint()+t.pos:t.pos+1}function Ll(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Cl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function Pl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Vl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}kl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=jl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Vl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=jl(this.buf,this.pos)+jl(this.buf,this.pos+4)*Al;return this.pos+=8,t},readSFixed64:function(){var t=jl(this.buf,this.pos)+Vl(this.buf,this.pos+4)*Al;return this.pos+=8,t},readFloat:function(){var t=_l(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=_l(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Ll(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Ll(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Sl?function(t,e,r){return Sl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==kl.Bytes)return t.push(this.readVarint(e));var r=El(this);for(t=t||[];this.pos127;);else if(e===kl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===kl.Fixed32)this.pos+=4;else{if(e!==kl.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Cl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),wl(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),wl(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Cl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,kl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Pl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ol,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,zl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Il,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Dl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Rl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Fl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Bl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Nl,e)},writeBytesField:function(t,e){this.writeTag(t,kl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,kl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,kl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,kl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,kl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,kl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,kl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,kl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,kl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,kl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Hl(t,e,r){1===t&&r.readMessage(ql,e)}function ql(t,e,r){if(3===t){var n=r.readMessage(Gl,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;e.push({id:i,bitmap:new Ho({width:o+6,height:s+6},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function Gl(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}function Zl(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[L];if(j&&j.rect)O=j.rect,P=j.metrics;else{var U=e[S.fontStack],V=U&&U[L];if(!V)continue;P=V.metrics}C=(_-S.scale)*bl}z?(t.verticalizable=!0,k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=D*S.scale+u):(k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=P.advance*S.scale+u)}if(0!==k.length){var H=h-u;d=Math.max(H,d),cu(k,0,k.length-1,g,A)}h=0;var q=a*_+A;T.lineOffset=Math.max(A,w),p+=q,v=Math.max(q,v),++y}else p+=a,++y}var G=p-Kl,Z=uu(o),Y=Z.horizontalAlign,W=Z.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var u=(e-r)*i,c=0;c=a!==o?-s*n-Kl:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&eu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},Ql.prototype.substring=function(t,e){var r=new Ql;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},Ql.prototype.toString=function(){return this.text},Ql.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},Ql.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push($l.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var eu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ru={};function nu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*bl/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function iu(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,c=0,f=0;f-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;sn;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function xu(t){for(var e=0,r=0;ru){var d=(u-l)/p,v=Ke(f.x,h.x,d),g=Ke(f.y,h.y,d),y=new hu(v,g,h.angleTo(f),c);return y._round(),!o||mu(t,y,s,o,e)?y:void 0}l+=p}}function Tu(t,e,r,n,i,a,o,s,l){var u=bu(n,a,o),c=_u(n,i),f=c*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&b=0&&_=0&&h+u<=c){var w=new hu(b,_,m,d);w._round(),n&&!mu(t,w,a,n,i)||p.push(w)}}f+=y}return s||p.length||o||(p=ku(t,f/2,r,n,i,a,o,!0,l)),p}function Au(t,e,r,n,i){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}function Mu(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,u=o.paddedRect.h-2,c=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(t,e){return t+e[1]-e[0]},v=h.reduce(d,0),g=p.reduce(d,0),y=l-v,m=u-g,x=0,b=v,_=0,w=g,T=0,k=y,A=0,M=m;if(o.content&&n){var S=o.content;x=Su(h,0,S[0]),_=Su(p,0,S[1]),b=Su(h,S[0],S[2]),w=Su(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Lu(n.stretch-x,b,c,t.left),p=Cu(n.fixed-T,k,n.stretch,v),d=Lu(i.stretch-_,w,f,t.top),y=Cu(i.fixed-A,M,i.stretch,g),m=Lu(l.stretch-x,b,c,t.left),S=Cu(l.fixed-T,k,l.stretch,v),E=Lu(u.stretch-_,w,f,t.top),L=Cu(u.fixed-A,M,u.stretch,g),C=new a(h,d),P=new a(m,d),O=new a(m,E),I=new a(h,E),D=new a(p/s,y/s),z=new a(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),P._matMult(N),I._matMult(N),O._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,H=u.stretch+u.fixed;return{tl:C,tr:P,bl:I,br:O,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+V,w:U-j,h:H-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:z,minFontScaleX:k/s/c,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=Eu(h,y,v),C=Eu(p,m,g),P=0;P0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,m=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,v-=x[1]*s,m+=x[2]*s,g+=x[3]*s),c){var b=new a(y,v),_=new a(m,v),w=new a(y,g),T=new a(m,g),k=c*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(b.x,_.x,w.x,T.x),m=Math.max(b.x,_.x,w.x,T.x),v=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,v,m,g,r,n,i)}this.boxEndIndex=t.length},Ou=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Iu),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Iu(t,e){return te?1:0}function Du(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],u=0;uo)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new Ou([],zu);if(0===p)return new a(n,i);for(var g=n;gm.d||!m.d)&&(m=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-m.d<=e||(d=b.h/2,v.push(new Ru(b.p.x-d,b.p.y-d,d,t)),v.push(new Ru(b.p.x+d,b.p.y-d,d,t)),v.push(new Ru(b.p.x-d,b.p.y+d,d,t)),v.push(new Ru(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+m.d)),m.p}function zu(t,e){return e.max-t.max}function Ru(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=c.y>t.y&&t.x<(c.x-u.x)*(t.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,bo(t,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Ou.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Ou.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Ou.prototype.peek=function(){return this.data[0]},Ou.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Ou.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var Fu=Number.POSITIVE_INFINITY;function Bu(t,e){return e[1]!==Fu?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-e;break;case"top":n=e-7}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Nu(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var ju=32640;function Uu(t,e,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(t,e,r,n,i,o,s,l){for(var u=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,c=[],f=0,h=e.positionedLines;fju&&w(t.layerIds[0]+': Value for "text-size" is >= '+'255. Reduce your "text-size".'):"composite"===y.kind&&((m=[pu*d.compositeTextSizes[0].evaluate(s,{},v),pu*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>ju||m[1]>ju)&&w(t.layerIds[0]+': Value for "text-size" is >= '+'255. Reduce your "text-size".'),t.addSymbols(t.text,g,m,l,o,s,c,e,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),u="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get("symbol-sort-key");if(this.features=[],l||u){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new Si(this.zoom),v=0,g=t;v=0;for(var I=0,D=k.sections;I=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},Ku.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ku.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Ku.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Ku.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Ku.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Qn("SymbolBucket",Ku,{omit:["layers","collisionBoxArray","features","compareText"]}),Ku.MAX_GLYPHS=65535,Ku.addDynamicAttributes=Yu;var $u=new Ui({"symbol-placement":new Ri(It.layout_symbol["symbol-placement"]),"symbol-spacing":new Ri(It.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Ri(It.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Fi(It.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Ri(It.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Ri(It.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Ri(It.layout_symbol["icon-ignore-placement"]),"icon-optional":new Ri(It.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Ri(It.layout_symbol["icon-rotation-alignment"]),"icon-size":new Fi(It.layout_symbol["icon-size"]),"icon-text-fit":new Ri(It.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Ri(It.layout_symbol["icon-text-fit-padding"]),"icon-image":new Fi(It.layout_symbol["icon-image"]),"icon-rotate":new Fi(It.layout_symbol["icon-rotate"]),"icon-padding":new Ri(It.layout_symbol["icon-padding"]),"icon-keep-upright":new Ri(It.layout_symbol["icon-keep-upright"]),"icon-offset":new Fi(It.layout_symbol["icon-offset"]),"icon-anchor":new Fi(It.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Ri(It.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Ri(It.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Ri(It.layout_symbol["text-rotation-alignment"]),"text-field":new Fi(It.layout_symbol["text-field"]),"text-font":new Fi(It.layout_symbol["text-font"]),"text-size":new Fi(It.layout_symbol["text-size"]),"text-max-width":new Fi(It.layout_symbol["text-max-width"]),"text-line-height":new Ri(It.layout_symbol["text-line-height"]),"text-letter-spacing":new Fi(It.layout_symbol["text-letter-spacing"]),"text-justify":new Fi(It.layout_symbol["text-justify"]),"text-radial-offset":new Fi(It.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Ri(It.layout_symbol["text-variable-anchor"]),"text-anchor":new Fi(It.layout_symbol["text-anchor"]),"text-max-angle":new Ri(It.layout_symbol["text-max-angle"]),"text-writing-mode":new Ri(It.layout_symbol["text-writing-mode"]),"text-rotate":new Fi(It.layout_symbol["text-rotate"]),"text-padding":new Ri(It.layout_symbol["text-padding"]),"text-keep-upright":new Ri(It.layout_symbol["text-keep-upright"]),"text-transform":new Fi(It.layout_symbol["text-transform"]),"text-offset":new Fi(It.layout_symbol["text-offset"]),"text-allow-overlap":new Ri(It.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Ri(It.layout_symbol["text-ignore-placement"]),"text-optional":new Ri(It.layout_symbol["text-optional"])}),Qu={paint:new Ui({"icon-opacity":new Fi(It.paint_symbol["icon-opacity"]),"icon-color":new Fi(It.paint_symbol["icon-color"]),"icon-halo-color":new Fi(It.paint_symbol["icon-halo-color"]),"icon-halo-width":new Fi(It.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Fi(It.paint_symbol["icon-halo-blur"]),"icon-translate":new Ri(It.paint_symbol["icon-translate"]),"icon-translate-anchor":new Ri(It.paint_symbol["icon-translate-anchor"]),"text-opacity":new Fi(It.paint_symbol["text-opacity"]),"text-color":new Fi(It.paint_symbol["text-color"],{runtimeType:Gt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Fi(It.paint_symbol["text-halo-color"]),"text-halo-width":new Fi(It.paint_symbol["text-halo-width"]),"text-halo-blur":new Fi(It.paint_symbol["text-halo-blur"]),"text-translate":new Ri(It.paint_symbol["text-translate"]),"text-translate-anchor":new Ri(It.paint_symbol["text-translate-anchor"])}),layout:$u},tc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ut,this.defaultValue=t};tc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},tc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},tc.prototype.outputDefined=function(){return!1},tc.prototype.serialize=function(){return null},Qn("FormatSectionOverride",tc,{omit:["defaultValue"]});var ec=function(t){function e(e){t.call(this,e,Qu)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},vc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else A()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},vc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},vc.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(ii(e.error)):n(null,ii(e.data)))}else{var i=!1,a=E(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?ni(e):null,data:ni(n,a)},a)}:function(t){i=!0},s=null,l=ii(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},vc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var yc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};yc.prototype.setNorthEast=function(t){return this._ne=t instanceof xc?new xc(t.lng,t.lat):xc.convert(t),this},yc.prototype.setSouthWest=function(t){return this._sw=t instanceof xc?new xc(t.lng,t.lat):xc.convert(t),this},yc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof xc)e=t,r=t;else{if(!(t instanceof yc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(yc.convert(a))}var o=t;return this.extend(xc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new xc(e.lng,e.lat),this._ne=new xc(r.lng,r.lat)),this},yc.prototype.getCenter=function(){return new xc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},yc.prototype.getSouthWest=function(){return this._sw},yc.prototype.getNorthEast=function(){return this._ne},yc.prototype.getNorthWest=function(){return new xc(this.getWest(),this.getNorth())},yc.prototype.getSouthEast=function(){return new xc(this.getEast(),this.getSouth())},yc.prototype.getWest=function(){return this._sw.lng},yc.prototype.getSouth=function(){return this._sw.lat},yc.prototype.getEast=function(){return this._ne.lng},yc.prototype.getNorth=function(){return this._ne.lat},yc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},yc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},yc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},yc.prototype.contains=function(t){var e=xc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},yc.convert=function(t){return!t||t instanceof yc?t:new yc(t)};var mc=6371008.8,xc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};xc.prototype.wrap=function(){return new xc(c(this.lng,-180,180),this.lat)},xc.prototype.toArray=function(){return[this.lng,this.lat]},xc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},xc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return mc*Math.acos(Math.min(i,1))},xc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new yc(new xc(this.lng-r,this.lat-e),new xc(this.lng+r,this.lat+e))},xc.convert=function(t){if(t instanceof xc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new xc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new xc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var bc=2*Math.PI*mc;function _c(t){return bc*Math.cos(t*Math.PI/180)}function wc(t){return(180+t)/360}function Tc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function kc(t,e){return t/_c(e)}function Ac(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Mc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Mc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=xc.convert(t);return new Mc(wc(r.lng),Tc(r.lat),kc(e,r.lat))},Mc.prototype.toLngLat=function(){return new xc(360*this.x-180,Ac(this.y))},Mc.prototype.toAltitude=function(){return t=this.z,e=this.y,t*_c(Ac(e));var t,e},Mc.prototype.meterInMercatorCoordinateUnits=function(){return 1/bc*(t=Ac(this.y),1/Math.cos(t*Math.PI/180));var t};var Sc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Cc(0,t,t,e,r)};Sc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Sc.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=gc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=gc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Lc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Lc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Lc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Cc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Cc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Lc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Lc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Lc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Lc(e,this.wrap,e,r,n),new Lc(e,this.wrap,e,r+1,n),new Lc(e,this.wrap,e,r,n+1),new Lc(e,this.wrap,e,r+1,n+1)]},Lc.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Pc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Pc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Pc.prototype.getPixels=function(){return new qo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Pc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,u=a;u=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Rc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Zs.VectorTile(new Tl(this.rawTileData)).layers,this.sourceLayerCoder=new Oc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Rc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=oo/t.tileSize/t.scale,l=xn(o.filter),u=t.queryGeometry,c=t.queryPadding*s,f=Bc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Bc(t.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var u=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var c=0,f=u;c=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),p=this.vtLayers[h].feature(n);if(i.filter(new Si(this.tileID.overscaledZ),p))for(var d=this.getId(p,h),v=0;vn)i=!1;else if(e)if(this.expirationTimect&&(t.getActor().send("enforceCacheSizeLimit",ut),gt=0)},t.clamp=u,t.clearTileCache=function(t){var e=self.caches.delete(lt);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Au,t.clone=function(t){var e=new Lo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=b,t.clone$2=function(t){var e=new Lo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=yl,t.config=B,t.create=function(){var t=new Lo(16);return Lo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Lo(9);return Lo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Lo(4);return Lo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=an,t.createLayout=Yi,t.createStyleLayer=function(t){return"custom"===t.type?new oc(t):new sc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Ke,t.offscreenCanvasSupported=yt,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},t.parseGlyphPBF=function(t){return new Tl(t).readFields(Hl,[])},t.pbf=Tl,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=oo/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u["text-size"].possiblyEvaluate(new Si(h),o),u["text-size"].possiblyEvaluate(new Si(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u["icon-size"].possiblyEvaluate(new Si(v),o),u["icon-size"].possiblyEvaluate(new Si(g),o)]}c.layoutTextSize=u["text-size"].possiblyEvaluate(new Si(t.zoom+1),o),c.layoutIconSize=u["icon-size"].possiblyEvaluate(new Si(t.zoom+1),o),c.textMaxSize=u["text-size"].possiblyEvaluate(new Si(18));for(var y=l.get("text-line-height")*bl,m="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=l.get("text-size"),_=function(){var a=k[T],s=l.get("text-font").evaluate(a,{},o).join(","),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get("text-letter-spacing").evaluate(a,{},o)*bl,A=function(t){for(var e=0,r=t;e=oo||f.y<0||f.y>=oo||function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A){var M,S,E,L,C,P=t.addToLineVertexArray(e,r),O=0,I=0,D=0,z=0,R=-1,F=-1,B={},N=Ia(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(b,{},k).map((function(t){return t*bl})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(b,{},k)*bl,U=Fu),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},k)+90,H=n.vertical;L=new Pu(l,e,u,c,f,H,h,p,d,V),o&&(C=new Pu(l,e,u,c,f,o,g,y,d,V))}if(i){var q=s.layout.get("icon-rotate").evaluate(b,{}),G="none"!==s.layout.get("icon-text-fit"),Z=Mu(i,q,T,G),Y=o?Mu(o,q,T,G):void 0;E=new Pu(l,e,u,c,f,i,g,y,!1,q),O=4*Z.length;var W=t.iconSizeData,X=null;"source"===W.kind?(X=[pu*s.layout.get("icon-size").evaluate(b,{})])[0]>ju&&w(t.layerIds[0]+': Value for "icon-size" is >= '+'255. Reduce your "icon-size".'):"composite"===W.kind&&((X=[pu*_.compositeIconSizes[0].evaluate(b,{},k),pu*_.compositeIconSizes[1].evaluate(b,{},k)])[0]>ju||X[1]>ju)&&w(t.layerIds[0]+': Value for "icon-size" is >= '+'255. Reduce your "icon-size".'),t.addSymbols(t.icon,Z,X,x,m,b,!1,e,P.lineStartIndex,P.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,Y&&(I=4*Y.length,t.addSymbols(t.icon,Y,X,x,m,b,Jl.vertical,e,P.lineStartIndex,P.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var J in n.horizontal){var K=n.horizontal[J];if(!S){N=Ia(K.text);var $=s.layout.get("text-rotate").evaluate(b,{},k);S=new Pu(l,e,u,c,f,K,h,p,d,$)}var Q=1===K.positionedLines.length;if(D+=Uu(t,e,K,a,s,d,b,v,P,n.vertical?Jl.horizontal:Jl.horizontalOnly,Q?Object.keys(n.horizontal):[J],B,R,_,k),Q)break}n.vertical&&(z+=Uu(t,e,n.vertical,a,s,d,b,v,P,Jl.vertical,["vertical"],B,F,_,k));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ut(S,lt),lt=ut(L,lt),lt=ut(E,lt);var ct=(lt=ut(C,lt))>-1?1:0;ct&&(lt*=A/bl),t.glyphOffsetArray.length>=Ku.MAX_GLYPHS&&w("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,u,D,z,O,I,ct,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,m,T,M,l,b,k,S,d,e,a,u,c,o)};if("line"===E)for(var O=0,I=Au(e.geometry,0,0,oo,oo);O1){var U=wu(j,A,r.vertical||v,n,g,x);U&&P(j,U)}}else if("Polygon"===e.type)for(var V=0,H=Ls(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send("getGlyphs",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,O.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send("getImages",{icons:C,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,O.call(l))})):p={};var P=Object.keys(g.patternDependencies);function O(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(v).filter((function(t){return!t.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}P.length?a.send("getImages",{icons:P,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,O.call(l))})):d={},O.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var u=t.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function P(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;D(t,e,o,n,i,a%2),I(t,e,r,n,o-1,a+1),I(t,e,r,o+1,i,a+1)}}function D(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);D(t,e,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=e[2*r+a],h=n,p=i;for(z(t,e,n,r),e[2*i+a]>f&&z(t,e,n,i);hf;)p--}e[2*n+a]===f?z(t,e,n,p):z(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function z(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var v=Math.floor((p+h)/2);s=e[2*v],l=e[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+c)/2),d=e[2*p],v=e[2*p+1];F(d,v,r,n)<=l&&s.push(t[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=X(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function H(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function q(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:W(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:Z(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function Z(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return X(X({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function W(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function X(t,e){for(var r in e)t[r]=e[r];return t}function J(t){return t.x}function K(t){return t.y}function $(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],u=t[e+1],c=t[r],f=t[r+1],h=e+3;ha)i=h,a=p;else if(p===a){var d=Math.abs(h-o);dn&&(i-e>3&&$(t,e,i,n),t[i+2]=a,r-i>3&&$(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=e.length-3;e[2]=1,$(e,0,c,r),e[c+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],u=0;u=r&&d=n)){var v=[];if("Point"===h||"MultiPoint"===h)ut(f,v,r,n,i);else if("LineString"===h)ct(f,v,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ht(f,v,r,n,i,!1);else if("Polygon"===h)ht(f,v,r,n,i,!0);else if("MultiPolygon"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ct(t,e,r,n,i,a,o){for(var s,l,u=ft(t),c=0===i?dt:vt,f=t.start,h=0;hr&&(l=c(u,p,d,g,y,r),o&&(u.start=f+s*l)):m>n?x=r&&(l=c(u,p,d,g,y,r),b=!0),x>n&&m<=n&&(l=c(u,p,d,g,y,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),e.push(u),u=ft(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],v=t[_+2],(m=0===i?p:d)>=r&&m<=n&&pt(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pt(u,u[0],u[1],u[2]),u.length&&e.push(u)}function ft(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ht(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _t(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,J,K,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",u,s.length,+Date.now()-c)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],u=[],c=0,f=l.range(Y(r),W(a),Y(i),W(n));c1?this._map(u,!0):null,g=(l<<5)+(e+1)+this.points.length,y=0,m=f;y>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?X({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?X({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var c=1<1&&console.time("creation"),h=this.tiles[f]=bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var v,g,y,m,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;v=g=y=m=null,x=lt(t,c,r-_,r+T,0,h.minX,h.maxX,l),b=lt(t,c,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(v=lt(x,c,n-_,n+T,1,h.minY,h.maxY,l),g=lt(x,c,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(y=lt(b,c,n-_,n+T,1,h.minY,h.maxY,l),m=lt(b,c,n+w,n+k,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd("clipping"),s.push(v||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(m||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,u=t,c=e,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[kt(u,c,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",u,c,f),a>1&&console.time("drilling down"),this.splitTile(l.source,u,c,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?mt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));f(o,!0);try{e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],u=0;u1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),O=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Dt(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var m=d.children(this._source.maxzoom);if(n[m[0].key]&&n[m[1].key]&&n[m[2].key]&&n[m[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),u=s.map((function(t){return o.pointCoordinate(t)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v=0&&y[1].y+g>=0){var m=l.map((function(t){return s.getTilePoint(t)})),x=u.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:m,cameraQueryGeometry:x,scale:v})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Dt(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(ta.workerUrl)}Ot.maxOverzooming=10,Ot.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var u=i?e.textSizeData:e.iconSizeData,c=t.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,y=e.lineOffsetX*g,m=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=oe(g,l,y,m,n,f,h,e,u,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}v=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:ue(h,L,S,1,a),O=se(e.writingMode,S,P,d);if(O)return O}var I=ce(g*l.getoffsetX(e.glyphStartIndex),y,m,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var D=0,z=v;D0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,m=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=u)return null;if(m=y,w.push(y),void 0===(y=h[g])){var T=new t.Point(c.getx(g),c.gety(g)),k=re(T,f);if(k.signedDistanceFromCamera>0)y=h[g]=k.point;else{var A=g-d;y=ue(0===x?o:new t.Point(c.getx(A),c.gety(A)),T,m,_-x+1,f)}}x+=b,b=m.dist(y)}var M=(_-x)/b,S=y.sub(m),E=S.mult(M)._add(m);E._add(S._unit()._perp()._mult(n*d));var L=v+Math.atan2(y.y-m.y,y.x-m.x);return w.push(E),{point:E,angle:L,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,y=0,m=v;yo*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var f=l-s,h=c-u;return f*f+h*h<=r*r};var fe=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function he(t,e){for(var r=0;r=1;P--)C.push(E.path[P]);for(var O=1;O0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=z;N=this.screenRightBoundary||nthis.screenBottomBoundary},ve.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:y,placedGlyphBoxes:m}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),m=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=m&&(x||!o.hasIconData()||y),A=x&&(m||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},P=null,O=null,I=0,D=0,z=0;a.textFeatureIndex?I=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(I=e.featureIndex),a.verticalTextFeatureIndex&&(D=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,u=e.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=m?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,u,b,_,f,l,v,y,e,o,n,c);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var H=i.prevPlacement.variableOffsets[e.crossTileID];H&&(i.variableOffsets[e.crossTileID]=H,i.markUsedJustification(o,H.anchor,e,V))}}else{var q=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,m,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return q(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?q(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Z=t.evaluateSizeForFeature(o.textSizeData,d,G),Y=s.get("text-padding"),W=e.collisionCircleDiameter;P=i.collisionIndex.placeCollisionCircles(m,G,o.lineVertexArray,o.glyphOffsetArray,Z,l,u,c,n,_,v.predicate,W,Y),T=m||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(a.iconFeatureIndex&&(z=a.iconFeatureIndex),a.iconBox){var X=function(t){var e=w&&E?ke(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,v.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(O=X(a.verticalIconBox)).box.length>0:(O=X(a.iconBox)).box.length>0,S=S&&O.offscreen}var J=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,K=y||0===e.numIconVertices;if(J||K?K?J||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&D?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,D,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID)),M&&O&&i.collisionIndex.insertCollisionBox(O.box,s.get("icon-ignore-placement"),o.bucketInstanceId,z,v.ID),P&&(T&&i.collisionIndex.insertCollisionCircles(P.circles,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new be);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(m){var T=De(y.text),k=_?ze:T;d(e.text,s,k);var A=w?ze:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=De(y.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var P=C?L:ze;d(e.icon,a.numIconVertices,P),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var O=C?ze:L;d(e.icon,a.numVerticalIconVertices,O),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var I=e.collisionArrays[n];if(I){var D=new t.Point(0,0);if(I.textBox||I.verticalTextBox){var z=!0;if(u){var R=i.variableOffsets[v];R?(D=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&D._rotate(f?i.transform.angle:-i.transform.angle)):z=!1}I.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||_,D.x,D.y),I.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||w,D.x,D.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,h?D.x:0,h?D.y:0),I.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,h?D.x:0,h?D.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Le=Math.pow(2,17),Ce=Math.pow(2,16),Pe=Math.pow(2,9),Oe=Math.pow(2,8),Ie=Math.pow(2,1);function De(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Le+e*Ce+r*Pe+e*Oe+r*Ie+e}var ze=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var u=o[t.scaledTo(Number(a)).key];u&&u.findMatches(e.symbolInstances,t,i)}}for(var c=0;c1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,c())})),u=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){u=null,o||(o=t,a=e,c())}));function c(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,y=l.content,m=new t.RGBAImage({width:u,height:c});t.RGBAImage.copy(e,m,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:m,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Ot(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(He(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=_r("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=_r("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=_r("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=_r("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=_r("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ur=_r("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),cr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),fr=_r("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hr=_r("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=_r("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),vr=_r("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=_r("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),mr=_r("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=_r("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),br=_r("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function _r(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,i,a){return n[a]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,i,a){var o="float"===i?"vec2":"vec4",s=a.match(/color/)?"color":o;return n[a]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"}))}}var wr=Object.freeze({__proto__:null,prelude:Xe,background:Je,backgroundPattern:Ke,circle:$e,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:yr,symbolIcon:mr,symbolSDF:xr,symbolTextAndIcon:br}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Tr.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,u=0;!l&&u>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}kr.prototype.draw=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=t.gl;if(!this.failedToCreate){for(var m in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[m].set(o[m]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],b=0,_=c.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new Tr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),y.drawElements(e,w.primitiveLength*x,y.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Mr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Sr=function(e,r,n,i,a,o,s){return t.extend(Mr(e,r,n,i),Ar(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Er=function(t){return{u_matrix:t}},Lr=function(e,r,n,i){return t.extend(Er(e),Ar(n,r,i))},Cr=function(t,e){return{u_matrix:t,u_world:e}},Pr=function(e,r,n,i,a){return t.extend(Lr(e,r,n,i),{u_world:a})},Or=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=ge(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Ir=function(t,e,r){var n=ge(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Dr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},zr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Rr=function(t){return{u_matrix:t}},Fr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ge(e,1,r),u_intensity:n}};var Br=function(e,r,n){var i=e.transform;return{u_matrix:Hr(e,r,n),u_ratio:1/ge(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Nr=function(e,r,n){return t.extend(Br(e,r,n),{u_image:0})},jr=function(e,r,n,i){var a=e.transform,o=Vr(r,a);return{u_matrix:Hr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ge(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ur=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=Vr(r,o),u="round"===n.layout.get("line-cap"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return t.extend(Br(e,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Vr(t,e){return 1/ge(t,1,e.tileZoom)}function Hr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var qr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Gr(i.paint.get("raster-hue-rotate"))};var a,o};function Gr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Zr,Yr=function(t,e,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},Wr=function(e,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return t.extend(Yr(e,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Xr=function(e,r,n,i,a,o,s,l,u,c){return t.extend(Wr(e,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},Jr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Kr=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},$r={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Qr(e,r,n,i,a,o,s){for(var l=e.context,u=l.gl,c=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=m;t.mul(_,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,y.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,Ir(m,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(v[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else he(y.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,P=0;P0){var s=t.browser.now(),l=(s-e.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-u,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var hn=new t.Color(1,0,0,1),pn=new t.Color(0,1,0,1),dn=new t.Color(0,0,1,1),vn=new t.Color(1,0,1,1),gn=new t.Color(0,1,1,1);function yn(t){var e=t.transform.padding;mn(t,t.transform.height-(e.top||0),3,hn),mn(t,e.bottom||0,3,pn),xn(t,e.left||0,3,dn),xn(t,t.transform.width-(e.right||0),3,vn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;bn(t,e-a/2,r-i/2,a,i,n),bn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,gn)}function mn(t,e,r,n){bn(t,0,e+r/2,t.transform.width,r,n)}function xn(t,e,r,n){bn(t,e-r/2,0,r,t.transform.height,n)}function bn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function _n(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,u=Et.disabled,c=e.colorModeForRenderPass(),f="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Ct.disabled,zr(o,t.Color.red),f,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,u,Lt.alphaBlended,Ct.disabled,zr(o,t.Color.transparent,g),f,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var wn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,u="map"===a,c="map"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(Lt.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Tn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Tn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=c[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},Tn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Tn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new kr(this.context,wr[t],e,$r[t],this._showOverdrawInspector)),this.cache[r]},Tn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},Tn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Tn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Tn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var kn=function(t,e){this.points=t,this.planes=e};kn.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new kn(a,o)};var An=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};An.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var Mn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Mn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Mn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Mn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Mn.prototype.clone=function(){return new Mn(this.top,this.bottom,this.left,this.right)},Mn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Sn=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Mn,this._posMatrixCache={},this._alignedPosMatrixCache={}},En={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};Sn.prototype.clone=function(){var t=new Sn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},En.minZoom.get=function(){return this._minZoom},En.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},En.maxZoom.get=function(){return this._maxZoom},En.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},En.minPitch.get=function(){return this._minPitch},En.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},En.maxPitch.get=function(){return this._maxPitch},En.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},En.renderWorldCopies.get=function(){return this._renderWorldCopies},En.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},En.worldSize.get=function(){return this.tileSize*this.scale},En.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},En.size.get=function(){return new t.Point(this.width,this.height)},En.bearing.get=function(){return-this.angle/Math.PI*180},En.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},En.pitch.get=function(){return this._pitch/Math.PI*180},En.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},En.fov.get=function(){return this._fov/Math.PI*180},En.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},En.zoom.get=function(){return this._zoom},En.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},En.center.get=function(){return this._center},En.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},En.padding.get=function(){return this._edgeInsets.toJSON()},En.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},En.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Sn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},Sn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},Sn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},Sn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new t.UnwrappedTileID(u,e));return r},Sn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=kn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(t){return{aabb:new An([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},c=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,y=v.y,m=v.fullyVisible;if(!m){var x=v.aabb.intersects(s);if(0===x)continue;m=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&v.zoom>=l)f.push({tileID:new t.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);c.push({aabb:v.aabb.quadrant(k),zoom:v.zoom+1,x:A,y:M,wrap:v.wrap,fullyVisible:m})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},Sn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},En.unmodified.get=function(){return this._unmodified},Sn.prototype.zoomScale=function(t){return Math.pow(2,t)},Sn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Sn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},Sn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},En.point.get=function(){return this.project(this.center)},Sn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},Sn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Sn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Sn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},Sn.prototype.coordinateLocation=function(t){return t.toLngLat()},Sn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,u,h)/this.worldSize)},Sn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},Sn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},Sn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},Sn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Sn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Sn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Sn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,m=u.x/2;y-ml&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},Sn.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,y=l-Math.round(l)+d*p+v*h,m=new Float64Array(f);if(t.translate(m,m,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=m,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Sn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Sn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},Sn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},Ln.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var Cn={linearity:.3,easing:t.bezier(0,0,.3,1)},Pn=t.extend({deceleration:2500,maxSpeed:1400},Cn),On=t.extend({deceleration:20,maxSpeed:1400},Cn),In=t.extend({deceleration:1e3,maxSpeed:360},Cn),Dn=t.extend({deceleration:1e3,maxSpeed:90},Cn),zn=function(t){this._map=t,this.clear()};function Rn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},zn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.dblclick=function(t){return this._firePreventable(new Bn(t.type,this._map,t))},Un.prototype.mouseover=function(t){this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.mouseout=function(t){this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.touchstart=function(t){return this._firePreventable(new Nn(t.type,this._map,t))},Un.prototype.touchmove=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype.touchend=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype.touchcancel=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Un.prototype.isEnabled=function(){return!0},Un.prototype.isActive=function(){return!1},Un.prototype.enable=function(){},Un.prototype.disable=function(){};var Vn=function(t){this._map=t};Vn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Vn.prototype.mousemove=function(t){this._map.fire(new Bn(t.type,this._map,t))},Vn.prototype.mousedown=function(){this._delayContextMenu=!0},Vn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Bn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Vn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Bn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Vn.prototype.isEnabled=function(){return!0},Vn.prototype.isActive=function(){return!1},Vn.prototype.enable=function(){},Vn.prototype.disable=function(){};var Hn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function qn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Gn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Zn=function(t){this.singleTap=new Gn(t),this.numTaps=t.numTaps,this.reset()};Zn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Zn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Zn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Zn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Yn=function(){this._zoomIn=new Zn({numTouches:1,numTaps:2}),this._zoomOut=new Zn({numTouches:2,numTaps:1}),this.reset()};Yn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Yn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Yn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Yn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Yn.prototype.touchcancel=function(){this.reset()},Yn.prototype.enable=function(){this._enabled=!0},Yn.prototype.disable=function(){this._enabled=!1,this.reset()},Yn.prototype.isEnabled=function(){return this._enabled},Yn.prototype.isActive=function(){return this._active};var Wn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Wn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Wn.prototype._correctButton=function(t,e){return!1},Wn.prototype._move=function(t,e){return{}},Wn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Wn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)0&&(this._active=!0);var i=qn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(sMath.abs(t.x)}var oi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ai(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ai(t)&&ai(e)&&a}},e}(Qn),si={panStep:100,bearingStep:15,pitchStep:10},li=function(){var t=si;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function ui(t){return t*(2-t)}li.prototype.reset=function(){this._active=!1},li.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:ui,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},li.prototype.enable=function(){this._enabled=!0},li.prototype.disable=function(){this._enabled=!1,this.reset()},li.prototype.isEnabled=function(){return this._enabled},li.prototype.isActive=function(){return this._active};var ci=4.000244140625,fi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};fi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},fi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},fi.prototype.isEnabled=function(){return!!this._enabled},fi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},fi.prototype.isZooming=function(){return!!this._zooming},fi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},fi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},fi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%ci==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},fi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},fi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},fi.prototype.renderFrame=function(){return this._onScrollFrame()},fi.prototype._onScrollFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>ci?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if("wheel"===this._type&&l&&u){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},fi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},fi.prototype.reset=function(){this._active=!1};var hi=function(t,e){this._clickZoom=t,this._tapZoom=e};hi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},hi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},hi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},hi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var pi=function(){this.reset()};pi.prototype.reset=function(){this._active=!1},pi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active};var di=function(){this._tap=new Zn({numTouches:1,numTaps:1}),this.reset()};di.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},di.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},di.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},di.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},di.prototype.touchcancel=function(){this.reset()},di.prototype.enable=function(){this._enabled=!0},di.prototype.disable=function(){this._enabled=!1,this.reset()},di.prototype.isEnabled=function(){return this._enabled},di.prototype.isActive=function(){return this._active};var vi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};vi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},vi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},vi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},vi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var gi=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};gi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},gi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},gi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},gi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var yi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};yi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},yi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},yi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},yi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},yi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},yi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var mi=function(t){return t.zoom||t.drag||t.pitch||t.rotate},xi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function bi(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var _i=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!1}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(c-o),v=t.Point.convert(e.offset),g=a.centerPoint.add(v),y=a.pointLocation(g),m=t.LngLat.convert(e.center||y);this._normalizeCenter(m);var x=a.project(y),b=a.project(m).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,c),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var P=E(0),O=function(t){return C(P)/C(P+_*t)},I=function(t){return w*((C(P)*(L(e=P+_*t)/C(e))-L(P))/S)/k;var e},D=(E(1)-P)/_;if(Math.abs(k)<1e-6||!isFinite(D)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var z=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*D,d=1/O(i);a.zoom=1===e?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(u,p,e),g=a.centerPoint.add(v));var y=1===e?m:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ti=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};Ti.prototype.getDefaultPosition=function(){return"bottom-right"},Ti.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Ti.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ti.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ti.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var ki=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};ki.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},ki.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},ki.prototype.getDefaultPosition=function(){return"bottom-left"},ki.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},ki.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},ki.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Ai=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ai.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Ai.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>Ci)throw new Error("maxPitch must be less than or equal to 60");var i=new Sn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Ai,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Mi,e.locale),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof Ei))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),this.handlers=new _i(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new Ln(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ti({customAttribution:e.customAttribution})),this.addControl(new ki,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r="top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()Ci)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Bn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Bn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Bn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ri.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ri.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ri.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ri.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ri.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ri.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ri.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ri.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ri.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ri.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)e.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&qi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Ui(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Ui({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Hi--,qi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Hi>1?(e={maximumAge:6e5,timeout:0},qi=!0):(e=this.options.positionOptions,qi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Zi={maxWidth:100,unit:"metric"},Yi=function(e){this.options=t.extend({},Zi,e),t.bindAll(["_onMove","setUnit"],this)};function Wi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?Xi(e,n,l/5280,t._getUIString("ScaleControl.Miles")):Xi(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Xi(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Xi(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):Xi(e,n,s,t._getUIString("ScaleControl.Meters"))}function Xi(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}Yi.prototype.getDefaultPosition=function(){return"bottom-left"},Yi.prototype._onMove=function(){Wi(this._map,this._container,this.options)},Yi.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Yi.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Yi.prototype.setUnit=function(t){this.options.unit=t,Wi(this._map,this._container,this.options)};var Ji=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};Ji.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Ji.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Ji.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},Ji.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},Ji.prototype._isFullscreen=function(){return this._fullscreen},Ji.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},Ji.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Ki={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},$i=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Ki),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Fi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=Qi(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-u?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var c=i.add(o[a]).round();r.setTransform(this._container,Bi[a]+" translate("+c.x+"px,"+c.y+"px)"),Ni(this._container,a,"popup")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function Qi(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return Qi(new t.Point(0,0))}var ta={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Oi,NavigationControl:zi,GeolocateControl:Gi,AttributionControl:Ti,ScaleControl:Yi,FullscreenControl:Ji,Popup:$i,Marker:Ui,Style:Ye,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return ta})),r}()},27084:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},16825:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(74311)},48956:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},74311:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&a(s,r))}catch(t){c.call(new h(r),t)}}}function c(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function f(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var m=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((m*x-m*g*g-x*v*v)/(m*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(t+f)/2,w=b*-s*v/i+(n+h)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((h-w)/s).toFixed(9));(T=t<_?e-T:T)<0&&(T=2*e+T),(k=f<_?e-k:k)<0&&(k=2*e+k),c&&T>k&&(T-=2*e),!c&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=f,S=h;k=T+r*(c&&k>T?1:-1);var E=a(f=_+i*Math.cos(k),h=w+s*Math.sin(k),i,s,l,0,c,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*i*L,P=4/3*s*L,O=[2*t-(t+C*Math.sin(T)),2*n-(n-P*Math.cos(T)),f+C*Math.sin(k),h-P*Math.cos(k),f,h];if(p)return O;E&&(O=O.concat(E));for(var I=0;I7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-o,b+=b-l),y=["C",x,b,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),y=i(p,d,f,h,y[1],y[2]);break;case"Q":f=y[1],h=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,u,c)}e=m,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},56131:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function i(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,a){for(var o,s,l=i(t),u=1;u0&&!i.call(t,0))for(var v=0;v0)for(var g=0;g=0&&"[object Function]"===e.call(t.callee)),n}},88641:function(t){"use strict";function e(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},18863:function(t,e,r){"use strict";var n=r(71299);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},95616:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},52142:function(t,e,r){var n,i=r(69444),a=r(29023),o=r(87263),s=r(11328),l=r(55968),u=r(10670),c=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?c=i():!1===t&&(c=!1),!1!==c&&c.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,c);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,c).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,c),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,c),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,c),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,c),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,c),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,c),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(n,t)},polygonToGeoJSON:function(t){return u.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},69444:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},29023:function(t){t.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},10670:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),p=e.pointsSame(s,c);if(h&&p)return n;var d=!h&&e.pointBetween(o,u,c),v=!p&&e.pointBetween(s,u,c);if(h)return v?l(n,s):l(t,c),n;d&&(p||(v?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var t=c(h,d);if(t)return t}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var y,m,x=g();if(x)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=v?v.seg.myFill.above:i,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(y=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:y,below:y}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],v=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},76767:function(t,e,r){"use strict";var n=r(14847).n8,i=r(14847).Ag;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,u=0;ue.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},2504:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},47342:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},31355:function(t,e,r){"use strict";var n=r(14847).mP;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},54261:function(t,e,r){"use strict";var n=r(14847).n8,i=r(14847).eG,a=r(14847).OF,o=r(71371),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(u.orientation=i),u}e+=r}}},6303:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=n("‰PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},38689:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},6881:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||c(t,e+8):"VP8L"===p&&d>=9?r=r||f(t,e+8):"VP8X"===p&&d>=10?r=r||h(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},91497:function(t,e,r){"use strict";t.exports={avif:r(24461),bmp:r(2504),gif:r(47342),ico:r(31355),jpeg:r(54261),png:r(6303),psd:r(38689),svg:r(6881),tiff:r(66278),webp:r(90784)}},33575:function(t,e,r){"use strict";var n=r(91497);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,u){var c=x[u];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},m,t)),a(c,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},y.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},y.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},y.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>y.precisionThreshold||e.scale[1]*e.viewport.height>y.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=y.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},y.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach((function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},y.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f=z}));(O=O.slice(0,R)).push(z)}for(var F=function(t){var e=k.slice(2*D,2*O[t]).concat(z?k.slice(2*z):[]),r=(d.hole||[]).map((function(e){return e-z+(O[t]-D)})),n=u(e,r);n=n.map((function(e){return e+D+(e+Dt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),v&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=c,c.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},c.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function u(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||$(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||$(t)||u(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=c[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=J.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ut).forEach((function(e){t+=ut[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;P.call(r);var a=L();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(O(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,z(i),E(a,3553),I(r,3553),R(),C(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=X[i.internalformat],n.type=K[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new D(3553);return ut[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,z(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,z(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;t.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,u){function f(t,e,r,n,i,a){var s,u=h.texInfo;for(P.call(u),s=0;6>s;++s)y[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(O(u,t),c(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],h),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(h,y[0]),h.mipmask=u.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,h.internalformat=y[0].internalformat,f.width=y[0].width,f.height=y[0].height,z(h),s=0;6>s;++s)E(y[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=X[h.internalformat],f.type=K[h.type],f.mag=rt[u.magFilter],f.min=nt[u.minFilter],f.wrapS=it[u.wrapS],f.wrapT=it[u.wrapT],s=0;6>s;++s)C(y[s]);return f}var h=new D(34067);ut[h.id]=h,a.cubeCount++;var y=Array(6);return f(e,r,n,i,s,u),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,z(h),d(a,34069+t,r,n,i),R(),g(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,z(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);I(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(u=0;ut;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function L(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type="type"in c?rt[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):"x"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(u).forEach(e),u={},Q(c).forEach(e),c={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var t=0;t>>e|t<<32-e}function I(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function D(t){return Array.prototype.slice.call(t)}function z(t){return D(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,D(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,c=0;cf;f++){var v;16>f?r[f]=e[f+c]:(h=f,p=I(p=O(p=r[f-2],17)^O(p,19)^p>>>10,r[f-7]),v=O(v=r[f-15],7)^O(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=O(h=o,6)^O(h,11)^O(h,25)),o&s^~o&l),Mt[f]),r[f]),p=I(u=O(u=d,2)^O(u,13)^O(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}t[0]=I(d,t[0]),t[1]=I(n,t[1]),t[2]=I(i,t[2]),t[3]=I(a,t[3]),t[4]=I(o,t[4]),t[5]=I(s,t[5]),t[6]=I(l,t[6]),t[7]=I(u,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||$(t)||u(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",a,".createStream(",34962,",",i,".buffer);","}else{",c,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",c,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=u[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,v,g,s],");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(c+".drawElements("+[d,g,y,v+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(c+".drawArrays("+[d,v,g]+");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,u=t.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",f,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+u.vao,".currentVAO.elements);",et?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),v=i("offset"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",m=h.elements&&j(h.elements)&&!h.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function H(t,e,r,n,i){return i=(e=_()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function q(t,e,r,n){P(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),I(t,e,r,n.attributes,(function(){return!0}))),D(t,e,r,n.uniforms,(function(){return!0}),!1),z(t,e,e,r)}function Z(t,e,r,n){function i(){return!0}t.batchId="a1",P(t,e),I(t,e,r,n.attributes,i),D(t,e,r,n.uniforms,i,!1),z(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}P(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();e(u.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",c,"}",u.exit),r.needsContext&&S(t,c,r.context),r.needsFramebuffer&&E(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&O(t,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):u(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(u(t.shared.vao,".setVAO(null);"),I(t,u,r,n.attributes,a),I(t,c,r,n.attributes,i)),D(t,u,r,n.uniforms,a,!1),D(t,c,r,n.uniforms,i,!0),z(t,u,c,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,c),l=c.def(n,".id"),u=c.def(e,"[",l,"]"),c(t.shared.gl,".useProgram(",n,".program);","if(!",u,"){",u,"=",e,"[",l,"]=",t.link((function(e){return H(Z,t,r,e,2)})),"(",n,");}",u,".call(this,a0[",s,"],",s,");"))}function X(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);m(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),O(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new K).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach((function(e){t+=c[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(c=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height||(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height)),o},o._reglType="renderbuffer",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){Q(c).forEach(o)},restore:function(){Q(c).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Lt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Ct={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Pt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Ot={cw:2304,ccw:2305},It=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===J.length)T&&T.update(),et=null;else{et=W.next(e),f();for(var t=J.length-1;0<=t;--t){var r=J[t];r&&r(O,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0=J.length&&n()}}}}function c(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,O.viewportWidth=O.framebufferWidth=O.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,O.viewportHeight=O.framebufferHeight=O.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function f(){O.tick+=1,O.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),T&&T.update()}function p(){return(X()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var m=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:Y.define.bind(null,1),context:Y.define.bind(null,2),this:Y.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return z.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:u,on:function(t,e){var r;switch(t){case"frame":return u(e);case"lost":r=$;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,a.length)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var u=("number"!=typeof l&&(l=0),l+".".length>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(u," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e},37865:function(t,e,r){"use strict";var n=r(90386),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=c;var a=r(40410),o=r(37493);r(42018)(c,a);for(var s=i(o.prototype),l=0;l0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new _):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):O(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,O(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function C(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(P,t))}function P(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function O(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):C(this),null;if(0===(t=L(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new b("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?v:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",h),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",v),r.removeListener("data",f),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",u);var c=!1;function f(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){a("onerror",e),v(),t.removeListener("error",h),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),v()}function d(){a("onfinish"),t.removeListener("close",p),v()}function v(){a("unpipe"),r.unpipe(t)}return r.on("data",f),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events.error?Array.isArray(t._events.error)?t._events.error.unshift(r):t._events.error=[r,t._events.error]:t.on(e,r)}(t,"error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?C(this):n.reading||i.nextTick(z,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(D,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(D,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,P(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}},68221:function(t,e,r){"use strict";var n,i=r(90386);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(12726),s=Symbol("lastResolve"),l=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),h=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function v(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[f]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(v,t)}var y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(d(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(m,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,u,{value:null,writable:!0}),a(e,c,{value:t._readableState.endEmitted,writable:!0}),a(e,h,{value:function(t,e){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[f]=null,r[s]=null,r[l]=null,e(t)),void(r[u]=t)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),t.on("readable",g.bind(null,r)),r}},31125:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){n||(n=t),t&&o.forEach(u),a||(o.forEach(u),i(n))}))}));return e.reduce(c)}},56306:function(t,e,r){"use strict";var n=r(74322).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},71405:function(t,e,r){t.exports=r(15398).EventEmitter},68019:function(t,e,r){"use strict";var n=r(71665).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.s=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},90715:function(t,e,r){var n=r(32791),i=r(41633)("stream-parser");function a(t){i("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=-1,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function o(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||a(this),i("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=0}function s(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||a(this),i("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=1}function l(t,e){n(!this._parserCallback,'There is already a "callback" set!'),n(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||a(this),i("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=2}function u(t,e,r){this._parserInit||a(this),i("write(%o bytes)",t.length),"function"==typeof e&&(r=e),h(this,t,null,r)}function c(t,e,r){this._parserInit||a(this),i("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),h(this,t,e,r)}function f(t,e,r,n){if(t._parserBytesLeft-=e.length,i("%o bytes left for stream piece",t._parserBytesLeft),0===t._parserState?(t._parserBuffers.push(e),t._parserBuffered+=e.length):2===t._parserState&&r(e),0!==t._parserBytesLeft)return n;var a=t._parserCallback;if(a&&0===t._parserState&&t._parserBuffers.length>1&&(e=Buffer.concat(t._parserBuffers,t._parserBuffered)),0!==t._parserState&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=-1,t._parserBuffers.splice(0),a){var o=[];e&&o.push(e),r&&o.push(r);var s=a.length>o.length;s&&o.push(p(n));var l=a.apply(t,o);if(!s||n===l)return n}}t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");i("extending Parser into stream"),t._bytes=o,t._skipBytes=s,e&&(t._passthrough=l),e?t._transform=c:t._write=u};var h=p((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return f(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return f(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function p(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},41633:function(t,e,r){var n=r(90386);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(74469)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},74469:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},99011:function(t,e,r){"use strict";var n=r(88641);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=u[u.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[v])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],m=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),m+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(m);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,u=t.rx,c=t.ry,f=t.xAxisRotation,h=void 0===f?0:f,p=t.largeArcFlag,d=void 0===p?0:p,v=t.sweepFlag,g=void 0===v?0:v,y=[];if(0===u||0===c)return[];var m=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(e-s)/2+m*(r-l)/2,_=-m*(e-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),y=Math.pow(p,2),m=d*v-d*y-v*g;m<0&&(m=0),m/=d*y+v*g;var x=(m=Math.sqrt(m)*(l===u?-1:1))*a/s*p,b=m*-s/a*h,_=f*x-c*b+(t+r)/2,w=c*x+f*b+(e+i)/2,T=(h-x)/a,k=(p-b)/s,A=(-h-x)/a,M=(-p-b)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(e,r,s,l,u,c,d,g,m,x,b,_),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],L=Math.abs(E)/(n/4);Math.abs(1-L)<1e-7&&(L=1);var C=Math.max(Math.ceil(L),1);E/=C;for(var P=0;Pe[2]&&(e[2]=u[c+0]),u[c+1]>e[3]&&(e[3]=u[c+1]);return e}},29988:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(7095);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},82019:function(t,e,r){"use strict";var n,i=r(1750),a=r(95616),o=r(31457),s=r(89546),l=r(44781),u=document.createElement("canvas"),c=u.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,f;e||(e={}),e.shape?(r=e.shape[0],f=e.shape[1]):(r=u.width=e.w||e.width||200,f=u.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle="black",c.fillRect(0,0,r,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);c.fill(y),p&&c.stroke(y)}else{var m=a(t);o(c,m),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},84267:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(t,e){if(e=e||{},(t=t||"")instanceof h)return t;if(!(this instanceof h))return new h(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(C[t])t=C[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=H.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=H.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=H.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=H.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=H.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=H.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=H.hex8.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=H.hex6.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),format:r?"name":"hex"}:(e=H.hex4.exec(t))?{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=H.hex3.exec(t))&&{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(q(t.r)&&q(t.g)&&q(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*I(e,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v="%"===String(t.r).substr(-1)?"prgb":"rgb"):q(t.h)&&q(t.s)&&q(t.v)?(f=F(t.s),h=F(t.v),s=function(t,e,r){t=6*I(t,360),e=I(e,100),r=I(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(t.h,f,h),d=!0,v="hsv"):q(t.h)&&q(t.s)&&q(t.l)&&(f=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=I(t,360),e=I(e,100),r=I(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,f,p),d=!0,v="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=O(l),{ok:d,format:t.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(h(n));return a}function L(t,e){e=e||6;for(var r=h(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=O(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return v(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+"%",g:l(100*I(this._g,255))+"%",b:l(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%)":"rgba("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(P[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=h(t);r="#"+g(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return h(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},h.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return h(t,e)},h.equals=function(t,e){return!(!t||!e)&&h(t).toRgbString()==h(e).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(t,e,r){r=0===r?0:r||50;var n=h(t).toRgb(),i=h(e).toRgb(),a=r/100;return h({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},h.readability=function(t,e){var r=h(t),n=h(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(t,e,r){var n,i,a,o,s,l=h.readability(t,e);switch(i=!1,(a=r,"AA"!==(o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==o&&(o="AA"),"small"!==(s=(a.size||"small").toLowerCase())&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},h.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=h(e[u]));return h.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(t,["#fff","#000"],r))};var C=h.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},P=h.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(C);function O(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function I(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=u(e,c(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function D(t){return u(1,c(0,t))}function z(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return z(t)/255}var j,U,V,H=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function q(t){return!!H.CSS_UNIT.exec(t)}t.exports?t.exports=h:void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n)}(Math)},57060:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},47403:function(t,e,r){"use strict";var n=r(24582),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},82527:function(t,e,r){"use strict";var n=r(69190),i=r(84985);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},84985:function(t,e,r){"use strict";var n=r(73116),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},24511:function(t,e,r){"use strict";var n=r(47403);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},9234:function(t,e,r){"use strict";var n=r(24582),i=r(47403),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},10424:function(t,e,r){"use strict";var n=r(69190),i=r(24582);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},24582:function(t){"use strict";t.exports=function(t){return null!=t}},58404:function(t,e,r){"use strict";var n=r(13547),i=r(12129),a=r(12856).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},90448:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},93447:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,t,n.depth)}function c(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=h(t,i,n)),i}var a=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return m(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(_(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var u,c="",f=!1,w=["{","}"];return v(r)&&(f=!0,w=["[","]"]),A(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),_(r)&&(c=" "+RegExp.prototype.toString.call(r)),T(r)&&(c=" "+Date.prototype.toUTCString.call(r)),k(r)&&(c=" "+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(u,c,w)):w[0]+c+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),C(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?h(t,l.value,null):h(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function m(t){return"number"==typeof t}function x(t){return"string"==typeof t}function b(t){return void 0===t}function _(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(4936),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=_,e.types.isRegExp=_,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(45920);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(){var t=new Date,e=[S(t.getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],e].join(" ")}function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",L(),e.format.apply(e,arguments))},e.inherits=r(42018),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var P="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function O(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(P&&t[P]){var e;if("function"!=typeof(e=t[P]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,P,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},37715:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},99384:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},43805:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},88874:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},83290:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},29108:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},55422:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},31320:function(t,e,r){var n=r(63489),i=r(56131),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},51367:function(t,e,r){var n=r(63489),i=r(56131),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},21457:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},63489:function(t,e,r){var n=r(56131);function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=t.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},94338:function(t,e,r){var n=r(56131),i=r(63489);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,h=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n1}),p=function(t,e,r,n){var i=""+e;if(h(t,n))for(;i.length1},x=function(t,r){var n=m(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){m("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=m(t,a)?n:r,s=0;s-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},69862:function(){},40964:function(){},72077:function(t,e,r){"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new M(e[1],e[2],e[3],1):(e=p.exec(t))?new M(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=v.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?O(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?O(e[1],e[2]/100,e[3]/100,e[4]):m.hasOwnProperty(t)?w(m[t]):"transparent"===t?new M(NaN,NaN,NaN,0):null}function w(t){return new M(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new M(t,e,r,n)}function k(t){return t instanceof a||(t=_(t)),t?new M((t=t.rgb()).r,t.g,t.b,t.opacity):new M}function A(t,e,r,n){return 1===arguments.length?k(t):new M(t,e,r,null==n?1:n)}function M(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function S(){return"#".concat(P(this.r)).concat(P(this.g)).concat(P(this.b))}function E(){var t=L(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(C(this.r),", ").concat(C(this.g),", ").concat(C(this.b)).concat(1===t?")":", ".concat(t,")"))}function L(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function C(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function P(t){return((t=C(t))<16?"0":"")+t.toString(16)}function O(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new D(t,e,r,n)}function I(t){if(t instanceof D)return new D(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=_(t)),!t)return new D;if(t instanceof D)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&u<1?0:s,new D(s,l,u,t.opacity)}function D(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function z(t){return(t=(t||0)%360)<0?t+360:t}function R(t){return Math.max(0,Math.min(1,t||0))}function F(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function B(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}n(a,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return I(this).formatHsl()},formatRgb:b,toString:b}),n(M,A,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new M(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new M(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new M(C(this.r),C(this.g),C(this.b),L(this.opacity))},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:S,formatHex:S,formatHex8:function(){return"#".concat(P(this.r)).concat(P(this.g)).concat(P(this.b)).concat(P(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:E,toString:E})),n(D,(function(t,e,r,n){return 1===arguments.length?I(t):new D(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new D(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new D(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new M(F(t>=240?t-240:t+120,i,n),F(t,i,n),F(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new D(z(this.h),R(this.s),R(this.l),L(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=L(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(z(this.h),", ").concat(100*R(this.s),"%, ").concat(100*R(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var N=function(t){return function(){return t}};function j(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):N(isNaN(t)?e:t)}var U=function t(e){var r=function(t){return 1==(t=+t)?j:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):N(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=A(t)).r,(e=A(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=j(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function V(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:G(r,n)})),a=X.lastIndex;return a=`\n", + " - 12 Sonderzeichen ``` #$%&'\\^_|~`@ ``` \n", + "\n", + "- ASCII ist heute noch der \"kleinste gemeinsame Nenner\" im Codierungs-Chaos.\n", + "- Die ersten 128 Unicode-Zeichen sind identisch mit ASCII.\n", + "\n", + "### ISO 8859-Zeichensätze\n", + "\n", + "- ASCII nutzt nur 7 Bits. \n", + "- In einem Byte kann man durch Setzen des 8. Bits weitere 128 Zeichen unterbringen. \n", + "- 1987/88 wurden im ISO 8859-Standard verschiedene 1-Byte-Codierungen festgelegt, die alle ASCII-kompatibel sind, darunter:\n", + "\n", + ":::{.narrow}\n", + " |Codierung | Region | Sprachen|\n", + " |:-----------|:----------|:-------|\n", + " |ISO 8859-1 (Latin-1) | Westeuropa | Deutsch, Französisch,...,Isländisch\n", + " |ISO 8859-2 (Latin-2) | Osteuropa | slawische Sprachen mit lateinischer Schrift\n", + " |ISO 8859-3 (Latin-3) | Südeuropa | Türkisch, Maltesisch,...\n", + " |ISO 8859-4 (Latin-4) | Nordeuropa | Estnisch, Lettisch, Litauisch, Grönländisch, Sami\n", + " |ISO 8859-5 (Latin/Cyrillic) | Osteuropa | slawische Sprachen mit kyrillischer Schrift\n", + " |ISO 8859-6 (Latin/Arabic) | |\n", + " |ISO 8859-7 (Latin/Greek) | |\n", + " |...| | \n", + " |ISO 8859-15 (Latin-9)| | 1999: Revision von Latin-1: jetzt mit Euro-Zeichen! \n", + " \n", + ":::\n", + " \n", + "## Unicode \n", + "\n", + "Das Ziel des Unicode-Consortiums ist eine einheitliche Codierung für alle Schriften der Welt.\n", + "\n", + "- Unicode Version 1 erschien 1991\n", + "- Unicode Version 15 erschien 2021 mit 149 186 Zeichen (das sind 4489 mehr als Unicode 14), darunter: \n", + " - 161 Schriften \n", + " - mathematische und technische Symbole\n", + " - Emojis und andere Symbole, Steuer- und Formatierungszeichen\n", + "- davon entfallen über 90 000 Zeichen auf die CJK-Schriften (Chinesisch/Japanisch/Koreanisch) \n", + " \n", + " \n", + "### technische Details\n", + "\n", + "- Jedem Zeichen wird ein `codepoint` zugeordnet. Das ist einfach eine fortlaufende Nummer.\n", + "- Diese Nummer wird hexadezimal notiert\n", + " - entweder 4-stellig als `U+XXXX` (0-te Ebene) \n", + " - oder 5...6-stellig als `U+XXXXXX` (weitere Ebenen)\n", + "- Jede Ebene geht von `U+XY0000` bis `U+XYFFFF`, kann also $2^{16}=65\\;534$ Zeichen enthalten. \n", + "- Vorgesehen sind bisher 17 Ebenen `XY=00` bis `XY=10`, also der Wertebereich von `U+0000` bis `U+10FFFF`.\n", + "- Damit sind maximal 21 Bits pro Zeichen nötig.\n", + "- Die Gesamtzahl der damit möglichen Codepoints ist etwas kleiner als 0x10FFFF, da aus technischen Gründen gewisse Bereiche nicht verwendet werden. Sie beträgt etwa 1.1 Millionen, es ist also noch viel Platz. \n", + "- Bisher wurden nur Codepoints aus den Ebenen \n", + " - Ebene 0 = BMP _Basic Multilingual Plane_ `U+0000 - U+FFFF`,\n", + " - Ebene 1 = SMP _Supplementary Multilingual Plane_ `U+010000 - U+01FFFF`,\n", + " - Ebene 2 = SIP _Supplementary Ideographic Plane_ `U+020000 - U+02FFFF`, \n", + " - Ebene 3 = TIP _Tertiary Ideographic Plane_ `U+030000 - U+03FFFF` und\n", + " - Ebene 14 = SSP _Supplementary Special-purpose Plane_ `U+0E0000 - U+0EFFFF` vergeben.\n", + "- `U+0000` bis `U+007F` ist identisch mit ASCII\n", + "- `U+0000` bis `U+00FF` ist identisch mit ISO 8859-1 (Latin-1)\n", + "\n", + "### Eigenschaften von Unicode-Zeichen\n", + "\n", + "Im Standard wird jedes Zeichen beschrieben duch\n", + "\n", + " - seinen Codepoint (Nummer) \n", + " - einen Namen (welcher nur aus ASCII-Großbuchstaben, Ziffern und Minuszeichen besteht) und \n", + " - verschiedene Attributen wie\n", + " - Laufrichtung der Schrift \n", + " - Kategorie: Großbuchstabe, Kleinbuchstabe, modifizierender Buchstabe, Ziffer, Satzzeichen, Symbol, Seperator,....\n", + "\n", + "Im Unicode-Standard sieht das dann so aus: (zur Vereinfachung nur Codepoint und Name)\n", + "```\n", + "...\n", + "U+0041 LATIN CAPITAL LETTER A\n", + "U+0042 LATIN CAPITAL LETTER B\n", + "U+0043 LATIN CAPITAL LETTER C\n", + "U+0044 LATIN CAPITAL LETTER D\n", + "...\n", + "U+00E9 LATIN SMALL LETTER E WITH ACUTE\n", + "U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX\n", + "...\n", + "U+0641 ARABIC LETTER FEH\n", + "U+0642 ARABIC LETTER QAF\n", + "...\n", + "U+21B4 RIGHTWARDS ARROW WITH CORNER DOWNWARDS\n", + "...\n", + "```\n", + "\n", + "Wie sieht 'RIGHTWARDS ARROW WITH CORNER DOWNWARDS' aus?\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8eaf4a41", + "metadata": {}, + "outputs": [], + "source": [ + "'\\U21b4'" + ] + }, + { + "cell_type": "markdown", + "id": "1c1f742a", + "metadata": {}, + "source": [ + "### Eine Auswahl an Schriften \n", + "\n", + "::: {.content-visible when-format=\"html\"}\n", + "\n", + ":::{.callout-note}\n", + "Falls im Folgenden einzelne Zeichen oder Schriften in Ihrem Browser nicht darstellbar sind, müssen Sie geeignete \n", + "Fonts auf Ihrem Rechner installieren. \n", + "\n", + "Alternativ können Sie die PDF-Version dieser Seite verwenden. Dort sind alle Fonts eingebunden.\n", + ":::\n", + "\n", + ":::\n", + "\n", + "Eine kleine Hilfsfunktion:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "823bfab7", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "printuc(c, n):\n", + "print n characters from unicode table, starting with character c \n", + "\"\"\"\n", + "function printuc(c, n)\n", + " for i in 0:n-1\n", + " print(c + i)\n", + " end\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "50893728", + "metadata": {}, + "source": [ + "__Kyrillisch__\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8caca4e0", + "metadata": {}, + "outputs": [], + "source": [ + "printuc('\\U0400', 100)" + ] + }, + { + "cell_type": "markdown", + "id": "4400710f", + "metadata": {}, + "source": [ + "__Tamilisch__\n", + "\n", + ":::{.cellmerge}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85bb89e4", + "metadata": {}, + "outputs": [], + "source": [ + "#| echo: true\n", + "#| output: false\n", + "printuc('\\U0be7',20)" + ] + }, + { + "cell_type": "markdown", + "id": "3904378b", + "metadata": {}, + "source": [ + "\\begingroup\\setmonofont{Noto Sans Tamil}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "13461be4", + "metadata": {}, + "outputs": [], + "source": [ + "#| echo: false\n", + "#| output: true\n", + "printuc('\\U0be7',20)" + ] + }, + { + "cell_type": "markdown", + "id": "e8ed18a7", + "metadata": {}, + "source": [ + "\\endgroup\n", + "\n", + ":::\n", + "\n", + "__Schach__\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f6b4cee", + "metadata": {}, + "outputs": [], + "source": [ + "printuc('\\U2654', 12)" + ] + }, + { + "cell_type": "markdown", + "id": "f9ca81ef", + "metadata": {}, + "source": [ + "__Mathematische Operatoren__\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60c00c29", + "metadata": {}, + "outputs": [], + "source": [ + "printuc('\\U2200', 255)" + ] + }, + { + "cell_type": "markdown", + "id": "1e023c33", + "metadata": {}, + "source": [ + "__Runen__\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "361517d3", + "metadata": {}, + "outputs": [], + "source": [ + "printuc('\\U16a0', 40)" + ] + }, + { + "cell_type": "markdown", + "id": "067f18ed", + "metadata": {}, + "source": [ + ":::{.cellmerge}\n", + "\n", + "__Scheibe (Diskus) von Phaistos__\n", + "\n", + "- Diese Schrift ist nicht entziffert. \n", + "- Es ist unklar, welche Sprache dargestellt wird.\n", + "- Es gibt nur ein einziges Dokument in dieser Schrift: die Tonscheibe von Phaistos aus der Bronzezeit \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ac8d6c5", + "metadata": {}, + "outputs": [], + "source": [ + "#| echo: true\n", + "#| output: false\n", + "printuc('\\U101D0', 46 )" + ] + }, + { + "cell_type": "markdown", + "id": "ab85dc8a", + "metadata": {}, + "source": [ + "\\begingroup\\setmonofont{Phaistos.otf}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "599a342d", + "metadata": {}, + "outputs": [], + "source": [ + "#| echo: false\n", + "#| output: true\n", + "printuc('\\U101D0', 46 )" + ] + }, + { + "cell_type": "markdown", + "id": "c5ccd262", + "metadata": {}, + "source": [ + "\\endgroup\n", + "\n", + ":::\n", + "\n", + "### Unicode transformation formats: UTF-8, UTF-16, UTF-32\n", + "\n", + "_Unicode transformation formats_ legen fest, wie eine Folge von Codepoints als eine Folge von Bytes dargestellt wird. \n", + "\n", + "Da die Codepoints unterschiedlich lang sind, kann man sie nicht einfach hintereinander schreiben. Wo hört einer auf und fängt der nächste an? \n", + "\n", + "- __UTF-32__: Das einfachste, aber auch speicheraufwändigste, ist, sie alle auf gleiche Länge zu bringen. Jeder Codepoint wird in 4 Bytes = 32 Bit kodiert. \n", + "- Bei __UTF-16__ wird ein Codepoint entweder mit 2 Bytes oder mit 4 Bytes dargestellt. \n", + "- Bei __UTF-8__ wird ein Codepoint mit 1,2,3 oder 4 Bytes dargestellt. \n", + "- __UTF-8__ ist das Format mit der höchsten Verbreitung. Es wird auch von Julia verwendet. \n", + "\n", + "\n", + "### UTF-8\n", + "\n", + "- Für jeden Codepoint werden 1, 2, 3 oder 4 volle Bytes verwendet. \n", + "\n", + "- Bei einer Codierung mit variabler Länge muss man erkennen können, welche Bytefolgen zusammengehören:\n", + " - Ein Byte der Form 0xxxxxxx steht für einen ASCII-Codepoint der Länge 1.\n", + " - Ein Byte der Form 110xxxxx startet einen 2-Byte-Code.\n", + " - Ein Byte der Form 1110xxxx startet einen 3-Byte-Code.\n", + " - Ein Byte der Form 11110xxx startet einen 4-Byte-Code.\n", + " - Alle weiteren Bytes eines 2-,3- oder 4-Byte-Codes haben die Form 10xxxxxx. \n", + "\n", + "- Damit ist der Platz, der für den Codepoint zur Verfügung steht (Anzahl der x):\n", + " - Ein-Byte-Code: 7 Bits\n", + " - Zwei-Byte-Code: 5 + 6 = 11 Bits\n", + " - Drei-Byte-Code: 4 + 6 + 6 = 16 Bits\n", + " - Vier-Byte-Code: 3 + 6 + 6 + 6 = 21 Bits\n", + "\n", + "- Damit ist jeder ASCII-Text automatisch auch ein korrekt codierter UTF-8-Text.\n", + "\n", + "- Sollten die bisher für Unicode festgelegten 17 Ebenen = 21 Bit = 1.1 Mill. mögliche Zeichen mal erweitert werden, dann wird UTF-8 auf 5- und 6-Byte-Codes erweitert. \n", + " \n", + "\n", + "## Zeichen und Zeichenketten in Julia\n", + "\n", + "### Zeichen: `Char` \n", + "\n", + "Der Datentyp `Char` kodiert ein einzelnes Unicode-Zeichen. \n", + "\n", + "- Julia verwendet dafür einfachen Anführungszeichen: `'a'`. \n", + "- Ein `Char` belegt 4 Bytes Speicher und \n", + "- repräsentiert einen Unicode-Codepoint.\n", + "- `Char`s können von/zu `UInt`s umgewandelt werden und \n", + "- der Integer-Wert ist gleich dem Unicode-codepoint.\n", + "\n", + "\n", + "### Zeichenketten: `String`\n", + "\n", + "- Für Strings verwendet Julia doppelte Anführungszeichen: `\"a\"`.\n", + "- Sie sind UTF-8-codiert, d.h., ein Zeichen kann zwischen 1 und 4 Bytes lang sein.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8ea6e75", + "metadata": {}, + "outputs": [], + "source": [ + "@show typeof('a') sizeof('a') typeof(\"a\") sizeof(\"a\");" + ] + }, + { + "cell_type": "markdown", + "id": "ab924ce4", + "metadata": {}, + "source": [ + "- `Char`s können von/zu `UInt`s umgewandelt werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dac49645", + "metadata": {}, + "outputs": [], + "source": [ + "UInt('a')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "98bd57af", + "metadata": {}, + "outputs": [], + "source": [ + "b = Char(0x2656)" + ] + }, + { + "cell_type": "markdown", + "id": "74470851", + "metadata": {}, + "source": [ + "__Bei einem Nicht-ASCII-String unterscheiden sich Anzahl der Bytes und Anzahl der Zeichen:__\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0edfc402", + "metadata": {}, + "outputs": [], + "source": [ + "asciistr = \"Hello World!\"\n", + "@show length(asciistr) ncodeunits(asciistr);" + ] + }, + { + "cell_type": "markdown", + "id": "2c2ce448", + "metadata": {}, + "source": [ + "(Das Leerzeichen zählt natürlich auch.)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c171aa8d", + "metadata": {}, + "outputs": [], + "source": [ + "str = \"😄 Hellö 🎶\"\n", + "@show length(str) ncodeunits(str);" + ] + }, + { + "cell_type": "markdown", + "id": "e0467145", + "metadata": {}, + "source": [ + "__Iteration über einen String iteriert über die Zeichen:__\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "802e421f", + "metadata": {}, + "outputs": [], + "source": [ + "for i in str\n", + " println(i, \" \", typeof(i))\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "b434c61b", + "metadata": {}, + "source": [ + "### Verkettung von Strings\n", + "\n", + "\"Strings mit Verkettung bilden ein nichtkommutatives Monoid.\"\n", + "\n", + "Deshalb wird in Julia die Verkettung multiplikativ geschrieben.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dba97090", + "metadata": {}, + "outputs": [], + "source": [ + " str * asciistr * str" + ] + }, + { + "cell_type": "markdown", + "id": "c2f3a520", + "metadata": {}, + "source": [ + "Damit sind auch Potenzen mit natürlichem Exponenten definiert.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8804720", + "metadata": {}, + "outputs": [], + "source": [ + "str^3, str^0" + ] + }, + { + "cell_type": "markdown", + "id": "ffd0fd4c", + "metadata": {}, + "source": [ + "### Stringinterpolation\n", + "\n", + "Das Dollarzeichen hat in Strings eine Sonderfunktion, die wir schon oft in \n", + "`print()`-Anweisungen genutzt haben. MAn kann damit eine Variable oder einen Ausdruck interpolieren:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b8248a55", + "metadata": {}, + "outputs": [], + "source": [ + "a = 33.4\n", + "b = \"x\"\n", + "\n", + "s = \"Das Ergebnis für $b ist gleich $a und die verdoppelte Wurzel daraus ist $(2sqrt(a))\\n\"" + ] + }, + { + "cell_type": "markdown", + "id": "b2039521", + "metadata": {}, + "source": [ + "### Backslash escape sequences \n", + "\n", + "Der _backslash_ `\\` hat in Stringkonstanten ebenfalls eine Sonderfunktion. \n", + "Julia benutzt die von C und anderen Sprachen bekannten _backslash_-Codierungen für Sonderzeichen und für Dollarzeichen und Backslash selbst:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f896516b", + "metadata": {}, + "outputs": [], + "source": [ + "s = \"So bekommt man \\'Anführungszeichen\\\" und ein \\$-Zeichen und einen\\nZeilenumbruch und ein \\\\ usw... \"\n", + "print(s)" + ] + }, + { + "cell_type": "markdown", + "id": "6258cdb2", + "metadata": {}, + "source": [ + "### Triple-Quotes\n", + "\n", + "Man kann Strings auch mit Triple-Quotes begrenzen. \n", + "In dieser Form bleiben Zeilenumbrüche und Anführungszeichen erhalten:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e7913161", + "metadata": {}, + "outputs": [], + "source": [ + "s = \"\"\"\n", + " Das soll\n", + "ein \"längerer\" \n", + " 'Text' sein.\n", + "\"\"\"\n", + "\n", + "print(s)" + ] + }, + { + "cell_type": "markdown", + "id": "15de1886", + "metadata": {}, + "source": [ + "### Raw strings\n", + "\n", + "In einem `raw string` sind alle backslash-Codierungen außer `\\\"` abgeschaltet:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a040859a", + "metadata": {}, + "outputs": [], + "source": [ + "s = raw\"Ein $ und ein \\ und zwei \\\\ und ein 'bla'...\"\n", + "print(s)" + ] + }, + { + "cell_type": "markdown", + "id": "6e24746e", + "metadata": {}, + "source": [ + "## Weitere Funktionen für Zeichen und Strings (Auswahl)\n", + "\n", + "### Tests für Zeichen\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f79e914f", + "metadata": {}, + "outputs": [], + "source": [ + "@show isdigit('0') isletter('Ψ') isascii('\\U2655') islowercase('α') \n", + "@show isnumeric('½') iscntrl('\\n') ispunct(';');" + ] + }, + { + "cell_type": "markdown", + "id": "d39076f7", + "metadata": {}, + "source": [ + "### Anwendung auf Strings\n", + "\n", + "Diese Tests lassen sich z.B. mit `all()`, `any()` oder `count()` auf Strings anwenden:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b6055040", + "metadata": {}, + "outputs": [], + "source": [ + "all(ispunct, \";.:\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29fd91ef", + "metadata": {}, + "outputs": [], + "source": [ + "any(isdigit, \"Es ist 3 Uhr! 🕒\" )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "73a589b9", + "metadata": {}, + "outputs": [], + "source": [ + "count(islowercase, \"Hello, du!!\")" + ] + }, + { + "cell_type": "markdown", + "id": "5bdff431", + "metadata": {}, + "source": [ + "### Weitere String-Funktionen\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a24b1569", + "metadata": {}, + "outputs": [], + "source": [ + "@show startswith(\"Lampenschirm\", \"Lamp\") occursin(\"pensch\", \"Lampenschirm\") \n", + "@show endswith(\"Lampenschirm\", \"irm\"); " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89003024", + "metadata": {}, + "outputs": [], + "source": [ + "@show uppercase(\"Eis\") lowercase(\"Eis\") titlecase(\"eiSen\");" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "01910748", + "metadata": {}, + "outputs": [], + "source": [ + "# remove newline from end of string\n", + "\n", + "@show chomp(\"Eis\\n\") chomp(\"Eis\");" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d618c466", + "metadata": {}, + "outputs": [], + "source": [ + "split(\"π ist irrational.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da05d6b9", + "metadata": {}, + "outputs": [], + "source": [ + "replace(\"π ist irrational.\", \"ist\" => \"ist angeblich\")" + ] + }, + { + "cell_type": "markdown", + "id": "4e198e74", + "metadata": {}, + "source": [ + "## Indizierung von Strings\n", + "\n", + "Strings sind nicht mutierbar aber indizierbar. Dabei gibt es ein paar Besonderheiten.\n", + "\n", + "- Der Index nummeriert die Bytes des Strings. \n", + "- Bei einem nicht-ASCII-String sind nicht alle Indizes gültig, denn\n", + "- ein gültiger Index adressiert immer ein Unicode-Zeichen.\n", + "\n", + "Unser Beispielstring:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4686b303", + "metadata": {}, + "outputs": [], + "source": [ + "str" + ] + }, + { + "cell_type": "markdown", + "id": "6c1a2fe1", + "metadata": {}, + "source": [ + "Das erste Zeichen\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eb0e9898", + "metadata": {}, + "outputs": [], + "source": [ + "str[1]" + ] + }, + { + "cell_type": "markdown", + "id": "50049fee", + "metadata": {}, + "source": [ + "Dieses Zeichen ist in UTF8-Kodierung 4 Bytes lang. Damit sind 2,3 und 4 ungültige Indizes. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a6a3005a", + "metadata": {}, + "outputs": [], + "source": [ + "str[2]" + ] + }, + { + "cell_type": "markdown", + "id": "5c428767", + "metadata": {}, + "source": [ + "Erst das 5. Byte ist ein neues Zeichen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29febb49", + "metadata": {}, + "outputs": [], + "source": [ + "str[5]" + ] + }, + { + "cell_type": "markdown", + "id": "0daa1973", + "metadata": {}, + "source": [ + "Auch bei der Adressierung von Substrings müssen Anfang und Ende jeweils gültige Indizes sein, d.h., der Endindex muss ebenfalls das erste Byte eines Zeichens indizieren und dieses Zeichen ist das letzte des Teilstrings. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dbbc0c47", + "metadata": {}, + "outputs": [], + "source": [ + "str[1:7]" + ] + }, + { + "cell_type": "markdown", + "id": "b7fd7042", + "metadata": {}, + "source": [ + "Die Funktion `eachindex()` liefert einen Iterator über die gültigen Indizes:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e2b8427", + "metadata": {}, + "outputs": [], + "source": [ + "for i in eachindex(str)\n", + " c = str[i]\n", + " println(\"$i: $c\")\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "f651e9bf", + "metadata": {}, + "source": [ + "Wie üblich macht collect() aus einem Iterator einen Vektor.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a591c148", + "metadata": {}, + "outputs": [], + "source": [ + "collect(eachindex(str))" + ] + }, + { + "cell_type": "markdown", + "id": "a7f9cb60", + "metadata": {}, + "source": [ + "Die Funktion `nextind()` liefert den nächsten gültigen Index.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d568dd47", + "metadata": {}, + "outputs": [], + "source": [ + "@show nextind(str, 1) nextind(str, 2); " + ] + }, + { + "cell_type": "markdown", + "id": "91af5e34", + "metadata": {}, + "source": [ + "Warum verwendet Julia einen Byte-Index und keinen Zeichenindex? Der Hauptgrund dürfte die Effizienz der Indizierung sein.\n", + "\n", + "- In einem langen String, z.B. einem Buchtext, ist die Stelle `s[123455]` mit einem Byte-Index schnell zu finden. \n", + "- Ein Zeichen-Index müsste in der UTF-8-Codierung den ganzen String durchlaufen, um das n-te Zeichen zu finden, da die Zeichen 1,2,3 oder 4 Bytes lang sein können.\n", + "\n", + "\n", + "Einige Funktionen liefern Indizes oder Ranges als Resultat. Sie liefern immer gültige Indizes:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b62bbd82", + "metadata": {}, + "outputs": [], + "source": [ + "findfirst('l', str)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "93def2b5", + "metadata": {}, + "outputs": [], + "source": [ + "findfirst(\"Hel\", str)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e96565a7", + "metadata": {}, + "outputs": [], + "source": [ + "str2 = \"αβγδϵ\"^3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e251544c", + "metadata": {}, + "outputs": [], + "source": [ + "n = findfirst('γ', str2)" + ] + }, + { + "cell_type": "markdown", + "id": "be81789e", + "metadata": {}, + "source": [ + "So kann man ab dem nächsten nach `n=5` gültigen Index weitersuchen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ad89b2c9", + "metadata": {}, + "outputs": [], + "source": [ + "findnext('γ', str2, nextind(str2, n))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/5_TricksHelp.ipynb b/nb/5_TricksHelp.ipynb new file mode 100644 index 0000000..2a2e751 --- /dev/null +++ b/nb/5_TricksHelp.ipynb @@ -0,0 +1,562 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2ffe347c", + "metadata": {}, + "source": [ + "# Julia Dokumentation\n", + "\n", + "[https://docs.julialang.org/](https://docs.julialang.org/) die offizielle Dokumentation\n", + "\n", + "Einige Seiten mit Übersichten:\n", + "\n", + " - [https://docs.julialang.org/en/v1/base/punctuation/](https://docs.julialang.org/en/v1/base/punctuation/) Verzeichnis der Symbole\n", + " - [https://docs.julialang.org/en/v1/manual/unicode-input/](https://docs.julialang.org/en/v1/manual/unicode-input/) Verzeichnis spezieller Unicode-Symbole und deren Eingabe in Julia via Tab-Vervollständigung\n", + " - [https://docs.julialang.org/en/v1/manual/mathematical-operations/#Rounding-functions](https://docs.julialang.org/en/v1/manual/mathematical-operations/#Rounding-functions) Liste mathematischer Funktionen \n", + "\n", + "---------\n", + "\n", + "\n", + "\n", + "# Hilfe und praktische Tipps\n", + "\n", + "----\n", + "\n", + "\n", + "## Julia REPL (Read - Eval - Print - Loop)\n", + "\n", + "Start von Julia in einem Terminal:\n", + "```\n", + "julia>\n", + "```\n", + "\n", + "| Kommando | Wirkung |\n", + "| :----------------------------| :------------------------ |\n", + "| `exit()` oder `Ctrl-d` | exit Julia |\n", + "| `Ctrl-c` | interrupt |\n", + "| `Ctrl-l` | clear screen |\n", + "| Kommando mit `;` beenden | Ausgabe unterdrückt |\n", + "| `include(\"filename.jl\")` | Datei mit Julia-Code einlesen und ausführen |\n", + "\n", + "\n", + "-----\n", + "\n", + "Der REPL hat verschiedene Modi: \n", + "\n", + "| Modus | Prompt | Modus starten | Modus verlassen |\n", + "| :- | :- | :- | :- |\n", + "|||||\n", + "| default| `julia>` | | |\n", + "|||||\n", + "| Package manager | `pkg>` | `]` | `backspace` |\n", + "|||||\n", + "| Help | `help?>` | `?`| `backspace `|\n", + "|||||\n", + "|Shell | `shell>` | `;` | `backspace`|\n", + "|||||\n", + "\n", + "--------\n", + "\n", + "\n", + "## Jupyter notebooks (IJulia)\n", + "\n", + "Die Modi sind als Einzeiler in einer eigenen Input-Zelle nutzbar: \n", + "\n", + "(i) ein Kommando des Paket-Managers:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d6c200e5", + "metadata": {}, + "outputs": [], + "source": [ + "] status " + ] + }, + { + "cell_type": "markdown", + "id": "9caf3630", + "metadata": {}, + "source": [ + "(ii) eine Help-Abfrage:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c923aa16", + "metadata": {}, + "outputs": [], + "source": [ + "?sin" + ] + }, + { + "cell_type": "markdown", + "id": "bfc75d15", + "metadata": {}, + "source": [ + "(iii) Ein Shell-Kommando:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3617aff8", + "metadata": {}, + "outputs": [], + "source": [ + ";ls .." + ] + }, + { + "cell_type": "markdown", + "id": "bdce3ab2", + "metadata": {}, + "source": [ + "## Der Paket-Manager\n", + "\n", + "- Über 7000 Pakete, siehe [https://julialang.org/packages/](https://julialang.org/packages/)\n", + "- Bevor sie mit `using Module` verwendet werden können, müssen sie heruntergeladen und installiert werden.\n", + "- Dazu dient der `package manager`\n", + "- 2 Betriebsarten: \n", + " - als normale Julia-Anweisungen, die auch in einer `.jl`-Programmdatei stehen können:\n", + " ```\n", + " using Pkg\n", + " Pkg.add(\"TollesPaket\")\n", + " ```\n", + " - im speziellen pkg-Modus des Julia-REPLs:\n", + " ```\n", + " ] add TollesPaket\n", + " ```\n", + "----- \n", + "\n", + "### Einige Funktionen\n", + "\n", + "| Funktion | `pkg` - Mode | Erklärung |\n", + "|:------------------------|:----------------------|:----------------------------------------------------------|\n", + "| `Pkg.add(\"MyPack\")` | `pkg> add MyPack` | add `MyPack.jl` to current environment |\n", + "| `Pkg.rm(\"MyPack\")` | `pkg> remove MyPack` | remove `MyPack.jl` from current environment |\n", + "| `Pkg.update()` | `pkg> update` | update packages in current environment |\n", + "| `Pkg.activate(\"mydir\")` | `pkg> activate mydir` | activate directory as current environment |\n", + "| `Pkg.status()` | `pkg> status` | list packages |\n", + "\n", + "\n", + "### Installierte Pakete und Environments \n", + "\n", + "- Julia und der Paketmanager verwalten \n", + " 1. eine Liste der mit dem Kommando `Pkg.add()` bzw. `]add` explizit installierten Pakete mit genauer Versionsbezeichnung in einer Datei `Project.toml` und \n", + " 2. eine Liste aller dabei auch als implizite Abhängigkeiten installierten Pakete in der Datei `Manifest.toml`. \n", + "- Das Verzeichnis, in dem diese Dateien stehen, ist das `environment` und wird mit `Pkg.status()` bzw. `]status` angezeigt. \n", + "- Im Normalfall sieht das so aus: \n", + "```\n", + "(@v1.7) pkg> status\n", + " Status `~/.julia/environments/v1.7/Project.toml`\n", + " [1dea7af3] OrdinaryDiffEq v6.7.1\n", + " [91a5bcdd] Plots v1.27.1\n", + " [438e738f] PyCall v1.93.1\n", + "```\n", + "- Man kann für verschiedene Projekte eigene `environments` benutzen. Dazu kann man entweder Julia mit \n", + "```\n", + "julia --project=path/to/myproject\n", + "```\n", + "starten oder in Julia das environment mit `Pkg.activate(\"path/to/myproject\")` aktivieren. Dann werden `Project.toml, Manifest.toml` dort angelegt und verwaltet. (Die Installation der Paketdateien erfolgt weiterhin irgendwo unter `$HOME/.julia`) \n", + "\n", + "\n", + "### Zum Installieren von Paketen auf unserem Jupyter-Server `misun103`:\n", + "- Es gibt ein zentrales Repository, in dem alle von mir erwähnten Pakete bereits installiert sind. \n", + "- Dort haben Sie keine Schreibrechte.\n", + "- Sie können aber zusätzliche Pakete in Ihrem `Home` installieren. Dazu ist als erster Befehl nötig, das aktuelle Verzeichnis zu aktivieren: \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "103bd8a1", + "metadata": {}, + "outputs": [], + "source": [ + "] activate ." + ] + }, + { + "cell_type": "markdown", + "id": "077e93f2", + "metadata": {}, + "source": [ + "(Man beachte den Punkt!)\n", + "\n", + "----\n", + "\n", + "Danach können Sie mit `add` im Pkg-Modus auch Pakete installieren:\n", + "\n", + "```\n", + "] add TollesPaket\n", + "```\n", + "\n", + "\n", + "Achtung! Das kann dauern! Viele Pakete haben komplexe Abhängigkeiten und lösen die Installation von weiteren Paketen aus. Viele Pakete werden beim Installieren vorkompiliert. Im REPL sieht man den Installationsfortschritt, im Jupyter-Notebook nicht.\n", + "\n", + "\n", + "## Eingebaute Hilfe und Informationen\n", + "Mit `?` und der `Tab`-Taste kommt man oft weiter. \n", + "\n", + "\n", + "\n", + "### weitere Hilfe: `@which`, `fieldnames()`, `methods()`, `names()`, `pwd()`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f099673", + "metadata": {}, + "outputs": [], + "source": [ + "# Die Zuordnung zu einem Modul zeigt @which an:\n", + "\n", + "@which(sqrt)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44276c0d", + "metadata": {}, + "outputs": [], + "source": [ + "# Die Komponenten einer struct oder eines anderen zusammengesetzten Typs:\n", + "\n", + "fieldnames(Rational)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a200a34f", + "metadata": {}, + "outputs": [], + "source": [ + "fieldnames(Complex)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d99bfda9", + "metadata": {}, + "outputs": [], + "source": [ + "# alle Methoden einer Funktion\n", + "\n", + "methods(sqrt)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b3e6f127", + "metadata": {}, + "outputs": [], + "source": [ + "# alle Methoden einer Funktion bei bestimmten Argumenttypen. Die Argumenttypen müssen als Tupel angegeben werden\n", + "\n", + "methods(sqrt, (Number,)) # Komma nötig für 1-elementiges Tupel " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e74572ad", + "metadata": {}, + "outputs": [], + "source": [ + "# für einen Typ gibt methods() alle Konstruktoren aus\n", + "\n", + "methods(Int64)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e4de6078", + "metadata": {}, + "outputs": [], + "source": [ + "# names(Module) gibt alle von einem Modul exportierte Namen aus. \n", + "# genau wie auch\n", + "#\n", + "# ?Module \n", + "#\n", + "# funktioniert es erst, wenn das Modul mit 'using Module' geladen ist.\n", + "# Oft ist es besser, wenn die using-Anweisung in einer eigenen Zelle steht.\n", + "\n", + "using Plots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1df8377", + "metadata": {}, + "outputs": [], + "source": [ + "names(Plots)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3654fab2", + "metadata": {}, + "outputs": [], + "source": [ + "# Julia kürzt den interaktiven Output. \n", + "# ein explizites print() zeigt alles:\n", + "\n", + "print(names(Plots))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc9ca3b6", + "metadata": {}, + "outputs": [], + "source": [ + "# eine andere Möglichkeit der Ausgabe mit Überlänge in Jupyter\n", + "\n", + "show(stdout, MIME(\"text/plain\"), names(Plots))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9fa0f216", + "metadata": {}, + "outputs": [], + "source": [ + "# pwd() \"print working directory\" zeigt, in welchem Verzeichnis Julia gerade operiert. \n", + "#\n", + "# Wichtig für die Ein/Ausgabe mit Dateien, z.B. include()\n", + "\n", + "pwd()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99c19918", + "metadata": {}, + "outputs": [], + "source": [ + "include(\"Jupyter.jl\") # Datei mit Julia-Code einlesen und abarbeiten" + ] + }, + { + "cell_type": "markdown", + "id": "1464d951", + "metadata": {}, + "source": [ + "## Informationen zu Typen\n", + "\n", + "### `subtypes()`, `supertypes()`, `typemax()`, `typemin()`, `fieldnames()`, `Base.return_types()`, `dump()`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1358c363", + "metadata": {}, + "outputs": [], + "source": [ + "subtypes(Real) # die letzten zwei sind durch das 'using Plots' dazugekommen" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e35fb7da", + "metadata": {}, + "outputs": [], + "source": [ + "supertypes(Real)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "53be4687", + "metadata": {}, + "outputs": [], + "source": [ + "typemax(Int64), typemin(Int64), fieldnames(Complex)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3a9ed940", + "metadata": {}, + "outputs": [], + "source": [ + "Base.return_types(sqrt, (Float64,))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "207af4bd", + "metadata": {}, + "outputs": [], + "source": [ + "Base.return_types(sqrt, (Complex{Int64},))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "66b42304", + "metadata": {}, + "outputs": [], + "source": [ + "# dump() zeigt alle Teile eines zusammengesetzten Objekts\n", + "\n", + "x = 3//4 + 75im\n", + "dump(x)" + ] + }, + { + "cell_type": "markdown", + "id": "9c6edfea", + "metadata": {}, + "source": [ + "## Der Julia JIT _(just in time)_ Compiler\n", + "\n", + "Julia baut auf die Werkzeuge des _LLVM Compiler Infrastructure Projects_ auf.\n", + "\n", + "\n", + "Stages of Compilation \n", + "\n", + "| stage & result | introspection command |\n", + "| :--- | :--- |\n", + "|Parse ==> Abstract Syntax Tree (AST) | `Meta.parse()` |\n", + "| Lowering: transform AST ==> Static Single Assignment (SSA) form | `@code_lowered`|\n", + "| Type Inference | `@code_warntype`, `@code_typed` |\n", + "| Generate LLVM intermediate representation | `@code_llvm`|\n", + "| Generate native machine code | `@code_native` |\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4d433ab8", + "metadata": {}, + "outputs": [], + "source": [ + "function f(x,y)\n", + " z = x^2 + log(y)\n", + " return 2z\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de444d8a", + "metadata": {}, + "outputs": [], + "source": [ + "p = Meta.parse( \"function f(x,y); z=x^2+log(y); return 2x; end \")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ddf17aa", + "metadata": {}, + "outputs": [], + "source": [ + "using TreeView" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70d267d7", + "metadata": {}, + "outputs": [], + "source": [ + "walk_tree(p)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b19b64ec", + "metadata": {}, + "outputs": [], + "source": [ + "@code_lowered f(2,4)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "57eb03f9", + "metadata": {}, + "outputs": [], + "source": [ + "@code_warntype f(2,4)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf273a25", + "metadata": {}, + "outputs": [], + "source": [ + "@code_typed f(2,4)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28779f6b", + "metadata": {}, + "outputs": [], + "source": [ + "@code_llvm f(2,4)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "02711d1f", + "metadata": {}, + "outputs": [], + "source": [ + "@code_native f(2,4)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/6_ArraysEtcP1.ipynb b/nb/6_ArraysEtcP1.ipynb new file mode 100644 index 0000000..408b0c7 --- /dev/null +++ b/nb/6_ArraysEtcP1.ipynb @@ -0,0 +1,303 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fcc03529", + "metadata": {}, + "source": [ + "# Container\n", + "\n", + "\n", + "Julia bietet eine große Auswahl von Containertypen mit weitgehend ähnlichem Interface an. \n", + "Wir stellen hier `Tuple`, `Range`, `Array`, `Vector` und `Matrix` vor. \n", + "\n", + "Diese Container sind: \n", + "\n", + "- **iterierbar:** Man kann über die Elemente des Containers iterieren: \n", + "```julia \n", + "for x ∈ container ... end\n", + "```\n", + "- **indizierbar:** Man kann auf Elemente über ihren Index zugreifen: \n", + "```julia\n", + "x = container[i]\n", + "``` \n", + "und einige sind \n", + "\n", + "- **mutierbar** (nur `Array`, `Vector` und `Matrix`): Man kann Elemente hinzufügen, entfernen und ändern.\n", + "\n", + "Weiterhin gibt es eine Reihe gemeinsamer Funktionen, z.B.\n", + "\n", + "- `length(container)` --- Anzahl der Elemente\n", + "- `eltype(container)` --- Typ der Elemente\n", + "- `isempty(container)` --- Test, ob Container leer ist\n", + "- `empty!(container)` --- leert Container (nur wenn mutierbar)\n", + "\n", + "\n", + "## Tupeln\n", + "\n", + "Ein Tupel ist ein nicht mutierbarer Container von Elementen. Es ist also nicht möglich, neue Elemente dazuzufügen oder den Wert eines Elements zu ändern. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b33212e", + "metadata": {}, + "outputs": [], + "source": [ + "t = (33, 4.5, \"Hello\")\n", + "\n", + "@show t[2] # indizierbar\n", + "\n", + "for i ∈ t println(i) end # iterierbar" + ] + }, + { + "cell_type": "markdown", + "id": "e65e4da8", + "metadata": {}, + "source": [ + "Ein Tupel ist ein **inhomogener** Typ. Jedes Element hat seinen eigenen Typ und das zeigt sich auch im Typ des Tupels:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d21cc5b", + "metadata": {}, + "outputs": [], + "source": [ + "typeof(t)" + ] + }, + { + "cell_type": "markdown", + "id": "74fcc47e", + "metadata": {}, + "source": [ + "Man verwendet Tupel gerne als Rückgabewerte von Funktionen, um mehr als ein Objekt zurückzulieferen.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ffc0cdc", + "metadata": {}, + "outputs": [], + "source": [ + "# Ganzzahldivision und Rest: \n", + "# Quotient und Rest werden den Variablen q und r zugewiesen\n", + "\n", + "q, r = divrem(71, 6)\n", + "@show q r;" + ] + }, + { + "cell_type": "markdown", + "id": "e7a04cdd", + "metadata": {}, + "source": [ + "Wie man hier sieht, kann man in bestimmten Konstrukten die Klammern auch weglassen.\n", + "Dieses *implict tuple packing/unpacking* verwendet man auch gerne in Mehrfachzuweisungen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2a260b6e", + "metadata": {}, + "outputs": [], + "source": [ + "x, y, z = 12, 17, 203" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3447dffb", + "metadata": {}, + "outputs": [], + "source": [ + "y" + ] + }, + { + "cell_type": "markdown", + "id": "8694ec4a", + "metadata": {}, + "source": [ + "Manche Funktionen bestehen auf Tupeln als Argument oder geben immer Tupeln zurück. Dann braucht man manchmal ein Tupel aus einem Element. \n", + "\n", + "Das notiert man so:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "24856f9b", + "metadata": {}, + "outputs": [], + "source": [ + "x = (13,) # ein 1-Element-Tupel" + ] + }, + { + "cell_type": "markdown", + "id": "11ac465d", + "metadata": {}, + "source": [ + "Das Komma - und nicht die Klammern -- macht das Tupel. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "87474e9d", + "metadata": {}, + "outputs": [], + "source": [ + "x= (13) # kein Tupel" + ] + }, + { + "cell_type": "markdown", + "id": "da35087d", + "metadata": {}, + "source": [ + "## Ranges\n", + "\n", + "Wir haben *range*-Objekte schon in numerischen `for`-Schleifen verwendet.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3bfc9415", + "metadata": {}, + "outputs": [], + "source": [ + "r = 1:1000\n", + "typeof(r)" + ] + }, + { + "cell_type": "markdown", + "id": "7d2c6838", + "metadata": {}, + "source": [ + "Es gibt verschiedene *range*-Typen. Wie man sieht, sind es über den Zahlentyp parametrisierte Typen und `UnitRange` ist z.B. ein *range* mit der Schrittweite 1. Ihre Konstruktoren heißen in der Regel `range()`. \n", + "\n", + "Der Doppelpunkt ist eine spezielle Syntax. \n", + "\n", + "- `a:b` wird vom Parser umgesetzt zu `range(a, b)` \n", + "- `a:b:c` wird umgesetzt zu `range(a, c, step=b)`\n", + "\n", + "\n", + "*Ranges* sind offensichtlich iterierbar, nicht mutierbar aber indizierbar.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28aecb9e", + "metadata": {}, + "outputs": [], + "source": [ + "(3:100)[20] # das zwanzigste Element" + ] + }, + { + "cell_type": "markdown", + "id": "350affb7", + "metadata": {}, + "source": [ + "Wir erinnern an die Semantik der `for`-Schleife: `for i in 1:1000` heißt **nicht**:\n", + "\n", + "- 'Die Schleifenvariable `i` wird bei jedem Durchlauf um eins erhöht' **sondern** \n", + "- 'Der Schleifenvariable werden nacheinander die Werte 1,2,3,...,1000 aus dem Container zugewiesen'. \n", + "\n", + "Allerdings wäre es sehr ineffektiv, diesen Container tatsächlich explizit anzulegen. \n", + "\n", + "- _Ranges_ sind \"lazy\" Vektoren, die nie wirklich irgendwo als konkrete Liste abgespeichert werden. Das macht sie als Iteratoren in `for`-Schleifen so nützlich: speichersparend und schnell.\n", + "- Sie sind 'Rezepte' oder Generatoren, die auf die Abfrage 'Gib mir dein nächstes Element!' antworten.\n", + "- Tatsächlich ist der Muttertyp `AbstractRange` ein Subtyp von `AbstractVector`.\n", + "\n", + "Das Macro `@allocated` gibt aus, wieviel Bytes an Speicher bei der Auswertung eines Ausdrucks alloziert wurden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "14ea84bd", + "metadata": {}, + "outputs": [], + "source": [ + "@allocated [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c900fd32", + "metadata": {}, + "outputs": [], + "source": [ + "@allocated 1:20" + ] + }, + { + "cell_type": "markdown", + "id": "0a763f8b", + "metadata": {}, + "source": [ + "Zum Umwandeln in einen 'richtigen' Vektor dient die Funktion `collect()`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0e0be9dd", + "metadata": {}, + "outputs": [], + "source": [ + "collect(20:-3:1)" + ] + }, + { + "cell_type": "markdown", + "id": "568f2f9f", + "metadata": {}, + "source": [ + "Recht nützlich, z.B. beim Vorbereiten von Daten zum Plotten, ist der *range*-Typ `LinRange`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8596862b", + "metadata": {}, + "outputs": [], + "source": [ + "LinRange(2, 50, 300)" + ] + }, + { + "cell_type": "markdown", + "id": "f148954b", + "metadata": {}, + "source": [ + "`LinRange(start, stop, n)` erzeugt eine äquidistante Liste von `n` Werten von denen der erste und der letzte die vorgegebenen Grenzen sind. \n", + "Mit `collect()` kann man bei Bedarf auch daraus den entsprechenden Vektor gewinnen.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/7_ArraysP2.ipynb b/nb/7_ArraysP2.ipynb new file mode 100644 index 0000000..02bab53 --- /dev/null +++ b/nb/7_ArraysP2.ipynb @@ -0,0 +1,2054 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5c227958", + "metadata": {}, + "source": [ + "# Vektoren, Matrizen, Arrays\n", + "\n", + "## Allgemeines \n", + "\n", + "Kommen wir nun zu den wohl wichtigsten Containern für numerische Mathematik: \n", + "\n", + "- Vektoren `Vector{T}` \n", + "- Matrizen `Matrix{T}` mit zwei Indizes \n", + "- N-dimensionale Arrays mit N Indizes `Array{T,N}`\n", + "\n", + "Tatsächlich ist `Vector{T}` ein Alias für `Array{T,1}` und `Matrix{T}` ein Alias für `Array{T,2}`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ee55f3c2", + "metadata": {}, + "outputs": [], + "source": [ + "Vector{Float64} === Array{Float64,1} && Matrix{Float64} === Array{Float64,2}" + ] + }, + { + "cell_type": "markdown", + "id": "bc271209", + "metadata": {}, + "source": [ + "Beim Anlegen durch eine explizite Elementliste wird der 'kleinste gemeinsame Typ' für den Typparameter `T` ermittelt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "93a9f521", + "metadata": {}, + "outputs": [], + "source": [ + "v = [33, \"33\", 1.2]" + ] + }, + { + "cell_type": "markdown", + "id": "3d2a9699", + "metadata": {}, + "source": [ + "Falls `T` ein numerischer Typ ist, werden die Elemente in diesen Typ umgewandelt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6810b420", + "metadata": {}, + "outputs": [], + "source": [ + "v = [3//7, 4, 2im]" + ] + }, + { + "cell_type": "markdown", + "id": "cff4245f", + "metadata": {}, + "source": [ + "Informationen über einen Array liefern die Funktionen:\n", + "\n", + "- `length(A)` --- Anzahl der Elemente\n", + "- `eltype(A)` --- Typ der Elemente\n", + "- `ndims(A)` --- Anzahl der Dimensionen (Indizes)\n", + "- `size(A)` --- Tupel mit den Dimensionen des Arrays \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "79c5010b", + "metadata": {}, + "outputs": [], + "source": [ + "v1 = [12, 13, 15]\n", + "\n", + "m1 = [ 1 2.5\n", + " 6 -3 ]\n", + "\n", + "for f ∈ (length, eltype, ndims, size)\n", + " println(\"$(f)(v) = $(f(v)), $(f)(m1) = $(f(m1))\")\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "dd306f62", + "metadata": {}, + "source": [ + "- Die Stärke des 'klassischen' Arrays für das wissenschaftliche Rechnen besteht darin, dass es einfach nur ein zusammenhängendes Speichersegment ist, in dem die Komponenten gleicher Länge (z.B. 64 Bit) geordnet hintereinander abgespeichert sind. Damit ist der Speicherbedarf minimal und die Zugriffsgeschwindigkeit auf eine Komponente, sowohl beim Lesen als auch beim Modifizieren, maximal. Der Platz der Komponente `v[i]` ist sofort aus `i` berechenbar. \n", + "- Julias `Array{T,N}` (und damit Vektoren und Matrizen) ist für die üblichen numerischen Typen `T` in dieser Weise implementiert. Die Elemente werden *unboxed* gespeichert. Im Gegensatz dazu ist z.B. ein `Vector{Any}` implementiert als Liste von Adressen von Objekten *(boxed)* und nicht als Liste der Objekte selbst. \n", + "- Julias `Array{T,N}` speichert seine Elemente direkt *(unboxed)*, wenn `isbitstype(T) == true`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3227cda0", + "metadata": {}, + "outputs": [], + "source": [ + "isbitstype(Float64), \n", + "isbitstype(Complex{Rational{Int64}}), \n", + "isbitstype(String)" + ] + }, + { + "cell_type": "markdown", + "id": "dd9c87cf", + "metadata": {}, + "source": [ + "## Vektoren\n", + "\n", + "### Listen-artige Funktionen \n", + "\n", + "- `push!(vector, items...)` --- fügt Elemente am Ende des Vektors an\n", + "- `pushfirst!(vector, items...)` --- fügt Elemente am Anfang des Vektors an\n", + "- `pop!(vector)` --- entfernt letztes Element und liefert es als Ergebnis zurück,\n", + "- `popfirst!(vector)` --- entfernt erstes Element und liefert es zurück \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f49c51ee", + "metadata": {}, + "outputs": [], + "source": [ + "v = Float64[] # leerer Vector{Float64}\n", + "\n", + "push!(v, 3, 7)\n", + "pushfirst!(v, 1)\n", + "\n", + "a = pop!(v)\n", + "println(\"a= $a\")\n", + "\n", + "push!(v, 17)" + ] + }, + { + "cell_type": "markdown", + "id": "d0bae695", + "metadata": {}, + "source": [ + "Ein `push!()` kann sehr aufwändig sein, da eventuell neuer Speicher alloziert und dann der ganze bestehende Vektor umkopiert werden muss. Julia optimiert das Speichermanagement. Es wird in einem solchen Fall Speicher auf Vorrat alloziert, so dass weitere `push!`s sehr schnell sind und man 'fast O(1)-Geschwindigkeit' erreicht. \n", + "\n", + "Trotzdem sollte man bei zeitkritischem Code und sehr großen Feldern Operationen wie `push!()` oder `resize()` vermeiden.\n", + "\n", + "### Weitere Konstruktoren\n", + "\n", + "Man kann Vektoren mit vorgegebener Länge und Typ uninitialisiert anlegen. Das geht am Schnellsten, die Elemente sind zufállige Bitmuster.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5dd7319a", + "metadata": {}, + "outputs": [], + "source": [ + "# fixe Länge 1000, uninitialisiert\n", + "\n", + "v = Vector{Float64}(undef, 1000)\n", + "v[345]" + ] + }, + { + "cell_type": "markdown", + "id": "d154d1d5", + "metadata": {}, + "source": [ + "- `zeros(n)` legt einen `Vector{Float64}` der Länge `n` an und initialisiert mit Null. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a4a098b6", + "metadata": {}, + "outputs": [], + "source": [ + "v = zeros(7) " + ] + }, + { + "cell_type": "markdown", + "id": "20e95a21", + "metadata": {}, + "source": [ + "- `zeros(T,n)` legt einen Nullvektor vom Typ `T` an.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3914deb9", + "metadata": {}, + "outputs": [], + "source": [ + "v=zeros(Int, 4)" + ] + }, + { + "cell_type": "markdown", + "id": "6ea61c0a", + "metadata": {}, + "source": [ + "- `fill(x, n)` legt `Vector{typeof(x)}` der Länfe `n` an und füllt mit `x`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92180908", + "metadata": {}, + "outputs": [], + "source": [ + "v = fill(sqrt(2), 5)" + ] + }, + { + "cell_type": "markdown", + "id": "177266ed", + "metadata": {}, + "source": [ + "- `similar(v)` legt einen uninitialisierten Vektor von gleichem Typ und Größe wie `v` an.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5479424", + "metadata": {}, + "outputs": [], + "source": [ + "w = similar(v)" + ] + }, + { + "cell_type": "markdown", + "id": "4ad4add1", + "metadata": {}, + "source": [ + "### Konstruktion durch implizite Schleife _(list comprehension)_\n", + "\n", + "Implizite `for`-Schleifen sind eine weitere Methode, Vektoren zu erzeugen.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2a281cdf", + "metadata": {}, + "outputs": [], + "source": [ + "v4 = [i for i in 1.0:8]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "afb33a9c", + "metadata": {}, + "outputs": [], + "source": [ + "v5 = [log(i^2) for i in 1:4 ]" + ] + }, + { + "cell_type": "markdown", + "id": "cde23de5", + "metadata": {}, + "source": [ + "Man kann sogar noch ein `if` unterbringen.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88638841", + "metadata": {}, + "outputs": [], + "source": [ + "v6 = [i^2 for i in 1:8 if i%3 != 2]" + ] + }, + { + "cell_type": "markdown", + "id": "1ee31e25", + "metadata": {}, + "source": [ + "### Bitvektoren {#sec-bitvec}\n", + "\n", + "Neben `Vector{Bool}` gibt es noch den speziellen Datentyp `BitVector` (und allgemeiner auch `BitArray`) zur Speicherung von Feldern mit Wahrheitswerten. \n", + "\n", + "Während für die Speicherung eines `Bool`s ein Byte verwendet wird, erfolgt die Speicherung in einem BitVector bitweise. \n", + "\n", + "Der Konstruktor wandelt einen \n", + "`Vector{Bool}` in einen `BitVector` um.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "115aa38e", + "metadata": {}, + "outputs": [], + "source": [ + "vb = BitVector([true, false, true, true])" + ] + }, + { + "cell_type": "markdown", + "id": "dd064777", + "metadata": {}, + "source": [ + "Für die Gegenrichtung gibt es `collect()`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "035f3ce7", + "metadata": {}, + "outputs": [], + "source": [ + "collect(vb)" + ] + }, + { + "cell_type": "markdown", + "id": "b40e16c8", + "metadata": {}, + "source": [ + "BitVectoren entstehen z.B. als Ergebnis von elementweisen Vergleichen (s. @sec-broadcast).\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6b67988d", + "metadata": {}, + "outputs": [], + "source": [ + "v4 .> 3.5" + ] + }, + { + "cell_type": "markdown", + "id": "6095e15c", + "metadata": {}, + "source": [ + "### Indizierung\n", + "\n", + "Für den Mathematiker sind Indizes Ordinalzahlen. Also __startet die Indexzählung mit 1.__\n", + "\n", + "Als Index kann man verwenden:\n", + "\n", + " - Integer\n", + " - Integer-wertigen Range (gleiche Länge oder kürzer)\n", + " - Integer-Vektor (gleiche Länge oder kürzer)\n", + " - Bool-Vektor oder BitVector (gleiche Länge)\n", + " \n", + " \n", + "Mit Indizes kann man Arrayelemente/teile lesen und schreiben.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1e8f2011", + "metadata": {}, + "outputs": [], + "source": [ + "v = [ 3i + 5.2 for i in 1:8]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61efc9b0", + "metadata": {}, + "outputs": [], + "source": [ + "v[5]" + ] + }, + { + "cell_type": "markdown", + "id": "005efaab", + "metadata": {}, + "source": [ + "Bei Zuweisungen wird die rechte Seite wenn nötig mit `convert(T,x)` in den Vektorelementetyp umgewandelt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d29b8ddb", + "metadata": {}, + "outputs": [], + "source": [ + "v[6] = 9999\n", + "v" + ] + }, + { + "cell_type": "markdown", + "id": "4c1b08f5", + "metadata": {}, + "source": [ + "Überschreiten der Indexgrenzen führt zu einem `BoundsError`. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d8e26873", + "metadata": {}, + "outputs": [], + "source": [ + "v[77]" + ] + }, + { + "cell_type": "markdown", + "id": "43567db7", + "metadata": {}, + "source": [ + "Mit einem `range`-Objekt kann man einen Teilvektor adressieren.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15f45e9d", + "metadata": {}, + "outputs": [], + "source": [ + "vp = v[3:5]\n", + "vp" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c52da06e", + "metadata": {}, + "outputs": [], + "source": [ + "vp = v[1:2:7] # range mit Schrittweite\n", + "vp" + ] + }, + { + "cell_type": "markdown", + "id": "d6e45504", + "metadata": {}, + "source": [ + "- Bei der Verwendung als Index kann in einem Range der Spezialwert `end` verwendet werden.\n", + "- Bei der Verwendung als Index kann der \"leere\" Range `:` als Abkürzung von `1:end` verwendet werden. Das ist nützlich bei Matrizen: `A[:, 3]` addresiert die gesamte 3. Spalte von `A`. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f73e624", + "metadata": {}, + "outputs": [], + "source": [ + "v[6:end] = [7, 7, 7]\n", + "v" + ] + }, + { + "cell_type": "markdown", + "id": "ff325674", + "metadata": {}, + "source": [ + "#### Indirekte Indizierung\n", + "\n", + "Die indirekte Indizierung mit einem *Vector of Integers/Indices* erfolgt nach der Formel \n", + "\n", + "\n", + "$v[ [i_1,\\ i_2,\\ i_3,...]] = [\\ v[i_1],\\ v[i_2],\\ v[i_3],...]$\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bf53ca2b", + "metadata": {}, + "outputs": [], + "source": [ + "v[ [1, 3, 4] ]" + ] + }, + { + "cell_type": "markdown", + "id": "7b2f2bc8", + "metadata": {}, + "source": [ + "ist also gleich\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f5fec9d", + "metadata": {}, + "outputs": [], + "source": [ + "[ v[1], v[3], v[4] ]" + ] + }, + { + "cell_type": "markdown", + "id": "d24e3956", + "metadata": {}, + "source": [ + "#### Indizierung mit einem Vektor von Wahrheitswerten\n", + "\n", + "Als Index kann man auch einen `Vector{Bool}` oder `BitVector` (s. @sec-bitvec) **derselben Länge** verwenden. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9af04e7e", + "metadata": {}, + "outputs": [], + "source": [ + "v[ [true, true, false, false, true, false, true, true] ]" + ] + }, + { + "cell_type": "markdown", + "id": "7d64ac85", + "metadata": {}, + "source": [ + "Das ist nützlich, da man z.B.\n", + "\n", + " - Tests broadcasten kann (s. @sec-broadcast),\n", + " - diese Tests dann einen BitVector liefern und\n", + " - bei Bedarf solche Bitvektoren durch die Bit-weisen Operatoren `&` und `|` verknüpft werden können. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "670b80ea", + "metadata": {}, + "outputs": [], + "source": [ + "v[ (v .> 13) .& (v.<20) ]" + ] + }, + { + "cell_type": "markdown", + "id": "7bc7e5fb", + "metadata": {}, + "source": [ + "## Matrizen und Arrays\n", + "\n", + "Die bisher vorgestellten Methoden für Vektoren übertragen sich auch auf höherdimensionale Arrays.\n", + "\n", + "Man kann sie uninitialisiert anlegen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4c8b14c", + "metadata": {}, + "outputs": [], + "source": [ + "A = Array{Float64,3}(undef, 6,9,3)" + ] + }, + { + "cell_type": "markdown", + "id": "b692ddb4", + "metadata": {}, + "source": [ + "In den meisten Funktionen kann man die Dimensionen auch als Tupel übergeben. Die obige Anweisung lässt sich auch so schreiben:\n", + "\n", + "```julia\n", + "A = Array{Float64, 3}(undef, (6,9,3)) \n", + "```\n", + "\n", + "Funktionen wie `zeros()` usw. funktionieren natürlich auch.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c7b17431", + "metadata": {}, + "outputs": [], + "source": [ + "m2 = zeros(3, 4, 2) # oder zeros((3,4,2)) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f361ecf8", + "metadata": {}, + "outputs": [], + "source": [ + "M = fill(5 , (3, 3)) # oder fill(5, 3, 3)" + ] + }, + { + "cell_type": "markdown", + "id": "68ac511a", + "metadata": {}, + "source": [ + "Die Funktion `similar()`, die einen Array gleicher Größe uninitialisiert erzeugt, kann auch einen Typ als weiteres Argument bekommen.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3a0958e2", + "metadata": {}, + "outputs": [], + "source": [ + "M2 = similar(M, Float64)" + ] + }, + { + "cell_type": "markdown", + "id": "027fb6d6", + "metadata": {}, + "source": [ + "### Konstruktion durch explizite Elementliste\n", + "\n", + "Während man Vektoren kommagetrennt in eckigen Klammern notiert, ist die Notation für höherdimensionale Objekte etwas anders. \n", + "\n", + "- Eine Matrix:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba838fe7", + "metadata": {}, + "outputs": [], + "source": [ + "M2 = [2 3 -1\n", + " 4 5 -2]" + ] + }, + { + "cell_type": "markdown", + "id": "5254a785", + "metadata": {}, + "source": [ + "- dieselbe Matrix:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4878b4e0", + "metadata": {}, + "outputs": [], + "source": [ + "M2 = [2 3 -1; 4 5 -2]" + ] + }, + { + "cell_type": "markdown", + "id": "48b415e9", + "metadata": {}, + "source": [ + "- Ein Array mit 3 Indizes:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c0e45334", + "metadata": {}, + "outputs": [], + "source": [ + "M3 = [2 3 -1 \n", + " 4 5 6 ;;;\n", + " 7 8 9\n", + " 11 12 13]" + ] + }, + { + "cell_type": "markdown", + "id": "aedabca8", + "metadata": {}, + "source": [ + "- und nochmal die Matrix `M2`:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3537604f", + "metadata": {}, + "outputs": [], + "source": [ + "M2 = [2;4;; 3;5;; -1;-2]" + ] + }, + { + "cell_type": "markdown", + "id": "8b21f42d", + "metadata": {}, + "source": [ + "Im letzten Beispiel kommen diese Regeln zur Anwendung:\n", + "\n", + "- Trenner ist das Semikolon.\n", + "- Ein Semikolon `;` erhöht den 1. Index.\n", + "- Zwei Semikolons `;;` erhöhen den 2. Index.\n", + "- Drei Semikolons `;;;` erhöhen den 3. Index usw. \n", + "\n", + "In den Beispielen davor wurde folgende Syntaktische Verschönerung (_syntactic sugar_) angewendet:\n", + "\n", + "- Leerzeichen trennen wie 2 Semikolons -- erhöht also den 2. Index: $\\quad a_{12}\\quad a_{13}\\quad a_{14}\\ ...$\n", + "- Zeilenumbruch trennt wie ein Semikolon -- erhöht also den 1. Index.\n", + "\n", + "\n", + ":::{.callout-important}\n", + "\n", + "- Vektorschreibweise mit Komma als Trenner geht nur bei Vektoren, nicht mit \"Semikolon, Leerzeichen, Newline' mischen! \n", + "- Vektoren mit einem Index; $1\\!\\times\\!n$-Matrizen und $n\\!\\times\\!1$-Matrizen sind drei verschiedene Dinge!\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5068d43b", + "metadata": {}, + "outputs": [], + "source": [ + "v1 = [2,3,4]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "251a03fc", + "metadata": {}, + "outputs": [], + "source": [ + "v2 = [2;3;4]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12be7f1d", + "metadata": {}, + "outputs": [], + "source": [ + "v3 = [2 3 4]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41a648f3", + "metadata": {}, + "outputs": [], + "source": [ + "v3 = [2;3;4;;]" + ] + }, + { + "cell_type": "markdown", + "id": "e16508b2", + "metadata": {}, + "source": [ + ":::\n", + "\n", + "\n", + "Einen \"vector of vectors\" a la C/C++ kann man natürlich auch konstruieren. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d20c99f", + "metadata": {}, + "outputs": [], + "source": [ + "v = [[2,3,4], [5,6,7,8]]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7acc9cd7", + "metadata": {}, + "outputs": [], + "source": [ + "v[2][3]" + ] + }, + { + "cell_type": "markdown", + "id": "36081804", + "metadata": {}, + "source": [ + "Das sollte man nur in Spezialfällen tun. Die Array-Sprache von Julia ist in der Regel bequemer und schneller.\n", + "\n", + "### Indizes, Teilfelder, Slices\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8dbddd28", + "metadata": {}, + "outputs": [], + "source": [ + "# 6x6 Matrix mit Zufallszahlen gleichverteilt aus [0,1) ∈ Float64\n", + "A = rand(6,6)" + ] + }, + { + "cell_type": "markdown", + "id": "86dcdd80", + "metadata": {}, + "source": [ + "Die übliche Indexnotation:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6457e824", + "metadata": {}, + "outputs": [], + "source": [ + "A[2, 3] = 77.77777\n", + "A" + ] + }, + { + "cell_type": "markdown", + "id": "ed38064b", + "metadata": {}, + "source": [ + "Man kann mit Ranges Teilfelder adressieren:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "865b7b29", + "metadata": {}, + "outputs": [], + "source": [ + "B = A[1:2, 1:3]" + ] + }, + { + "cell_type": "markdown", + "id": "eafd8cc8", + "metadata": {}, + "source": [ + "Das Adressieren von Teilen mit geringerer Dimension wird auch *slicing* genannt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aba3e4ef", + "metadata": {}, + "outputs": [], + "source": [ + "# die 3. Spalte als Vektor (slicing)\n", + "\n", + "C = A[:, 3]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "14259946", + "metadata": {}, + "outputs": [], + "source": [ + "# die 3. Zeile als Vektor (slicing)\n", + "\n", + "E = A[3, :]" + ] + }, + { + "cell_type": "markdown", + "id": "bec96c71", + "metadata": {}, + "source": [ + "Natürlich sind damit auch Zuweisungen möglich:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "82f68a6e", + "metadata": {}, + "outputs": [], + "source": [ + "# Man kann slices und Teilfeldern auch etwas zuweisen \n", + "\n", + "A[2, :] = [1,2,3,4,5,6]\n", + "A" + ] + }, + { + "cell_type": "markdown", + "id": "23dd1440", + "metadata": {}, + "source": [ + "## Verhalten bei Zuweisungen, `copy()` und `deepcopy()`, Views\n", + "\n", + "### Zuweisungen und Kopien\n", + "\n", + "- Variablen sind Referenzen auf Objekte. \n", + "- _Eine Zuweisung zu einer Variablen erzeugt kein neues Objekt._\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2499e260", + "metadata": {}, + "outputs": [], + "source": [ + "A = [1, 2, 3]\n", + "B = A" + ] + }, + { + "cell_type": "markdown", + "id": "4c9e3a04", + "metadata": {}, + "source": [ + "`A` und `B` sind jetzt Namen desselben Objekts.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9fdad306", + "metadata": {}, + "outputs": [], + "source": [ + "A[1] = 77\n", + "@show B;" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c51812e7", + "metadata": {}, + "outputs": [], + "source": [ + "B[3] = 300\n", + "@show A;" + ] + }, + { + "cell_type": "markdown", + "id": "00fe556c", + "metadata": {}, + "source": [ + "Dieses Verhalten spart viel Zeit und Speicher, ist aber nicht immer gewünscht. \n", + "Die Funktion `copy()` erzeugt eine 'echte' Kopie des Objekts.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b71aff22", + "metadata": {}, + "outputs": [], + "source": [ + "A = [1, 2, 3]\n", + "B = copy(A)\n", + "A[1] = 100\n", + "@show A B;" + ] + }, + { + "cell_type": "markdown", + "id": "03f55f43", + "metadata": {}, + "source": [ + "Die Funktion \n", + "`deepcopy(A)` kopiert rekursiv. Auch von den Elementen, aus denen `A` besteht, werden (wieder rekursive) Kopien erstellt. \n", + "\n", + "Solange ein Array nur primitive Objekte (Zahlen) enthält, sind `copy()` und `deepcopy()` äquivalent. \n", + "\n", + "Das folgende Beispiel zeigt den Unterschied zwischen `copy()` und `deepcopy()`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75c537cc", + "metadata": {}, + "outputs": [], + "source": [ + "mutable struct Person\n", + " name :: String\n", + " age :: Int\n", + "end\n", + "\n", + "A = [Person(\"Meier\", 20), Person(\"Müller\", 21), Person(\"Schmidt\", 23)]\n", + "B = A\n", + "C = copy(A)\n", + "D = deepcopy(A)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5721ca90", + "metadata": {}, + "outputs": [], + "source": [ + "A[1] = Person(\"Mustermann\", 83)\n", + "A[3].age = 199 \n", + "\n", + "@show B C D;" + ] + }, + { + "cell_type": "markdown", + "id": "f9ebeba5", + "metadata": {}, + "source": [ + "### Views\n", + "\n", + "Wenn man mittels *indices/ranges/slices* einer Variablen ein Teilstück eines Arrays zuweist, \n", + "wird von Julia grundsätzlich **ein neues Objekt** konstruiert.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d17cb1dd", + "metadata": {}, + "outputs": [], + "source": [ + "A = [1 2 3\n", + " 3 4 5]\n", + "\n", + "v = A[:, 2]\n", + "@show v\n", + "\n", + "A[1, 2] = 77\n", + "@show A v;" + ] + }, + { + "cell_type": "markdown", + "id": "3b5120b7", + "metadata": {}, + "source": [ + "Manchmal möchte man aber gerade hier eine Referenz-Semantik haben im Sinne von: \"Vektor `v` soll der 2. Spaltenvektor von `A` sein und auch bleiben (d.h., sich mitändern, wenn sich `A` ändert).\"\n", + "\n", + "Dies bezeichnet man in Julia als *views*: Wir wollen, dass die Variable `v` nur einen 'alternativen Blick' auf die Matrix `A` darstellt.\n", + "\n", + "Das kann man erreichen durch das `@view`-Macro: \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c86c7a1f", + "metadata": {}, + "outputs": [], + "source": [ + "A = [1 2 3\n", + " 3 4 5]\n", + "\n", + "v = @view A[:,2]\n", + "@show v\n", + "\n", + "A[1, 2] = 77\n", + "@show v;" + ] + }, + { + "cell_type": "markdown", + "id": "d076c1a5", + "metadata": {}, + "source": [ + "Diese Technik wird von Julia aus Effizienzgründen auch bei einigen Funktionen der linearen Algebra verwendet. \n", + "Ein Beispiel ist der Operator `'`, der zu einer Matrix `A` die adjungierte Matrix `A'` liefert.\n", + "\n", + "- Die adjungierte _(adjoint)_ Matrix `A'` ist die transponierte und elementweise komplex-konjugierte Matrix zu `A`. \n", + "- Der Parser macht daraus den Funktionsaufruf `adjoint(A)`. \n", + "- Für reelle Matrizen ist die Adjungierte gleich der transponierten Matrix.\n", + "- Julia implementiert `adjoint()` als _lazy function_, d.h., \n", + "- es wird aus Effizienzgründen kein neues Objekt konstruiert, sondern nur ein alternativer 'View' auf die Matrix (\"mit vertauschten Indizes\") und ein alternativer 'View' auf die Einträge (mit Vorzeichenwechsel im Imaginärteil).\n", + "- Aus Vektoren macht `adjoint()` eine $1\\!\\times\\!n$-Matrix (einen Zeilenvektor).\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f3bae50e", + "metadata": {}, + "outputs": [], + "source": [ + "A = [ 1. 2.\n", + " 3. 4.]\n", + "B = A'" + ] + }, + { + "cell_type": "markdown", + "id": "67138cff", + "metadata": {}, + "source": [ + "Die Matrix `B` ist nur ein modifizierter 'View' auf `A`:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "829acf4c", + "metadata": {}, + "outputs": [], + "source": [ + "A[1, 2] =10\n", + "B" + ] + }, + { + "cell_type": "markdown", + "id": "e3c2a66c", + "metadata": {}, + "source": [ + "Aus Vektoren macht `adjoint()` eine $1\\!\\times\\!n$-Matrix (einen Zeilenvektor).\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "78065100", + "metadata": {}, + "outputs": [], + "source": [ + "v = [1, 2, 3]\n", + "v'" + ] + }, + { + "cell_type": "markdown", + "id": "a5d85afa", + "metadata": {}, + "source": [ + "Eine weitere solche Funktion, die einen alternativen 'View', eine andere Indizierung, derselben Daten \n", + "liefert, ist `reshape()`. \n", + "\n", + "Hier wird ein Vektor mit 12 Einträgen in eine 3x4-Matrix verwandelt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c31328d", + "metadata": {}, + "outputs": [], + "source": [ + "A = [1,2,3,4,5,6,7,8,9,10,11,12]\n", + "\n", + "B = reshape(A, 3, 4) " + ] + }, + { + "cell_type": "markdown", + "id": "ab0bb6f9", + "metadata": {}, + "source": [ + "## Speicherung eines Arrays\n", + "\n", + "- Speicher wird linear adressiert. Eine Matrix kann zeilenweise _(row major)_ oder spaltenweise _(column major)_ im Speicher angeordnet sein. \n", + "- C/C++/Python(NumPy) verwenden eine zeilenweise Speicherung: Die 4 Elemente einer 2x2-Matrix sind abgespeichert in der Reihenfolge $a_{11},a_{12},a_{21},a_{22}$. \n", + "- Julia, Fortran, Matlab speichern spaltenweise: $a_{11},a_{21},a_{12},a_{22}$. \n", + "\n", + "Diese Information ist wichtig, um effizient über Matrizen zu iterieren:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e6b341f8", + "metadata": {}, + "outputs": [], + "source": [ + "function column_major_add(A, B)\n", + " (n,m) = size(A)\n", + " for j = 1:m\n", + " for i = 1:n # innere Schleife durchläuft eine Spalte\n", + " A[i,j] += B[i,j]\n", + " end\n", + " end\n", + "end\n", + "\n", + "function row_major_add(A, B)\n", + " (n,m) = size(A)\n", + " for i = 1:n\n", + " for j = 1:m # inere Schleife durchläuft eine Zeile\n", + " A[i,j] += B[i,j]\n", + " end\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "02e841a6", + "metadata": {}, + "outputs": [], + "source": [ + "A = rand(10000, 10000);\n", + "B = rand(10000, 10000);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "977e691b", + "metadata": {}, + "outputs": [], + "source": [ + "using BenchmarkTools\n", + "\n", + "@benchmark row_major_add($A, $B) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1e5df44b", + "metadata": {}, + "outputs": [], + "source": [ + "@benchmark column_major_add($A, $B)" + ] + }, + { + "cell_type": "markdown", + "id": "c75b3f1d", + "metadata": {}, + "source": [ + "### Lokalität von Speicherzugriffen und _Caching_\n", + "\n", + "Wir haben gesehen, dass die Reihenfolge von innerem und äußerem Loop einen erheblichen Geschwindigkeitsunterschied macht:\n", + "\n", + "__Es ist effizienter, wenn die innerste Schleife über den linken Index läuft__, also eine Spalte und nicht eine Zeile durchläuft. Die Ursache dafür liegt in der Architektur moderner Prozessoren.\n", + "\n", + "- Speicherzugriffe erfolgt über mehrere Cache-Ebenen. \n", + "- Ein _cache miss_, der ein Nachladen aus langsameren Caches auslöst, bremst aus.\n", + "- Es werden immer gleich größere Speicherblöcke nachgeladen, um die Häufigkeit von _cache misses_ zu minimieren.\n", + "- Daher ist es wichtig, Speicherzugriffe möglichst lokal zu organisieren.\n", + "\n", + "::: {.content-visible when-format=\"html\"}\n", + "![Speicherhierarchie von Intel-Prozessoren, aus: Victor Eijkhout,_Introduction to High-Performance Scientific Computing_, [https://theartofhpc.com/](https://theartofhpc.com/)](../images/cache.png){width=\"75%\"}\n", + "\n", + ":::\n", + "\n", + "::: {.content-visible when-format=\"pdf\"}\n", + "![Speicherhierarchie von Intel-Prozessoren, aus: Victor Eijkhout,_Introduction to High-Performance Scientific Computing_, [https://theartofhpc.com/](https://theartofhpc.com/)](../images/cache.png){width=\"70%\"}\n", + ":::\n", + "\n", + "\n", + "## Mathematische Operationen mit Arrays\n", + "\n", + "Arrays der gleichen Dimension (z.B. alle $7\\!\\times\\!3$-Matrizen) bilden einen linearen Raum. \n", + "\n", + " - Sie können mit Skalaren multipliziert werden und\n", + " - sie können addiert und subtrahiert werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "af7e8988", + "metadata": {}, + "outputs": [], + "source": [ + "0.5 * [2, 3, 4, 5]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b37890ac", + "metadata": {}, + "outputs": [], + "source": [ + "0.5 * [ 1 3\n", + " 2 7] - [ 2 3; 1 2]" + ] + }, + { + "cell_type": "markdown", + "id": "62d17bc4", + "metadata": {}, + "source": [ + "### Matrixprodukt\n", + "\n", + "Das Matrixprodukt ist definiert für \n", + "\n", + ":::{.narrow}\n", + "\n", + "| 1. Faktor | 2. Faktor | Produkt |\n", + "| :-: | :-: | :-: |\n", + "| $(n\\!\\times\\!m)$-Matrix | $(m\\!\\times\\!k)$-Matrix | $(n\\times k)$-Matrix|\n", + "| $(n\\!\\times\\!m)$-Matrix | $m$-Vektor | $n$-Vektor |\n", + "| $(1\\!\\times\\!m)$-Zeilenvektor | $(m\\!\\times\\!n)$-Matrix | $n$-Vektor |\n", + "| $(1\\!\\times\\!m)$-Zeilenvektor | $m$-Vektor | Skalarprodukt |\n", + "| $m$-Vektor | $(1\\times n)$-Zeilenvektor | $(m\\!\\times\\!n)$-Matrix |\n", + "\n", + ":::\n", + "\n", + "Beispiele:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bfd0201f", + "metadata": {}, + "outputs": [], + "source": [ + "A = [1 2 3\n", + " 4 5 6]\n", + "v = [2, 3]\n", + "w = [1, 3, 4];" + ] + }, + { + "cell_type": "markdown", + "id": "78eb3a67", + "metadata": {}, + "source": [ + "- (2,3)-Matrix `*` (3,2)-Matrix\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5012734f", + "metadata": {}, + "outputs": [], + "source": [ + "A * A'" + ] + }, + { + "cell_type": "markdown", + "id": "6853f87e", + "metadata": {}, + "source": [ + "- (3,2)-Matrix `*` (2,3)-Matrix\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0043d2e3", + "metadata": {}, + "outputs": [], + "source": [ + "A' * A" + ] + }, + { + "cell_type": "markdown", + "id": "2f8fef4c", + "metadata": {}, + "source": [ + "- (2,3)-Matrix `*` 3-Vektor\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b12cbb35", + "metadata": {}, + "outputs": [], + "source": [ + "A * w" + ] + }, + { + "cell_type": "markdown", + "id": "80ba832f", + "metadata": {}, + "source": [ + "- (1,2)-Vektore `*` (2,3)-Matrix\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f832930e", + "metadata": {}, + "outputs": [], + "source": [ + "v' * A" + ] + }, + { + "cell_type": "markdown", + "id": "30ccb92a", + "metadata": {}, + "source": [ + "- (3,2)-Matrix `*` 2-Vektor\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20668407", + "metadata": {}, + "outputs": [], + "source": [ + "A' * v" + ] + }, + { + "cell_type": "markdown", + "id": "11148039", + "metadata": {}, + "source": [ + "- (1,2)-Vektor `*` 2-Vektor (Skalarprodukt)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b7f89eac", + "metadata": {}, + "outputs": [], + "source": [ + "v' * v" + ] + }, + { + "cell_type": "markdown", + "id": "a6c08a07", + "metadata": {}, + "source": [ + "2-Vektor `*` (1,3)-Vektor (äußeres Produkt) \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "71f47541", + "metadata": {}, + "outputs": [], + "source": [ + "v * w'" + ] + }, + { + "cell_type": "markdown", + "id": "7d1fe459", + "metadata": {}, + "source": [ + "## Broadcasting {#sec-broadcast}\n", + "\n", + "- Beim _broadcasting_ werden Operationen oder Funktionen __elementweise__ auf Arrays angewendet.\n", + "- Die Syntax dafür ist ein Punkt _vor_ einem Operationszeichen oder _nach_ einem Funktionsnamen. \n", + "- Der Parser setzt `f.(x,y)` um zu `broadcast(f, x, y)` und analog für Operatoren `x .⊙ y` zu `broadcast(⊙, z, y)`. \n", + "- Dabei werden Operanden, denen eine oder mehrere Dimensionen fehlen, in diesen Dimensionen (virtuell) vervielfältigt. \n", + "- Das *broadcasting* von Zuweisungen `.=`, `.+=`,... verändert die Semantik. Es wird kein neues Objekt erzeugt, sondern die Werte werden in das links stehende Objekt (welches die richtige Dimension haben muss) eingetragen.\n", + "\n", + "\n", + "Einige Beispiele:\n", + "\n", + "- Elementweise Anwendung einer Funktion\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b2f54bd", + "metadata": {}, + "outputs": [], + "source": [ + "sin.([1, 2, 3])" + ] + }, + { + "cell_type": "markdown", + "id": "9e2b6b10", + "metadata": {}, + "source": [ + "- Das Folgende liefert nicht die algebraische [Wurzel aus einer Matrix](https://de.wikipedia.org/wiki/Quadratwurzel_einer_Matrix), sondern die elementweise Wurzel aus jedem Eintrag. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eed676ee", + "metadata": {}, + "outputs": [], + "source": [ + "A = [8 2\n", + " 3 4]\n", + "\n", + "sqrt.(A)" + ] + }, + { + "cell_type": "markdown", + "id": "ae8a2b5e", + "metadata": {}, + "source": [ + "- Das Folgende liefert nicht $A^2$, sondern die Einträge werden quadriert.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0cc93370", + "metadata": {}, + "outputs": [], + "source": [ + "A.^2 " + ] + }, + { + "cell_type": "markdown", + "id": "3f8e55c6", + "metadata": {}, + "source": [ + "- Zum Vergleich das Ergenmis der algebraischen Operationen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1b97fa1", + "metadata": {}, + "outputs": [], + "source": [ + "@show A^2 A^(1/2);" + ] + }, + { + "cell_type": "markdown", + "id": "6e3c2f80", + "metadata": {}, + "source": [ + "- Broadcasting geht auch mit Funktionen mehrerer Variablen.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "14763047", + "metadata": {}, + "outputs": [], + "source": [ + "hyp(a,b) = sqrt(a^2+b^2)\n", + "\n", + "B = [3 4\n", + " 5 7]\n", + "\n", + "hyp.(A, B) " + ] + }, + { + "cell_type": "markdown", + "id": "7c23f048", + "metadata": {}, + "source": [ + "Bei Operanden verschiedener Dimension wird der Operand mit fehlenden Dimensionen in diesen durch Vervielfältigung virtuell \n", + "'aufgeblasen'.\n", + "\n", + "Wir addieren einen Skalar zu einer Matrix:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d1186a3d", + "metadata": {}, + "outputs": [], + "source": [ + "A = [ 1 2 3\n", + " 4 5 6]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ca261d61", + "metadata": {}, + "outputs": [], + "source": [ + "A .+ 300" + ] + }, + { + "cell_type": "markdown", + "id": "88d70780", + "metadata": {}, + "source": [ + "Der Skalar wurde durch Replikation auf dieselbe Dimension wie die Matrix gebracht. Wir lassen uns von `broadcast()` die Form des 2. Operanden nach dem *broadcasting* anzeigen: \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c48e84e2", + "metadata": {}, + "outputs": [], + "source": [ + "broadcast( (x,y) -> y, A, 300)" + ] + }, + { + "cell_type": "markdown", + "id": "021a47a6", + "metadata": {}, + "source": [ + "(Natürlich findet diese Replikation nur virtuell statt. Dieses Objekt wird bei anderen Operationen nicht wirklich erzeugt.)\n", + "\n", + "Als weiteres Beispiel: Matrix und (Spalten-)Vektor\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "769ea0eb", + "metadata": {}, + "outputs": [], + "source": [ + "A .+ [10, 20]" + ] + }, + { + "cell_type": "markdown", + "id": "458cdda2", + "metadata": {}, + "source": [ + "Der Vektor wird durch Wiederholung der Spalten aufgeblasen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa093187", + "metadata": {}, + "outputs": [], + "source": [ + "broadcast((x,y)->y, A, [10,20])" + ] + }, + { + "cell_type": "markdown", + "id": "a5fa929f", + "metadata": {}, + "source": [ + "Matrix und Zeilenvektor: Der Zeilenvektor wird zeilenweise vervielfältigt:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c3d35884", + "metadata": {}, + "outputs": [], + "source": [ + "A .* [1,2,3]' # Adjungierter Vektor" + ] + }, + { + "cell_type": "markdown", + "id": "01cd8879", + "metadata": {}, + "source": [ + "Der 2. Operand wird von `broadcast()` durch Vervielfältigung der Zeilen 'aufgeblasen'.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e90d0b0", + "metadata": {}, + "outputs": [], + "source": [ + "broadcast((x,y)->y, A, [1,2,3]')" + ] + }, + { + "cell_type": "markdown", + "id": "6d5febb2", + "metadata": {}, + "source": [ + "#### _Broadcasting_ bei Zuweisungen\n", + "\n", + "Zuweisungen `=`, `+=`, `/=`,..., bei denen links ein Name steht, laufen in Julia so ab, dass aus der rechten Seite ein Objekt konstruiert und diesem Objekt der neue Name zugewiesen wird. \n", + "\n", + "Beim Arbeiten mit Arrays will man allerdings sehr oft aus Effizienzgründen einen bestehenden Array weiterverwenden. Die rechts berechneten Einträge sollen in das bereits existierende Objekt auf der linken Seite eingetragen werden. \n", + "\n", + "Das erreicht man mit den Broadcast-Varianten `.=`, `.+=`,... der Zuweisungsoperatoren.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "14dece22", + "metadata": {}, + "outputs": [], + "source": [ + "A .= 3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b73a744", + "metadata": {}, + "outputs": [], + "source": [ + "A .+= [1, 4]" + ] + }, + { + "cell_type": "markdown", + "id": "33ad4d5e", + "metadata": {}, + "source": [ + "## Weitere Array-Funktionen - eine Auswahl\n", + "\n", + "Julia stellt eine große Anzahl von Funktionen bereit, die mit Arrays arbeiten.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "04f8dc09", + "metadata": {}, + "outputs": [], + "source": [ + "A = [22 -17 8 ; 4 6 9]" + ] + }, + { + "cell_type": "markdown", + "id": "58ce80a0", + "metadata": {}, + "source": [ + "- Finde das Maximum\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34487039", + "metadata": {}, + "outputs": [], + "source": [ + "maximum(A)" + ] + }, + { + "cell_type": "markdown", + "id": "d17e1a0d", + "metadata": {}, + "source": [ + "- Finde das Maximum jeder Spalte\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "801f2031", + "metadata": {}, + "outputs": [], + "source": [ + "maximum(A, dims=1) " + ] + }, + { + "cell_type": "markdown", + "id": "2478bd06", + "metadata": {}, + "source": [ + "- Finde das Maximum jeder Zeile\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85671a6a", + "metadata": {}, + "outputs": [], + "source": [ + "maximum(A, dims=2)" + ] + }, + { + "cell_type": "markdown", + "id": "acb7426d", + "metadata": {}, + "source": [ + "- Finde das Minimum und seine Position\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e6dd832a", + "metadata": {}, + "outputs": [], + "source": [ + "amin, i = findmin(A)" + ] + }, + { + "cell_type": "markdown", + "id": "42cca03b", + "metadata": {}, + "source": [ + "- Was ist ein `CatesianIndex`?\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f07d0f44", + "metadata": {}, + "outputs": [], + "source": [ + "dump(i)" + ] + }, + { + "cell_type": "markdown", + "id": "ad46031d", + "metadata": {}, + "source": [ + "- Extrahiere die Indizes des Minimum als Tupel\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "73fee196", + "metadata": {}, + "outputs": [], + "source": [ + "i.I" + ] + }, + { + "cell_type": "markdown", + "id": "eb657bc1", + "metadata": {}, + "source": [ + "- Summe und Produkt aller Einträge\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56363941", + "metadata": {}, + "outputs": [], + "source": [ + "sum(A), prod(A)" + ] + }, + { + "cell_type": "markdown", + "id": "c7cf919e", + "metadata": {}, + "source": [ + "- Spaltensumme (1. Index wird reduziert)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c6fecc3b", + "metadata": {}, + "outputs": [], + "source": [ + "sum(A, dims=1) " + ] + }, + { + "cell_type": "markdown", + "id": "5081b4da", + "metadata": {}, + "source": [ + "- Zeilensummen (2. Index wird reduziert)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a1099f5a", + "metadata": {}, + "outputs": [], + "source": [ + "sum(A, dims=2) " + ] + }, + { + "cell_type": "markdown", + "id": "05404237", + "metadata": {}, + "source": [ + "- Summiere nach elementweiser Anwendung einer Funktion\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fcd3a0a8", + "metadata": {}, + "outputs": [], + "source": [ + "sum(x->sqrt(abs(x)), A) # sum_ij sqrt(|a_ij|)" + ] + }, + { + "cell_type": "markdown", + "id": "59f9b755", + "metadata": {}, + "source": [ + "- Reduziere (falte) den Array mit einer Funktion\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a7ecdced", + "metadata": {}, + "outputs": [], + "source": [ + "reduce(+, A) # equivalent to sum(A)" + ] + }, + { + "cell_type": "markdown", + "id": "c72dff31", + "metadata": {}, + "source": [ + "- `mapreduce(f, op, array)`: Wende `f` auf alle Einträge an, dann reduziere mit `op`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99dc2a14", + "metadata": {}, + "outputs": [], + "source": [ + "mapreduce(x -> x^2, +, A ) # Summe der Quadrate aller Einträge" + ] + }, + { + "cell_type": "markdown", + "id": "de530920", + "metadata": {}, + "source": [ + "- Gibt es Elemente in A, die > 5 sind? \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "53d33e6c", + "metadata": {}, + "outputs": [], + "source": [ + "any(x -> x>5, A) " + ] + }, + { + "cell_type": "markdown", + "id": "9dea54d7", + "metadata": {}, + "source": [ + "- Wieviele Elemente in A sind > 5?\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7dbdc21b", + "metadata": {}, + "outputs": [], + "source": [ + "count(x-> x>5, A) " + ] + }, + { + "cell_type": "markdown", + "id": "6c57c62e", + "metadata": {}, + "source": [ + "- sind alle Einträge positiv?\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "394308c2", + "metadata": {}, + "outputs": [], + "source": [ + "all(x-> x>0, A)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/9_functs.ipynb b/nb/9_functs.ipynb new file mode 100644 index 0000000..fada2fe --- /dev/null +++ b/nb/9_functs.ipynb @@ -0,0 +1,1142 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "87512b9c", + "metadata": {}, + "source": [ + "# Funktionen und Operatoren\n", + "\n", + "Funktionen verarbeiten ihre Argumente zu einem Ergebnis, das sie beim Aufruf zurückliefern.\n", + "\n", + "## Formen\n", + "\n", + "Funktionen können in verschiedenen Formen definiert werden:\n", + "\n", + "I. Als `function ... end`-Block\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2cdf33d6", + "metadata": {}, + "outputs": [], + "source": [ + "function hyp(x,y)\n", + " sqrt(x^2+y^2)\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "d22901e3", + "metadata": {}, + "source": [ + "II. Als \"Einzeiler\" \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "338f000a", + "metadata": {}, + "outputs": [], + "source": [ + "hyp(x, y) = sqrt(x^2 + y^2)" + ] + }, + { + "cell_type": "markdown", + "id": "f14a745f", + "metadata": {}, + "source": [ + "III. Als anonyme Funktionen\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44319487", + "metadata": {}, + "outputs": [], + "source": [ + "(x, y) -> sqrt(x^2 + y^2)" + ] + }, + { + "cell_type": "markdown", + "id": "d8f8978c", + "metadata": {}, + "source": [ + "### Block-Form und `return`\n", + "\n", + "\n", + "- Mit `return` wird die Abarbeitung der Funktion beendet und zum aufrufenden Kontext zurückgekehrt.\n", + "- Ohne `return` wird der Wert des letzten Ausdrucks als Funktionswert zurückgegeben.\n", + "\n", + "Die beiden Definitionen\n", + "\n", + "```julia\n", + "function xsinrecipx(x)\n", + " if x == 0 \n", + " return 0.0\n", + " end \n", + " return x * sin(1/x)\n", + "end\n", + "```\n", + "und ohne das zweite explizite `return` in der letzten Zeile: \n", + "\n", + "```julia\n", + "function xsinrecipx(x)\n", + " if x == 0 \n", + " return 0.0\n", + " end \n", + " x * sin(1/x)\n", + "end\n", + "```\n", + "\n", + "sind also äquivalent.\n", + "\n", + "\n", + "- Eine Funktion, die \"nichts\" zurückgibt (_void functions_ in der C-Welt), gibt den Wert `nothing` vom Typ `Nothing` zurück. (So wie ein Objekt vom Typ `Bool` die beiden Werte `true` und `false` haben kann, so kann ein Objekt vom Typ `Nothing` nur einen einzigen Wert, eben `nothing`, annehmen.)\n", + "- Eine leere `return`-Anweisung ist äquivalent zu `return nothing`. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "721d72e8", + "metadata": {}, + "outputs": [], + "source": [ + "function fn(x)\n", + " println(x)\n", + " return \n", + "end\n", + "\n", + "a = fn(2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6847d6a", + "metadata": {}, + "outputs": [], + "source": [ + "a" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "483d2b6b", + "metadata": {}, + "outputs": [], + "source": [ + "@show a typeof(a);" + ] + }, + { + "cell_type": "markdown", + "id": "66a0d115", + "metadata": {}, + "source": [ + "### Einzeiler-Form\n", + "\n", + "Die Einzeilerform ist eine ganz normale Zuweisung, bei der links eine Funktion steht.\n", + "\n", + "```julia\n", + "hyp(x, y) = sqrt(x^2 + y^2)\n", + "```\n", + "\n", + "Julia kennt zwei Möglichkeiten, mehrere Anweisungen zu einem Block zusammenzufassen, der an Stelle einer Einzelanweisung stehen kann: \n", + "\n", + "- `begin ... end`-Block\n", + "- Eingeklammerte durch Semikolon getrennte Anweisungen.\n", + "\n", + "In beiden Fällen ist der Wert des Blockes der Wert der letzten Anweisung.\n", + "\n", + "Damit funktioniert auch\n", + "```julia\n", + "hyp(x, y) = (z = x^2; z += y^2; sqrt(z))\n", + "```\n", + "\n", + "und\n", + "```julia\n", + "hyp(x, y) = begin \n", + " z = x^2\n", + " z += y^2 \n", + " sqrt(z) \n", + " end\n", + "```\n", + "\n", + "### Anonyme Funktionen\n", + "\n", + "Anonyme FUnktionen kann man der Anonymität entreisen, indem man ihnen einen Namen zuweist. \n", + "```julia\n", + "hyp = (x,y) -> sqrt(x^2 + y^2)\n", + "```\n", + "Ihre eigentliche Anwendung ist aber im Aufruf einer *(higher order)* Funktion, die eine Funktion als Argument erwartet. \n", + "\n", + "Typische Anwendungen sind `map(f, collection)`, welches eine Funktion auf alle Elemente einer Kollektion anwendet. In Julia funktioniert auch `map(f(x,y), collection1, collection2)`:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e07295eb", + "metadata": {}, + "outputs": [], + "source": [ + "map( (x,y) -> sqrt(x^2 + y^2), [3, 5, 8], [4, 12, 15])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b8ca9baf", + "metadata": {}, + "outputs": [], + "source": [ + "map( x->3x^3, 1:8 )" + ] + }, + { + "cell_type": "markdown", + "id": "9ba0e8db", + "metadata": {}, + "source": [ + "Ein weiteres Beispiel ist `filter(test, collection)`, wobei ein Test eine Funktion ist, die ein `Bool` zurückgibt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12731194", + "metadata": {}, + "outputs": [], + "source": [ + "filter(x -> ( x%3 == 0 && x%5 == 0), 1:100 )" + ] + }, + { + "cell_type": "markdown", + "id": "f4af9755", + "metadata": {}, + "source": [ + "## Argumentübergabe\n", + "\n", + "\n", + "- Beim Funktionsaufruf werden von den als Funktionsargumente zu übergebenden Objekten keine Kopien gemacht. Die Variablen in der Funktion verweisen auf die Originalobjekte. Julia nennt dieses Konzept _pass_by_sharing_. \n", + "- Funktionen können also ihre Argumente wirksam modifizieren, falls es sich um _mutable_ Objekte, wie z.B. `Vector`, `Array` handelt.\n", + "- Es ist eine Konvention in Julia, dass die Namen von solchen argumentmodifizierenden Funktionen mit einem Ausrufungszeichen enden. Weiterhin steht dann üblicherweise das Argument, das modifiziert wird, an erster Stelle und es ist auch der Rückgabewert der Funktion. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d34f0256", + "metadata": {}, + "outputs": [], + "source": [ + "V = [1, 2, 3]\n", + "\n", + "W = fill!(V, 17)\n", + " # '===' ist Test auf Identität\n", + "@show V W V===W; # V und W benennen dasselbe Objekt " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f83f5e37", + "metadata": {}, + "outputs": [], + "source": [ + "function fill_first!(V, x)\n", + " V[1] = x\n", + " return V \n", + "end \n", + "\n", + "U = fill_first!(V, 42)\n", + "\n", + "@show V U V===U;" + ] + }, + { + "cell_type": "markdown", + "id": "7476eab9", + "metadata": {}, + "source": [ + "## Varianten von Funktionsargumenten\n", + "\n", + "- Es gibt Positionsargumente (1. Argument, 2. Argument, ....) und _keyword_-Argumente, die beim Aufruf durch ihren Namen angesprochen werden müssen. \n", + "- Sowohl Positions- als auch _keyword_-Argumente können _default_-Werte haben. Beim Aufruf können diese Argumente weggelassen werden.\n", + "- Die Reihenfolge der Deklaration muss sein:\n", + " 1. Positionsargumente ohne Defaultwert, \n", + " 2. Positionsargumente mit Defaultwert,\n", + " 3. --- Semikolon ---,\n", + " 4. kommagetrennte Liste der Keywordargumente (mit oder ohne Defaultwert) \n", + "- Beim Aufruf können _keyword_-Argumente an beliebigen Stellen in beliebiger Reihenfolge stehen. Man kann sie wieder durch ein Semikolon von den Positionsargumenten abtrennen, muss aber nicht.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e67e1006", + "metadata": {}, + "outputs": [], + "source": [ + "fa(x, y=42; a) = println(\"x=$x, y=$y, a=$a\")\n", + "\n", + "fa(6, a=4, 7)\n", + "fa(6, 7; a=4)\n", + "fa(a=-2, 6)" + ] + }, + { + "cell_type": "markdown", + "id": "1d889283", + "metadata": {}, + "source": [ + "Eine Funktion nur mit _keyword_-Argumenten wird so deklariert:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e79269ee", + "metadata": {}, + "outputs": [], + "source": [ + "fkw(; x=10, y) = println(\"x=$x, y=$y\")\n", + "\n", + "fkw(y=2)" + ] + }, + { + "cell_type": "markdown", + "id": "14d197af", + "metadata": {}, + "source": [ + "## Funktionen sind ganz normale Objekte\n", + "\n", + " - Sie können zugewiesen werden\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e0a4b89", + "metadata": {}, + "outputs": [], + "source": [ + "f2 = sqrt\n", + "f2(2)" + ] + }, + { + "cell_type": "markdown", + "id": "6f0fef37", + "metadata": {}, + "source": [ + "- Sie können als Argumente an Funktionen übergeben werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c6db6121", + "metadata": {}, + "outputs": [], + "source": [ + "# sehr naive numerische Integration\n", + "\n", + "function Riemann_integrate(f, a, b; NInter=1000)\n", + " delta = (b-a)/NInter\n", + " s = 0\n", + " for i in 0:NInter-1\n", + " s += delta * f(a + delta/2 + i * delta)\n", + " end\n", + " return s\n", + "end\n", + "\n", + "\n", + "Riemann_integrate(sin, 0, π)" + ] + }, + { + "cell_type": "markdown", + "id": "b8eb1978", + "metadata": {}, + "source": [ + "- Sie können von Funktionen erzeugt und als Ergebnis `return`t werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "67e640ce", + "metadata": {}, + "outputs": [], + "source": [ + "function generate_add_func(x)\n", + " function addx(y)\n", + " return x+y\n", + " end\n", + " return addx\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a78dd669", + "metadata": {}, + "outputs": [], + "source": [ + "h = generate_add_func(4)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23b557af", + "metadata": {}, + "outputs": [], + "source": [ + "h(1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "440b7568", + "metadata": {}, + "outputs": [], + "source": [ + "h(2), h(10)" + ] + }, + { + "cell_type": "markdown", + "id": "ab655f0f", + "metadata": {}, + "source": [ + "Die obige Funktion `generate_add_func()` lässt sich auch kürzer definieren. Der innere Funktionsname `addx()` ist sowieso lokal und außerhalb nicht verfügbar. Also kann man eine anonyme Funktion verwenden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d0b76e9c", + "metadata": {}, + "outputs": [], + "source": [ + "generate_add_func(x) = y -> x + y" + ] + }, + { + "cell_type": "markdown", + "id": "9dcb1129", + "metadata": {}, + "source": [ + "## Zusammensetzung von Funktionen: die Operatoren $\\circ$ und `|>`\n", + "\n", + "- Die Zusammensetzung _(composition)_ von Funktionen kann auch mit dem Operator $\\circ$ (`\\circ + Tab`) geschrieben werden \n", + "\n", + "$$(f\\circ g)(x) = f(g(x))$$\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fcaf335f", + "metadata": {}, + "outputs": [], + "source": [ + "(sqrt ∘ + )(9, 16)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "48dd034e", + "metadata": {}, + "outputs": [], + "source": [ + "f = cos ∘ sin ∘ (x->2x)\n", + "f(.2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ecd0bb3", + "metadata": {}, + "outputs": [], + "source": [ + "@show map(uppercase ∘ first, [\"ein\", \"paar\", \"grüne\", \"Blätter\"]);" + ] + }, + { + "cell_type": "markdown", + "id": "64c2f8ca", + "metadata": {}, + "source": [ + "- Es gibt auch einen Operator, mit dem Funktionen \"von rechts\" wirken und zusammengesetzt werden können _(piping)_\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8cdef694", + "metadata": {}, + "outputs": [], + "source": [ + "25 |> sqrt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4fd01026", + "metadata": {}, + "outputs": [], + "source": [ + "1:10 |> sum |> sqrt" + ] + }, + { + "cell_type": "markdown", + "id": "d8c6e6f3", + "metadata": {}, + "source": [ + "- Natürlich kann man auch diese Operatoren 'broadcasten' (s. @sec-broadcast). Hier wirkt ein Vektor von Funktionen elementweise auf einen Vektor von Argumenten:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "94691aad", + "metadata": {}, + "outputs": [], + "source": [ + "[\"a\", \"list\", \"of\", \"strings\"] .|> [length, uppercase, reverse, titlecase]" + ] + }, + { + "cell_type": "markdown", + "id": "f4b75c54", + "metadata": {}, + "source": [ + "## Die `do`-Notation\n", + "\n", + "Eine syntaktische Besonderheit zur Definition anonymer Funktionen als Argumente anderer Funktionen ist die `do`-Notation.\n", + "\n", + "Sei `higherfunc(f,a,...)` eine Funktion, deren 1. Argument eine Funktion ist. \n", + "\n", + "Dann kann man `higherfunc()` auch ohne erstes Argument aufrufen und statt dessen die Funktion in einem unmittelbar folgenden `do`-Block definieren:\n", + "\n", + "```julia\n", + "higherfunc(a, b) do x, y\n", + " Körper von f(x,y)\n", + "end\n", + "```\n", + "\n", + "Am Beispiel von `Riemann_integrate()` sieht das so aus:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "76c02df9", + "metadata": {}, + "outputs": [], + "source": [ + "# das ist dasselbe wie Riemann_integrate(x->x^2, 0, 2)\n", + "\n", + "Riemann_integrate(0, 2) do x x^2 end" + ] + }, + { + "cell_type": "markdown", + "id": "a708ad3e", + "metadata": {}, + "source": [ + "Der Sinn besteht natürlich in der Anwendung mit komplexeren Funktionen, wie diesem aus zwei Teilstücken zusammengesetzten Integranden:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3012c9b", + "metadata": {}, + "outputs": [], + "source": [ + "r = Riemann_integrate(0, π) do x\n", + " z1 = sin(x)\n", + " z2 = log(1+x)\n", + " if x > 1 \n", + " return z1^2\n", + " else\n", + " return 1/z2^2\n", + " end\n", + " end" + ] + }, + { + "cell_type": "markdown", + "id": "c38a800c", + "metadata": {}, + "source": [ + "## Funktionsartige Objekte\n", + "\n", + "Durch Definition einer geeigneten Methode für einen Typ kann man beliebige Objekte *callable* machen, d.h., sie anschließend wie Funktionen aufrufen.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5de4f59a", + "metadata": {}, + "outputs": [], + "source": [ + "# struct speichert die Koeffiziente eines Polynoms 2. Grades\n", + "struct Poly2Grad \n", + " a0::Float64\n", + " a1::Float64\n", + " a2::Float64\n", + "end\n", + "\n", + "p1 = Poly2Grad(2,5,1)\n", + "p2 = Poly2Grad(3,1,-0.4)" + ] + }, + { + "cell_type": "markdown", + "id": "8b0b62a3", + "metadata": {}, + "source": [ + "Die folgende Methode macht diese Struktur `callable`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a5cb287", + "metadata": {}, + "outputs": [], + "source": [ + "function (p::Poly2Grad)(x)\n", + " p.a2 * x^2 + p.a1 * x + p.a0\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "a5149012", + "metadata": {}, + "source": [ + "Jetzt kann man die Objekte, wenn gewünscht, auch wie Funktionen verwenden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b271dbf1", + "metadata": {}, + "outputs": [], + "source": [ + "@show p2(5) p1(-0.7) p1;" + ] + }, + { + "cell_type": "markdown", + "id": "b355c1b0", + "metadata": {}, + "source": [ + "## Operatoren und spezielle Formen\n", + "\n", + "- Infix-Operatoren wie `+,*,>,∈,...` sind Funktionen.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f71f917", + "metadata": {}, + "outputs": [], + "source": [ + "+(3, 7)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b19e79cf", + "metadata": {}, + "outputs": [], + "source": [ + "f = +" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "869917d4", + "metadata": {}, + "outputs": [], + "source": [ + "f(3, 7)" + ] + }, + { + "cell_type": "markdown", + "id": "490bceac", + "metadata": {}, + "source": [ + "- Auch Konstruktionen wie `x[i]`, `a.x`, `[x; y]` werden vom Parser zu Funktionsaufrufen umgewandelt.\n", + "\n", + ":::{.narrow}\n", + "\n", + "| | |\n", + "| :-: | :------------ |\n", + "| x[i] | getindex(x, i) |\n", + "| x[i] = z | setindex!(x, z, i) |\n", + "| a.x | getproperty(a, :x) | \n", + "| a.x = z | setproperty!(a, :x, z) |\n", + "| [x; y;...] | vcat(x, y, ...) |\n", + " :Spezielle Formen [(Auswahl)](https://docs.julialang.org/en/v1/manual/functions/#Operators-With-Special-Names)\n", + "\n", + ":::\n", + "\n", + "(Der Doppelpunkt vor einer Variablen macht diese zu einem Symbol.)\n", + "\n", + ":::{.callout-note}\n", + "Für diese Funktionen kann man eigene Methoden implementieren. Zum Beispiel könnten bei einem eigenen Typ das Setzen eines Feldes (`setproperty!()`) die Gültigkeit des Wertes prüfen oder weitere Aktionen veranlassen. \n", + "\n", + "Prinzipiell können `get/setproperty` auch Dinge tun, die gar nichts mit einem tatsächlich vorhandenen Feld der Struktur zu tun haben. \n", + ":::\n", + "\n", + "## Update-Form\n", + "\n", + "Alle arithmetischen Infix-Operatoren haben eine update-Form: Der Ausdruck\n", + "```julia\n", + "x = x ⊙ y\n", + "```\n", + "kann auch geschrieben werden als\n", + "```julia\n", + "x ⊙= y\n", + "```\n", + "\n", + "Beide Formen sind semantisch äquivalent. Insbesondere wird in beiden Formen der Variablen `x` ein auf der rechten Seite geschaffenes neues Objekt zugewiesen. \n", + "\n", + "Ein Speicherplatz- und Zeit-sparendes __in-place-update__ eines Arrays/Vektors/Matrix ist möglich entweder durch explizite Indizierung\n", + "```julia\n", + "for i in eachindex(x)\n", + " x[i] += y[i]\n", + "end\n", + "```\n", + "oder durch die dazu semantisch äquivalente _broadcast_-Form (s. @sec-broadcast):\n", + "```julia\n", + "x .= x .+ y\n", + "```\n", + "\n", + "\n", + "\n", + "## Vorrang und Assoziativität von Operatoren {#sec-vorrang}\n", + "\n", + "Zu berechnende Ausdrücke \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4d92cc97", + "metadata": {}, + "outputs": [], + "source": [ + " -2^3+500/2/10==8 && 13 > 7 + 1 || 9 < 2" + ] + }, + { + "cell_type": "markdown", + "id": "ec6b89f6", + "metadata": {}, + "source": [ + "werden vom Parser in eine Baumstruktur überführt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f607850", + "metadata": {}, + "outputs": [], + "source": [ + "using TreeView\n", + "\n", + "walk_tree(Meta.parse(\"-2^3+500/2/10==8 && 13 > 7 + 1 || 9 < 2\"))" + ] + }, + { + "cell_type": "markdown", + "id": "68328dda", + "metadata": {}, + "source": [ + "- Die Auswertung solcher Ausdrücke wird durch \n", + " - Vorrang _(precedence)_ und \n", + " - Assoziativität geregelt.\n", + "- 'Vorrang' definiert, welche Operatoren stärker binden im Sinne von \"Punktrechnung geht vor Strichrechnung\".\n", + "- 'Assoziativität' bestimmt die Auswertungsreihenfolge bei gleichen oder gleichrangigen Operatoren.\n", + "- [Vollständige Dokumentation](https://docs.julialang.org/en/v1/manual/mathematical-operations/#Operator-Precedence-and-Associativity)\n", + "\n", + "### Assoziativität\n", + "\n", + "Sowohl Addition und Subtraktion als auch Multiplikation und Divison sind jeweils gleichrangig und linksassoziativ, d.h. es wird von links ausgewertet.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "71fdbe34", + "metadata": {}, + "outputs": [], + "source": [ + "200/5/2 # wird von links ausgewertet als (200/5)/2 " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc26727a", + "metadata": {}, + "outputs": [], + "source": [ + "200/2*5 # wird von links ausgewertet als (200/2)*5" + ] + }, + { + "cell_type": "markdown", + "id": "0253c57a", + "metadata": {}, + "source": [ + "Zuweisungen wie `=`, `+=`, `*=`,... sind gleichrangig und rechtsassoziativ.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f9891ea", + "metadata": {}, + "outputs": [], + "source": [ + "x = 1\n", + "y = 10\n", + "\n", + "# wird von rechts ausgewertet: x += (y += (z = (a = 20)))\n", + "\n", + "x += y += z = a = 20 \n", + "\n", + "@show x y z a;" + ] + }, + { + "cell_type": "markdown", + "id": "9eeccc4c", + "metadata": {}, + "source": [ + "Natürlich kann man die Assoziativität in Julia auch abfragen. Die entsprechenden Funktionen werden nicht expizit aus dem `Base`-Modul exportiert, deshalb muss man den Modulnamen beim Aufruf angeben. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23fe3c28", + "metadata": {}, + "outputs": [], + "source": [ + "for i in (:/, :+=, :(=), :^)\n", + " a = Base.operator_associativity(i)\n", + " println(\"Operation $i is $(a)-assoziative\")\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "148b459a", + "metadata": {}, + "source": [ + "Also ist der Potenzoperator rechtsassoziativ.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d1ad2685", + "metadata": {}, + "outputs": [], + "source": [ + "2^3^2 # rechtsassoziativ, = 2^(3^2) " + ] + }, + { + "cell_type": "markdown", + "id": "86c59c17", + "metadata": {}, + "source": [ + "### Vorrang\n", + "\n", + "- Julia ordnet den Operatoren Vorrangstufen von 1 bis 17 zu: \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c97eee7", + "metadata": {}, + "outputs": [], + "source": [ + "for i in (:+, :-, :*, :/, :^, :(=))\n", + " p = Base.operator_precedence(i)\n", + " println(\"Vorrang von $i = $p\") \n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "177ecf6d", + "metadata": {}, + "source": [ + "- 11 ist kleiner als 12, also geht 'Punktrechnung vor Strichrechnung'\n", + "- Der Potenz-Operator `^` hat eine höhere _precedence_.\n", + "- Zuweisungen haben die kleinste _precedence_\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30c88bf2", + "metadata": {}, + "outputs": [], + "source": [ + "# Zuweisung hat kleinsten Vorrang, daher Auswertung als x = (3 < 4)\n", + "\n", + "x = 3 < 4 \n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b4a0a3ee", + "metadata": {}, + "outputs": [], + "source": [ + "(y = 3) < 4 # Klammern schlagen natürlich jeden Vorrang\n", + "y" + ] + }, + { + "cell_type": "markdown", + "id": "0384575c", + "metadata": {}, + "source": [ + "Nochmal zum Beispiel vom Anfang von @sec-vorrang:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56488075", + "metadata": {}, + "outputs": [], + "source": [ + "-2^3+500/2/10==8 && 13 > 7 + 1 || 9 < 2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "543e7874", + "metadata": {}, + "outputs": [], + "source": [ + "for i ∈ (:^, :+, :/, :(==), :&&, :>, :|| )\n", + " print(i, \" \")\n", + " println(Base.operator_precedence(i))\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "bcb7fc77", + "metadata": {}, + "source": [ + "Nach diesen Vorrangregeln wird der Beispielausdruck also wie folgt ausgewertet:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89af1388", + "metadata": {}, + "outputs": [], + "source": [ + "((-(2^3)+((500/2)/10)==8) && (13 > (7 + 1))) || (9 < 2)" + ] + }, + { + "cell_type": "markdown", + "id": "509a3955", + "metadata": {}, + "source": [ + "(Das entspricht natürlich dem oben gezeigten *parse-tree*)\n", + "\n", + "Es gilt also für den Vorrang:\n", + "\n", + "> Potenz > Multiplikation/Division > Addition/Subtraktion > Vergleiche > logisches && > logisches || > Zuweisung\n", + "\n", + "Damit wird ein Ausdruck wie \n", + "```julia\n", + " a = x <= y + z && x > z/2 \n", + "``` \n", + "sinnvoll ausgewertet als `a = ((x <= (y+z)) && (x < (z/2)))`\n", + "\n", + "\n", + "- Eine Besonderheit sind noch\n", + " \n", + " - unäre Operatoren, also insbesondere `+` und `-` als Vorzeichen \n", + " - _juxtaposition_, also Zahlen direkt vor Variablen oder Klammern ohne `*`-Symbol\n", + " \n", + " Beide haben Vorrang noch vor Multiplikation und Division. \n", + "\n", + ":::{.callout-important}\n", + "Damit ändert sich die Bedeutung von Ausdrücken, wenn man _juxtaposition_ anwendet:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c134b798", + "metadata": {}, + "outputs": [], + "source": [ + "1/2*π, 1/2π" + ] + }, + { + "cell_type": "markdown", + "id": "aafaa2d1", + "metadata": {}, + "source": [ + "::: \n", + " \n", + "- Im Vergleich zum Potenzoperator `^` gilt (s. [https://discourse.julialang.org/t/confused-about-operator-precedence-for-2-3x/8214/7](https://discourse.julialang.org/t/confused-about-operator-precedence-for-2-3x/8214/7) ):\n", + " \n", + " > Unary operators, including juxtaposition, bind tighter than ^ on the right but looser on the left.\n", + "\n", + "Beispiele:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61fc5df5", + "metadata": {}, + "outputs": [], + "source": [ + "-2^2 # -(2^2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c609c3b", + "metadata": {}, + "outputs": [], + "source": [ + "x = 5\n", + "2x^2 # 2(x^2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44a6345d", + "metadata": {}, + "outputs": [], + "source": [ + "2^-2 # 2^(-2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "660dfb1f", + "metadata": {}, + "outputs": [], + "source": [ + "2^2x # 2^(2x)" + ] + }, + { + "cell_type": "markdown", + "id": "0fecdb42", + "metadata": {}, + "source": [ + "- Funktionsanwendung `f(...)` hat Vorrang vor allen Operatoren\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "198bb0f8", + "metadata": {}, + "outputs": [], + "source": [ + "sin(x)^2 === (sin(x))^2 # nicht sin(x^2)" + ] + }, + { + "cell_type": "markdown", + "id": "f153e028", + "metadata": {}, + "source": [ + "### Zusätzliche Operatoren\n", + "\n", + "Der [Julia-Parser](https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm#L13-L31) definiert für zahlreiche Unicode-Zeichen einen Vorrang auf Vorrat, so dass diese Zeichen von Paketen und selbstgeschriebenem Code als Operatoren benutzt werden können. \n", + "\n", + "So haben z.B.\n", + "```julia\n", + " ∧ ⊗ ⊘ ⊙ ⊚ ⊛ ⊠ ⊡ ⊓ ∗ ∙ ∤ ⅋ ≀ ⊼ ⋄ ⋆ ⋇ ⋉ ⋊ ⋋ ⋌ ⋏ ⋒ ⟑ ⦸ ⦼ ⦾ ⦿ ⧶ ⧷ ⨇ ⨰ ⨱ ⨲ ⨳ ⨴ ⨵ ⨶ ⨷ ⨸ ⨻ ⨼ ⨽ ⩀ ⩃ ⩄ ⩋ ⩍ ⩎ ⩑ ⩓ ⩕ ⩘ ⩚ ⩜ ⩞ ⩟ ⩠ ⫛\n", + "```\n", + "\n", + "den Vorrang 12 wie Multiplikation/Division (und sind wie diese linksassoziativ) \n", + "und z.B.\n", + "```julia\n", + " ⊕ ⊖ ⊞ ⊟ |++| ∪ ∨ ⊔ ± ∓ ∔ ∸ ≏ ⊎ ⊻ ⊽ ⋎ ⋓ ⧺ ⧻ ⨈ ⨢ ⨣ ⨤ ⨥ ⨦ ⨧ ⨨ ⨩ ⨪ ⨫ ⨬ ⨭ ⨮ ⨹ ⨺ ⩁ ⩂ ⩅ ⩊ ⩌ ⩏ ⩐ ⩒ ⩔ ⩖ ⩗ \n", + "```\n", + "haben den Vorrang 11 wie Addition/Subtraktion.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/Erste_Bsp.ipynb b/nb/Erste_Bsp.ipynb new file mode 100644 index 0000000..44381b0 --- /dev/null +++ b/nb/Erste_Bsp.ipynb @@ -0,0 +1,341 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9bb241ad", + "metadata": {}, + "source": [ + "# Erste Miniprogramme\n", + "\n", + "\n", + "## Was sollte man zum Programmieren können?\n", + "\n", + "\n", + "- **Denken in Algorithmen:** \n", + " Welche Schritte sind zur Lösung des Problems nötig? Welche Daten müssen gespeichert, welche Datenstrukturen angelegt werden? Welche Fälle können auftreten und müssen erkannt und behandelt werden? \n", + "- **Umsetzung des Algorithmus in ein Programm:** \n", + " Welche Datenstrukturen, Konstrukte, Funktionen... stellt die Programmiersprache bereit? \n", + "- **Formale Syntax:** \n", + " Menschen verstehen 'broken English'; Computer verstehen kein 'broken C++' oder 'broken Julia'. Die Syntax muss beherrscht werden.\n", + "- **„Ökosystem“ der Sprache:** \n", + " Wie führe ich meinen Code aus? Wie funktionieren die Entwicklungsumgebungen? Welche Optionen versteht der Compiler? Wie installiere ich Zusatzbibliotheken? Wie lese ich Fehlermeldungen? Wo kann ich mich informieren? \n", + "- **die Kunst des Debugging:** \n", + " Programmieranfänger sind oft glücklich, wenn sie alle Syntaxfehler eliminiert haben und das Programm endlich 'durchläuft'. Bei komplexeren Programmen fängt die Arbeit jetzt erst an, denn nun muss getestet und die Fehler im Algorithmus gefunden und behoben werden. \n", + "- **Gefühl für die Effizienz und Komplexität von Algorithmen**\n", + "- **Besonderheiten der Computerarithmetik**, insbesondere der Gleitkommazahlen\n", + "\n", + "Das erschließt sich nicht alles auf einmal. Haben Sie Geduld mit sich und 'spielen' Sie mit der Sprache. \n", + "\n", + "Das Folgende soll eine kleine Anregung dazu sein.\n", + "\n", + "## Project Euler\n", + "\n", + "Eine hübsche Quelle für Programmieraufgaben mit mathematischem Charakter und sehr unterschiedlichen Schwierigkeitsgraden ist [Project Euler](https://projecteuler.net/). \n", + "Die Aufgaben sind so gestaltet, dass keinerlei Eingaben notwendig und das gesuchte Ergebnis eine einzige Zahl ist. So kann man sich voll auf das Programmieren des Algorithmus konzentrieren. \n", + "\n", + "---------\n", + "\n", + "### Beispiel 1\n", + "\n", + "::::::{.content-hidden unless-format=\"xxx\"}\n", + "\n", + "https://github.com/luckytoilet/projecteuler-solutions/blob/master/Solutions.md\n", + "https://math.stackexchange.com/questions/3370978/iterating-sum-of-squares-of-decimal-digits-of-an-integer-how-big-can-it-grow\n", + "aufg. 92\n", + "\n", + ":::\n", + "\n", + "::: {.callout-note icon=false .titlenormal}\n", + "## Project Euler Problem No 1\n", + "\n", + "If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.\n", + "\n", + "Find the sum of all the multiples of 3 or 5 below 1000.\n", + "\n", + ":::\n", + "\n", + "1. Algorithmus: \n", + " - Teste alle natürlichen Zahlen <1000 auf Teilbarkeit durch 3 oder durch 5 und\n", + " - summiere die teilbaren Zahlen auf.\n", + "\n", + "2. Umsetzung:\n", + "\n", + " Wie liefert Julia den Rest der Ganzzahldivision? Solche Funktionen heißen typischerweise `rem()` (für *remainder*) oder `mod()`. [Nachlesen in der Doku](https://docs.julialang.org/en/v1/base/math/#Base.rem) oder ausprobieren von `?rem` und `?mod` in der Julia-REPL zeigt, dass es beides gibt. Der Unterschied liegt in der Behandlung negativer ganzer Zahlen. Für natürliche Zahlen `n,m` liefern `mod(n,m)` und `rem(n,m)` dasselbe und letzteres hat auch noch die Infix-Form `n % m`. \n", + " \n", + " Wie testet man eine Reihe von Werten durch und summiert auf? Da gibt es ein Standardmuster: `for`-Schleife und Akkumulatorvariable: \n", + "\n", + ":::{.callout-caution icon=\"false\" collapse=\"true\" .titlenormal}\n", + "\n", + "## Eine Lösungsvariante:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5ec6b90", + "metadata": {}, + "outputs": [], + "source": [ + "s = 0 # Akkumulatorvariable initialisieren\n", + "for i in 1:999 # Schleife \n", + " if i % 3 == 0 || i % 5 == 0 # Test\n", + " s += i # Zu Akkumulator addieren \n", + " end # Ende Test\n", + "end # Ende Schleife\n", + "println(\" Die Antwort ist: $s\") # Ausgabe des Ergebnisses " + ] + }, + { + "cell_type": "markdown", + "id": "e4de7d69", + "metadata": {}, + "source": [ + ":::\n", + "\n", + "Natürlich geht das auch etwas kürzer:\n", + "\n", + ":::{.callout-caution icon=\"false\" collapse=\"true\" .titlenormal}\n", + "\n", + "## Noch eine Lösungsvariante:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "772bbe68", + "metadata": {}, + "outputs": [], + "source": [ + "sum([i for i in 1:999 if i%3==0||i%5==0])" + ] + }, + { + "cell_type": "markdown", + "id": "b9b95d73", + "metadata": {}, + "source": [ + ":::\n", + "\n", + "\n", + "-----------\n", + "\n", + "### Beispiel 2\n", + "\n", + "\n", + "::: {.callout-note icon=false .titlenormal}\n", + "## Project Euler Problem No 92\n", + "A number chain is created by continuously adding the square of the digits in a number to form a new number until it has been seen before.\n", + "\n", + "For example,\n", + "\n", + "| 44 → 32 → 13 → 10 → **1** → **1**\n", + "| 85 → **89** → 145 → 42 → 20 → 4 → 16 → 37 → 58 → **89**\n", + "\n", + "Therefore any chain that arrives at 1 or 89 will become stuck in an endless loop. What is most amazing is that EVERY starting number will eventually arrive at 1 or 89.\n", + "\n", + "How many starting numbers below ten million will arrive at 89?\n", + ":::\n", + "\n", + "Programme kann man [*top-down* und *bottom-up*](https://de.wikipedia.org/wiki/Top-Down-_und_Bottom-Up-Design) entwickeln.\n", + "*Top-down* würde hier wohl bedeuten: „Wir fangen mit einer Schleife `for i = 1:9999999` an.“ Der andere Weg führt über einzeln testbare Komponenten und ist oft zielführender. (Und ab einer gewissen Projektgröße nähert man sich sowieso von 'top' und 'bottom' gleichzeitig dem Ziel.)\n", + "\n", + "##### Funktion Nr. 1\n", + "Es soll untersucht werden, wie sich die Zahlen unter dem wiederholten Berechnen der 'Quadratquersumme' (Summe der Quadrate der Ziffern) verhalten. Also sollte man eine Funktion schreiben und testen, die diese 'Quadratquersumme' berechnet. \n", + "\n", + "\n", + ":::{.callout-caution icon=\"false\" collapse=\"true\" .titlenormal}\n", + "\n", + "## `q2sum(n)` berechnet die Summe der Quadrate der Ziffern von n im Dezimalsystem:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c0730a2a", + "metadata": {}, + "outputs": [], + "source": [ + "#| output: false\n", + "function q2sum(n)\n", + " s = 0 # Akkumulator für die Summe\n", + " while n > 9 # solange noch mehrstellig...\n", + " q, r = divrem(n, 10) # berechne Ganzzahlquotient und Rest bei Division durch 10\n", + " s += r^2 # addiere quadrierte Ziffer zum Akkumulator\n", + " n = q # mache weiter mit der durch 10 geteilten Zahl\n", + " end\n", + " s += n^2 # addiere das Quadrat der letzten Ziffer\n", + " return s\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "1caa208b", + "metadata": {}, + "source": [ + ":::\n", + "... und das testen wir jetzt natürlich:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "72341556", + "metadata": {}, + "outputs": [], + "source": [ + "for i in [1, 7, 33, 111, 321, 1000, 73201]\n", + " j = q2sum(i)\n", + " println(\"Quadratquersumme von $i = $j\")\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "5eeb2626", + "metadata": {}, + "source": [ + "Im Sinne der Aufgabe wenden wir die Funktion wiederholt an:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da47c136", + "metadata": {}, + "outputs": [], + "source": [ + "n = 129956799\n", + "for i in 1:14\n", + " n = q2sum(n)\n", + " println(n)\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "e67b1670", + "metadata": {}, + "source": [ + "... und haben hier einen der '89er Zyklen' getroffen.\n", + "\n", + "\n", + "#### Funktion Nr. 2\n", + "\n", + "Wir müssen testen, ob die wiederholte Anwendung der Funktion `q2sum()` schließlich zu **1** führt oder in diesem **89er**-Zyklus endet.\n", + "\n", + ":::{.callout-caution icon=\"false\" collapse=\"true\" .titlenormal}\n", + "\n", + "## `q2test(n)` ermittelt, ob wiederholte Quadratquersummenbildung in den 89er-Zyklus führt:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3868d34e", + "metadata": {}, + "outputs": [], + "source": [ + "#| output: false\n", + "function q2test(n)\n", + " while n !=1 && n != 89 # solange wir nicht bei 1 oder 89 angekommen sind....\n", + " n = q2sum(n) # wiederholen \n", + " end\n", + " if n==1 return false end # keine 89er-Zahl\n", + " return true # 89er-Zahl gefunden\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "10ce44d1", + "metadata": {}, + "source": [ + ":::\n", + "\n", + "... und damit können wir die Aufgabe lösen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54521e6a", + "metadata": {}, + "outputs": [], + "source": [ + "c = 0 # mal wieder ein Akkumulator\n", + "for i = 1 : 10_000_000 - 1 # so kann man in Julia Tausenderblöcke zur besseren Lesbarkeit abtrennen\n", + " if q2test(i) # q2test() gibt einen Boolean zurück, kein weiterer Test nötig \n", + " c += 1 # 'if x == true' ist redundant, 'if x' reicht völlig \n", + " end \n", + "end\n", + "println(\"$c numbers below ten million arrive at 89.\")" + ] + }, + { + "cell_type": "markdown", + "id": "4a545b8c", + "metadata": {}, + "source": [ + "Zahlen, bei denen die iterierte Quadratquersummenbildung bei 1 endet, heißen übrigens [fröhliche Zahlen](https://de.wikipedia.org/wiki/Fr%C3%B6hliche_Zahl) und wir haben gerade die Anzahl der traurigen Zahlen kleiner als 10.000.000 berechnet.\n", + "\n", + "Hier nochmal das vollständige Programm:\n", + "\n", + ":::{.callout-caution icon=\"false\" collapse=\"true\" .titlenormal}\n", + "## unsere Lösung von Project Euler No 92:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a7253bc1", + "metadata": {}, + "outputs": [], + "source": [ + "function q2sum(n)\n", + " s = 0 \n", + " while n > 9 \n", + " q, r = divrem(n, 10)\n", + " s += r^2 \n", + " n = q \n", + " end\n", + " s += n^2 \n", + " return s\n", + "end\n", + "\n", + "function q2test(n)\n", + " while n !=1 && n != 89 \n", + " n = q2sum(n) \n", + " end\n", + " if n==1 return false end \n", + " return true \n", + "end\n", + "\n", + "c = 0\n", + "for i = 1 : 10_000_000 - 1 \n", + " if q2test(i)\n", + " c += 1\n", + " end \n", + "end\n", + "println(\"$c numbers below ten million arrive at 89.\")" + ] + }, + { + "cell_type": "markdown", + "id": "772bec11", + "metadata": {}, + "source": [ + ":::" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/Pi.ipynb b/nb/Pi.ipynb new file mode 100644 index 0000000..d81ece9 --- /dev/null +++ b/nb/Pi.ipynb @@ -0,0 +1,233 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0b96655f", + "metadata": {}, + "source": [ + "# Ein Beispiel zur Stabilität von Gleitkommaarithmetik\n", + "\n", + "## Berechnung von $\\pi$ nach Archimedes\n", + "\n", + "\n", + "\n", + "Eine untere Schranke für $2\\pi$, den Umfang des Einheitskreises, erhält man durch die\n", + "Summe der Seitenlängen eines dem Einheitskreis eingeschriebenen regelmäßigen $n$-Ecks.\n", + " Die Abbildung links zeigt, wie man beginnend mit einem Viereck der Seitenlänge $s_4=\\sqrt{2}$ die Eckenzahl iterativ verdoppelt.\n", + "\n", + "| Abb. 1 | Abb.2 |\n", + "| :-: | :-: |\n", + "| ![](../images/pi1.png) | ![](../images/pi2.png) |\n", + "\n", + "Die zweite Abbildung zeigt die Geometrie der Eckenverdoppelung.\n", + "\n", + "Mit\n", + "$|\\overline{AC}|= s_{n},\\quad |\\overline{AB}|= |\\overline{BC}|= s_{2n},\\quad |\\overline{MN}| =a, \\quad |\\overline{NB}| =1-a,$ liefert Pythagoras für die Dreiecke $MNA$ und\n", + " $NBA$ jeweils\n", + "$$\n", + " a^2 + \\left(\\frac{s_{n}}{2}\\right)^2 = 1\\qquad\\text{bzw.} \\qquad\n", + " (1-a)^2 + \\left(\\frac{s_{n}}{2}\\right)^2 = s_{2n}^2\n", + "$$\n", + "Elimination von $a$ liefert die Rekursion\n", + "$$\n", + " s_{2n} = \\sqrt{2-\\sqrt{4-s_n^2}} \\qquad\\text{mit Startwert}\\qquad\n", + " s_4=\\sqrt{2}\n", + "$$\n", + "für die Länge $s_n$ **einer** Seite des eingeschriebenen regelmäßigen\n", + "$n$-Ecks.\n", + "\n", + "\n", + "Die Folge $(n\\cdot s_n)$\n", + "konvergiert monoton von unten gegen den\n", + "Grenzwert $2\\pi$:\n", + "$$\n", + " n\\, s_n \\rightarrow 2\\pi % \\qquad\\text{und} \\qquad {n c_n}\\downarrow 2\\pi\n", + "$$\n", + "Der relative Fehler der Approximation von 2π durch ein $n$-Eck ist:\n", + "$$\n", + " \\epsilon_n = \\left| \\frac{n\\, s_n-2 \\pi}{2\\pi} \\right|\n", + "$$\n", + "\n", + "\n", + "## Zwei Iterationsvorschriften^[nach: Christoph Überhuber, „Computer-Numerik“ Bd. 1, Springer 1995, Kap. 2.3]\n", + "Die Gleichung\n", + "$$\n", + " s_{2n} = \\sqrt{2-\\sqrt{4-s_n^2}}\\qquad \\qquad \\textrm{(Iteration A)}\n", + "$$\n", + "ist mathematisch äquivalent zu\n", + "$$\n", + " s_{2n} = \\frac{s_n}{\\sqrt{2+\\sqrt{4-s_n^2}}} \\qquad \\qquad \\textrm{(Iteration B)}\n", + "$$\n", + "\n", + "(Bitte nachrechnen!) \n", + "\n", + "\n", + "\n", + "Allerdings ist Iteration A schlecht konditioniert und numerisch instabil, wie der folgende Code zeigt. Ausgegeben wird die jeweils berechnete Näherung für π.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa3be89a", + "metadata": {}, + "outputs": [], + "source": [ + "using Printf\n", + "\n", + "iterationA(s) = sqrt(2 - sqrt(4 - s^2))\n", + "iterationB(s) = s / sqrt(2 + sqrt(4 - s^2))\n", + "\n", + "s_B = s_A = sqrt(2) # Startwert \n", + "\n", + "ϵ(x) = abs(x - 2π)/2π # rel. Fehler \n", + "\n", + "ϵ_A = Float64[] # Vektoren für den Plot\n", + "ϵ_B = Float64[]\n", + "is = Float64[]\n", + "\n", + "@printf \"\"\" approx. Wert von π\n", + " n-Eck Iteration A Iteration B\n", + "\"\"\"\n", + "\n", + "for i in 3:35\n", + " push!(is, i)\n", + " s_A = iterationA(s_A) \n", + " s_B = iterationB(s_B) \n", + " doublePi_A = 2^i * s_A\n", + " doublePi_B = 2^i * s_B\n", + " push!(ϵ_A, ϵ(doublePi_A))\n", + " push!(ϵ_B, ϵ(doublePi_B))\n", + " @printf \"%14i %20.15f %20.15f\\n\" 2^i doublePi_A/2 doublePi_B/2 \n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "7ce50a85", + "metadata": {}, + "source": [ + "Während Iteration B sich stabilisiert bei einem innerhalb der Maschinengenauigkeit korrekten Wert für π, wird Iteration A schnell instabil. Ein Plot der relativen Fehler $\\epsilon_i$ bestätigt das:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5004b70e", + "metadata": {}, + "outputs": [], + "source": [ + "using CairoMakie\n", + "\n", + "F = Figure(resolution=(800,500))\n", + "ax = Axis(F[1, 1], xlabel = \"Iterationsschritte\", ylabel = \"rel. Fehler\",\n", + " yscale = log10, xticks=2:2:35, yticks=LogTicks(-20:0))\n", + "\n", + "scatterlines!(ax, is, ϵ_A, label = \"Iteration A\" )\n", + "scatterlines!(ax, is, ϵ_B, marker=:xcross, label = \"Iteration B\" )\n", + "\n", + "axislegend(position=:rc)\n", + "F" + ] + }, + { + "cell_type": "markdown", + "id": "7a93c5e3", + "metadata": {}, + "source": [ + "## Stabilität und Auslöschung\n", + "\n", + "Bei $i=26$ erreicht Iteration B einen relativen Fehler in der Größe des Maschinenepsilons:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "527eee0e", + "metadata": {}, + "outputs": [], + "source": [ + "ϵ_B[22:28]" + ] + }, + { + "cell_type": "markdown", + "id": "6f2f4475", + "metadata": {}, + "source": [ + "Weitere Iterationen verbessern das Ergebnis nicht mehr. Sie stabilisieren sich bei einem relativen Fehler von etwa 2.5 Maschinenepsilon:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b2a8b77", + "metadata": {}, + "outputs": [], + "source": [ + "ϵ_B[end]/eps(Float64)" + ] + }, + { + "cell_type": "markdown", + "id": "6ff2d4b8", + "metadata": {}, + "source": [ + "Die Form Iteration A ist instabil. Bereits bei $i=16$ beginnt der relative Fehler wieder zu wachsen.\n", + "\n", + "Ursache ist eine typische Auslöschung. Die Seitenlängen $s_n$ werden sehr schnell klein. Damit ist\n", + "$a_n=\\sqrt{4-s_n^2}$ nur noch wenig kleiner als 2 und bei der Berechnung von $s_{2n}=\\sqrt{2-a_n}$ tritt ein typischer Auslöschungseffekt auf.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ca6c5ca2", + "metadata": {}, + "outputs": [], + "source": [ + "setprecision(80) # precision für BigFloat\n", + "\n", + "s = sqrt(BigFloat(2))\n", + "\n", + "@printf \" a = √(4-s^2) als BigFloat und als Float64\\n\\n\"\n", + "\n", + "for i = 3:44\n", + " s = iterationA(s)\n", + " x = sqrt(4-s^2)\n", + " if i > 20\n", + " @printf \"%i %30.26f %20.16f \\n\" i x Float64(x)\n", + " end \n", + "end\n" + ] + }, + { + "cell_type": "markdown", + "id": "5e4994b3", + "metadata": {}, + "source": [ + "Man sieht die Abnahme der Zahl der signifikanten Ziffern. Man sieht auch, dass eine Verwendung von `BigFloat` mit einer Mantissenlänge von hier 80 Bit das Einsetzen des Auslöschungseffekts nur etwas hinaussschieben kann. \n", + "\n", + "**Gegen instabile Algorithmen helfen in der Regel nur bessere, stabile Algorithmen und nicht genauere Maschinenzahlen!**\n", + "\n", + ":::{.content-hidden unless-format=\"xxx\"}\n", + "\n", + "Offensichtlich tritt bei der Berechnung von $2-a_n$ bereits relativ früh\n", + "eine Abnahme der Anzahl der signifikanten Ziffern (Auslöschung) auf, \n", + "bevor schließlich bei der Berechnung von $a_n=\\sqrt{4-s_n^2}$ \n", + "selbst schon Auslöschung zu einem unbrauchbaren Ergebnis führt.\n", + "\n", + ":::" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/Pi2.ipynb b/nb/Pi2.ipynb new file mode 100644 index 0000000..89f002c --- /dev/null +++ b/nb/Pi2.ipynb @@ -0,0 +1,313 @@ +{ + "cells": [ + { + "cell_type": "raw", + "id": "9d63401b", + "metadata": {}, + "source": [ + "---\n", + "format:\n", + " html:\n", + " include-in-header:\n", + " text: |\n", + " \n", + "---" + ] + }, + { + "cell_type": "markdown", + "id": "405d242e", + "metadata": {}, + "source": [ + "# Ein Beispiel zur Stabilität von Gleitkommaarithmetik\n", + "\n", + "## Berechnung von $\\pi$ nach Archimedes\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f17a5fcb", + "metadata": {}, + "outputs": [], + "source": [ + "#| error: false\n", + "#| echo: false\n", + "#| output: false\n", + "using PlotlyJS, Random\n", + "using HypertextLiteral\n", + "using JSON, UUIDs\n", + "using Base64\n", + "\n", + "\n", + "## see https://github.com/JuliaPlots/PlotlyJS.jl/blob/master/src/PlotlyJS.jl\n", + "## https://discourse.julialang.org/t/encode-a-plot-to-base64/27765/3\n", + "function IJulia.display_dict(p::PlotlyJS.SyncPlot)\n", + " Dict(\n", + " # \"application/vnd.plotly.v1+json\" => JSON.lower(p),\n", + " # \"text/plain\" => sprint(show, \"text/plain\", p),\n", + " \"text/html\" => let\n", + " buf = IOBuffer()\n", + " show(buf, MIME(\"text/html\"), p)\n", + " #close(buf)\n", + " #String(resize!(buf.data, buf.size))\n", + " String(take!(buf))\n", + " end,\n", + " \"image/png\" => let\n", + " buf = IOBuffer()\n", + " buf64 = Base64EncodePipe(buf)\n", + " show(buf64, MIME(\"image/png\"), p)\n", + " close(buf64)\n", + " #String(resize!(buf.data, buf.size))\n", + " String(take!(buf))\n", + " end,\n", + "\n", + " )\n", + " end\n", + "\n", + " function Base.show(io::IO, mimetype::MIME\"text/html\", p::PlotlyJS.SyncPlot)\n", + " uuid = string(UUIDs.uuid4())\n", + " show(io,mimetype,@htl(\"\"\"\n", + "

\n", + " \n", + "\"\"\"))\n", + "end " + ] + }, + { + "cell_type": "markdown", + "id": "7745166c", + "metadata": {}, + "source": [ + "Eine untere Schranke für $2\\pi$, den Umfang des Einheitskreises, erhält man durch die\n", + "Summe der Seitenlängen eines dem Einheitskreis eingeschriebenen regelmäßigen $n$-Ecks.\n", + " Die Abbildung links zeigt, wie man beginnend mit einem Viereck der Seitenlänge $s_4=\\sqrt{2}$ die Eckenzahl iterativ verdoppelt.\n", + "\n", + ":::{.narrow}\n", + "\n", + "| Abb. 1 | Abb.2 |\n", + "| :-: | :-: |\n", + "| ![](../images/pi1.png) | ![](../images/pi2.png) |\n", + ": {tbl-colwidths=\"[57,43]\"}\n", + "\n", + ":::\n", + "\n", + "\n", + "Die zweite Abbildung zeigt die Geometrie der Eckenverdoppelung.\n", + "\n", + "Mit\n", + "$|\\overline{AC}|= s_{n},\\quad |\\overline{AB}|= |\\overline{BC}|= s_{2n},\\quad |\\overline{MN}| =a, \\quad |\\overline{NB}| =1-a,$ liefert Pythagoras für die Dreiecke $MNA$ und\n", + " $NBA$ jeweils\n", + "$$\n", + " a^2 + \\left(\\frac{s_{n}}{2}\\right)^2 = 1\\qquad\\text{bzw.} \\qquad\n", + " (1-a)^2 + \\left(\\frac{s_{n}}{2}\\right)^2 = s_{2n}^2\n", + "$$\n", + "Elimination von $a$ liefert die Rekursion\n", + "$$\n", + " s_{2n} = \\sqrt{2-\\sqrt{4-s_n^2}} \\qquad\\text{mit Startwert}\\qquad\n", + " s_4=\\sqrt{2}\n", + "$$\n", + "für die Länge $s_n$ **einer** Seite des eingeschriebenen regelmäßigen\n", + "$n$-Ecks.\n", + "\n", + "\n", + "Die Folge $(n\\cdot s_n)$\n", + "konvergiert monoton von unten gegen den\n", + "Grenzwert $2\\pi$:\n", + "$$\n", + " n\\, s_n \\rightarrow 2\\pi % \\qquad\\text{und} \\qquad {n c_n}\\downarrow 2\\pi\n", + "$$\n", + "Der relative Fehler der Approximation von 2π durch ein $n$-Eck ist:\n", + "$$\n", + " \\epsilon_n = \\left| \\frac{n\\, s_n-2 \\pi}{2\\pi} \\right|\n", + "$$\n", + "\n", + "\n", + "## Zwei Iterationsvorschriften^[nach: Christoph Überhuber, „Computer-Numerik“ Bd. 1, Springer 1995, Kap. 2.3]\n", + "Die Gleichung\n", + "$$\n", + " s_{2n} = \\sqrt{2-\\sqrt{4-s_n^2}}\\qquad \\qquad \\textrm{(Iteration A)}\n", + "$$\n", + "ist mathematisch äquivalent zu\n", + "$$\n", + " s_{2n} = \\frac{s_n}{\\sqrt{2+\\sqrt{4-s_n^2}}} \\qquad \\qquad \\textrm{(Iteration B)}\n", + "$$\n", + "\n", + "(Bitte nachrechnen!) \n", + "\n", + "\n", + "\n", + "Allerdings ist Iteration A schlecht konditioniert und numerisch instabil, wie der folgende Code zeigt. Ausgegeben wird die jeweils berechnete Näherung für π.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d83237c5", + "metadata": {}, + "outputs": [], + "source": [ + "using Printf\n", + "\n", + "iterationA(s) = sqrt(2 - sqrt(4 - s^2))\n", + "iterationB(s) = s / sqrt(2 + sqrt(4 - s^2))\n", + "\n", + "s_B = s_A = sqrt(2) # Startwert \n", + "\n", + "ϵ(x) = abs(x - 2π)/2π # rel. Fehler \n", + "\n", + "ϵ_A = Float64[] # Vektoren für den Plot\n", + "ϵ_B = Float64[]\n", + "is = Float64[]\n", + "\n", + "@printf \"\"\" approx. Wert von π\n", + " n-Eck Iteration A Iteration B\n", + "\"\"\"\n", + "\n", + "for i in 3:35\n", + " push!(is, i)\n", + " s_A = iterationA(s_A) \n", + " s_B = iterationB(s_B) \n", + " doublePi_A = 2^i * s_A\n", + " doublePi_B = 2^i * s_B\n", + " push!(ϵ_A, ϵ(doublePi_A))\n", + " push!(ϵ_B, ϵ(doublePi_B))\n", + " @printf \"%14i %20.15f %20.15f\\n\" 2^i doublePi_A/2 doublePi_B/2 \n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "dcdecd41", + "metadata": {}, + "source": [ + "Während Iteration B sich stabilisiert bei einem innerhalb der Maschinengenauigkeit korrekten Wert für π, wird Iteration A schnell instabil. Ein Plot der relativen Fehler $\\epsilon_i$ bestätigt das:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4404adb1", + "metadata": {}, + "outputs": [], + "source": [ + "using PlotlyJS\n", + "\n", + "layout = Layout(xaxis_title=\"Iterationsschritte\", yaxis_title=\"rel. Fehler\",\n", + " yaxis_type=\"log\", yaxis_exponentformat=\"power\", \n", + " xaxis_tick0=2, xaxis_dtick=2)\n", + "\n", + "plot([scatter(x=is, y=ϵ_A, mode=\"markers+lines\", name=\"Iteration A\", yscale=:log10), \n", + " scatter(x=is, y=ϵ_B, mode=\"markers+lines\", name=\"Iteration B\", yscale=:log10)],\n", + " layout) \n" + ] + }, + { + "cell_type": "markdown", + "id": "ac5d56d5", + "metadata": {}, + "source": [ + "## Stabilität und Auslöschung\n", + "\n", + "Bei $i=26$ erreicht Iteration B einen relativen Fehler in der Größe des Maschinenepsilons:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e807fa2b", + "metadata": {}, + "outputs": [], + "source": [ + "ϵ_B[22:28]" + ] + }, + { + "cell_type": "markdown", + "id": "68979310", + "metadata": {}, + "source": [ + "Weitere Iterationen verbessern das Ergebnis nicht mehr. Sie stabilisieren sich bei einem relativen Fehler von etwa 2.5 Maschinenepsilon:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6a9f7b29", + "metadata": {}, + "outputs": [], + "source": [ + "ϵ_B[end]/eps(Float64)" + ] + }, + { + "cell_type": "markdown", + "id": "09be0e03", + "metadata": {}, + "source": [ + "Die Form Iteration A ist instabil. Bereits bei $i=16$ beginnt der relative Fehler wieder zu wachsen.\n", + "\n", + "Ursache ist eine typische Auslöschung. Die Seitenlängen $s_n$ werden sehr schnell klein. Damit ist\n", + "$a_n=\\sqrt{4-s_n^2}$ nur noch wenig kleiner als 2 und bei der Berechnung von $s_{2n}=\\sqrt{2-a_n}$ tritt ein typischer Auslöschungseffekt auf.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ccb85ad", + "metadata": {}, + "outputs": [], + "source": [ + "setprecision(80) # precision für BigFloat\n", + "\n", + "s = sqrt(BigFloat(2))\n", + "\n", + "@printf \" a = √(4-s^2) als BigFloat und als Float64\\n\\n\"\n", + "\n", + "for i = 3:44\n", + " s = iterationA(s)\n", + " x = sqrt(4-s^2)\n", + " if i > 20\n", + " @printf \"%i %30.26f %20.16f \\n\" i x Float64(x)\n", + " end \n", + "end\n" + ] + }, + { + "cell_type": "markdown", + "id": "27616d4d", + "metadata": {}, + "source": [ + "Man sieht die Abnahme der Zahl der signifikanten Ziffern. Man sieht auch, dass eine Verwendung von `BigFloat` mit einer Mantissenlänge von hier 80 Bit das Einsetzen des Auslöschungseffekts nur etwas hinaussschieben kann. \n", + "\n", + "**Gegen instabile Algorithmen helfen in der Regel nur bessere, stabile Algorithmen und nicht genauere Maschinenzahlen!**\n", + "\n", + ":::{.content-hidden unless-format=\"xxx\"}\n", + "\n", + "Offensichtlich tritt bei der Berechnung von $2-a_n$ bereits relativ früh\n", + "eine Abnahme der Anzahl der signifikanten Ziffern (Auslöschung) auf, \n", + "bevor schließlich bei der Berechnung von $a_n=\\sqrt{4-s_n^2}$ \n", + "selbst schon Auslöschung zu einem unbrauchbaren Ergebnis führt.\n", + "\n", + ":::" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/ablaufsteuerung.ipynb b/nb/ablaufsteuerung.ipynb new file mode 100644 index 0000000..10687ed --- /dev/null +++ b/nb/ablaufsteuerung.ipynb @@ -0,0 +1,83 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "cdcef88f", + "metadata": {}, + "source": [ + "# Verzweigungen\n", + "\n", + "::: {.column-margin}\n", + ":::\n", + "\n", + "### If\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "13854f8c", + "metadata": {}, + "outputs": [], + "source": [ + "x = 3\n", + "y = 66\n", + "\n", + "if x\n", + "2. als Editor/IDE **Visual Studio Code** installieren: \n", + "3. im VS Code Editor die **Julia language extension** installieren: \n", + "\n", + "Einstieg:\n", + "\n", + "- In VS Code eine neue Datei mit der Endung `.jl` anlegen\n", + "- Julia-Code schreiben\n", + "- {{< kbd Shift-Enter >}} oder {{< kbd Ctrl-Enter >}} am Ende einer Anweisung oder eines Blocks startet ein Julia-REPL, Code wird ins REPL kopiert und ausgeführt \n", + "- [Tastenbelegungen für VS Code](https://code.visualstudio.com/docs/getstarted/keybindings#_keyboard-shortcuts-reference)\n", + "und [Julia in VS Code](https://www.julia-vscode.org/docs/stable/userguide/keybindings/)\n", + "\n", + "\n", + "\n", + "## Arbeiten auf dem [Jupyterhub-Webserver](https://misun103.mathematik.uni-leipzig.de/)\n", + "\n", + "### Jupyterhub & Jupyter\n", + "\n", + "- [Jupyterhub](https://de.wikipedia.org/wiki/Project_Jupyter) ist ein Multi-User-Server für Jupyter.\n", + "- Jupyter ist eine web-basierte interaktive Programmierumgebung, die\n", + "- ursprünglich in und für Python geschrieben, inzwischen eine\n", + " Vielzahl von Programmiersprachen nutzen kann.\n", + "- In Jupyter bearbeitet man sogenannte *notebooks*. Das sind strukturiere Textdateien (JSON), erkennbar an der Dateiendung \n", + " `*.ipynb`.\n", + "\n", + "Unser Jupyterhub-Server: \n", + "\n", + "Nach dem Einloggen in Jupyterhub erscheint ein Dateimanager:\n", + "\n", + "![Jupyterhub Dateimanager](../images/notebook001.png)\n", + "\n", + "Mit diesem kann man:\n", + "\n", + "- vorhandene *notebooks* öffnen,\n", + "- neue *notebooks* anlegen,\n", + "- Dateien, z.B. *notebooks*, vom lokalen Rechner hochladen,\n", + "- die Sitzung mit `Logout` beenden (bitte nicht vergessen!). \n", + "\n", + "### Jupyter notebooks\n", + "\n", + "![Jupyter Notebook](../images/notebook003.png)\n", + "\n", + "\n", + "*Notebooks* bestehen aus Zellen. Zellen können \n", + "\n", + "- Code oder \n", + "- Text/Dokumentation (Markdown) \n", + "\n", + "enthalten. In Textzellen können mit die Auszeichnungssprache [Markdown](https://de.wikipedia.org/wiki/Markdown) zur Formatierung und LaTeX für mathematische Gleichungen verwendet werden. \n", + "\n", + "Es sei empfohlen, die Punkte `User Interface Tour` und `Keyboard Shortcuts` im `Help`-Menü anzuschauen. Die Zelle, die man gerade bearbeitet, kann im `command mode` oder `edit mode` sein. \n", + "\n", + "\n", + "\n", + "```{html}\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Einige Kommandos
command modeedit mode
Mode aktivierenESC
\n", + "```\n", + "\n", + "\n", + "\n", + "| | *command mode* | *edit mode* |\n", + "|:-------|:---------------:|:-----------:|\n", + "| Mode aktivieren | `ESC` | Doppelklick oder `Enter` in Zelle |\n", + "| neue Zelle | `b` | `Alt-Enter` |\n", + "| Zelle löschen | `dd` | |\n", + "| Notebook speichern | `s` | `Ctrl-s` |\n", + "\n", + "\n", + "\n", + "- Notebook speichern:\n", + "\n", + " - `Ctrl-s` in Edit Mode\n", + " - `s` in Command mode\n", + " - `Menu -> File -> Save & Checkpoint`\n", + " - `Menu -> File -> Rename`: Umbenennen (falls es noch\n", + " \\\"Untitled1\\\" heißt) `
`{=html}`
`{=html}\n", + "\n", + "- Notebook schließen:\n", + "\n", + " - `Menu -> File -> Close & Halt` `
`{=html}`
`{=html}\n", + "\n", + "- Ausführen von Julia:\n", + "\n", + " - `Ctrl-Enter`: Run cell\n", + " - `Shift-Enter`: Run cell, move to next cell\n", + " - `Alt-Enter`: run cell, insert new cell below\n", + "\n", + "\n", + "\n", + "bla backslash\n", + "\n", + "![](../images/notebook002.png)\n", + "\n", + "bla backslash\n", + "\n", + "\n", + "------------------------------------------------------------------------\n", + "\n", + "Wenn eine Zelle \\\"arbeitet\\\", wird ihre Zellen-Nummer zu einem `*` und\n", + "die `kernel busy`-Anzeige (Voller schwarzer Punkt oben rechts neben der\n", + "Julia-Version) erscheint. Falls das zu lange dauert (ein *infinite loop*\n", + "ist schnell programmiert), dann\n", + "\n", + "- `Menu -> Kernel -> Interrupt` anklicken; falls das wirkungslos ist,\n", + "- `Menu -> Kernel -> Restart` anklicken.\n", + "\n", + "Danach müssen alle Zellen, die weiterhin benötigte Definitionen,\n", + "`using`-Anweisungen etc enthalten, wieder ausgeführt werden!\n", + "\n", + "------------------------------------------------------------------------\n", + "\n", + "**Am Ende der Arbeit bitte immer:**\n", + "\n", + "- `Menu -> File -> Save & Checkpoint`\n", + "- `Menu -> File -> Close & Halt`\n", + "- `Logout`\n", + ":::\n", + "\n", + "::: {#73820119 .cell .markdown}\n", + "#### Markdown-Zellen\n", + "\n", + "neben den üblichen Markdown-Elementen können auch diese auch\n", + "`HTML`-Anweisungen und Mathematische Formeln in LaTeX-Form enthalten.\n", + "LaTeX-Formeln werden in `$...$` oder `$$...$$` (Display-Form)\n", + "eingeschlossen.\n", + ":::\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/example.ipynb b/nb/example.ipynb new file mode 100644 index 0000000..81caba6 --- /dev/null +++ b/nb/example.ipynb @@ -0,0 +1,146 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1847e5bc", + "metadata": {}, + "source": [ + "# Some Julia Code\n", + "\n", + "\n", + "1. ?forvarianrte\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd1a489b", + "metadata": {}, + "outputs": [], + "source": [ + "?for" + ] + }, + { + "cell_type": "markdown", + "id": "62aee612", + "metadata": {}, + "source": [ + "## Einfache rechnerei\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23afd224", + "metadata": {}, + "outputs": [], + "source": [ + "2^33+33" + ] + }, + { + "cell_type": "markdown", + "id": "d1f050b2", + "metadata": {}, + "source": [ + "## colored console graphs produced by `Benchmarktools.jl`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a9b6a7c8", + "metadata": {}, + "outputs": [], + "source": [ + "using BenchmarkTools\n", + "\n", + "@benchmark sum(rand(1000))" + ] + }, + { + "cell_type": "markdown", + "id": "948d948e", + "metadata": {}, + "source": [ + "## structure of floating point numbers\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fbe94ce0", + "metadata": {}, + "outputs": [], + "source": [ + "function printbitsf64(x::Float64)\n", + " s = bitstring(x)\n", + " printstyled(s[1], color = :blue, reverse=true)\n", + " printstyled(s[2:12], color = :green, reverse=true)\n", + " printstyled(s[13:end], color=:red, bold=true, reverse=true)\n", + " print(\"\\n\")\n", + "end\n", + "\n", + "printbitsf64(27.56640625)" + ] + }, + { + "cell_type": "markdown", + "id": "611f43fa", + "metadata": {}, + "source": [ + "### illustrate machine epsilon...\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "294f9e7e", + "metadata": {}, + "outputs": [], + "source": [ + "Eps=0.5\n", + "while 1 != 1 + Eps\n", + " Eps /= 2\n", + " printbitsf64(1+Eps)\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "34e578b1", + "metadata": {}, + "source": [ + "### ... some ugly colors\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9771dbc3", + "metadata": {}, + "outputs": [], + "source": [ + "function printbits2f64(x::Float64)\n", + " s = bitstring(x)\n", + " printstyled(s[1], color = 142, reverse=true)\n", + " printstyled(s[2:12], color = 190, reverse=false, underline=true)\n", + " printstyled(s[13:end], color= 27, bold=true, reverse=true)\n", + " print(\"\\n\")\n", + "end\n", + "\n", + "printbits2f64(27.56640625)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/first_contact.ipynb b/nb/first_contact.ipynb new file mode 100644 index 0000000..d59d129 --- /dev/null +++ b/nb/first_contact.ipynb @@ -0,0 +1,628 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e009ef80", + "metadata": {}, + "source": [ + "# First Contact\n", + "\n", + "Dieses Kapitel soll beim 'Loslegen' helfen. Es läßt viele Details weg und die Codebeispiele sind oft eher suboptimal. \n", + "\n", + "\n", + "## Julia als Taschenrechner\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b488cb23", + "metadata": {}, + "outputs": [], + "source": [ + "#| eval: true\n", + "#| echo: false\n", + "#| output: false\n", + "\n", + "using REPL, Markdown\n", + "\n", + "function mhelp(s,n,m)\n", + " helptxt = Core.eval(Main, REPL.helpmode(s))\n", + " helpstr=Markdown.plaininline(helptxt)\n", + " print(\"...\\n\", join(split(helpstr,'\\n')[n:m],'\\n'), \"\\n...\")\n", + "end;\n", + "\n", + "function Tab(s)\n", + " l = filter(x->startswith(x,s), REPL.doc_completions(s))\n", + " println.(l[2:end])\n", + " return # return nothing, since broadcast println produces empty vector\n", + "end\n", + "\n", + "▷ = |>\n", + "\n", + "# IJulia.set_verbose(true)" + ] + }, + { + "cell_type": "markdown", + "id": "76000398", + "metadata": {}, + "source": [ + "Berechne $\\qquad 12^{1/3} + \\frac{3\\sqrt{2}}{\\sin(0.5)-\\cos(\\frac{\\pi}{4})\\log(3)}+ e^5$\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0f9feb86", + "metadata": {}, + "outputs": [], + "source": [ + "12^(1/3) + 3sqrt(2) / (sin(.5) - cos(pi/4)*log(3)) + exp(5)" + ] + }, + { + "cell_type": "markdown", + "id": "3e9fad84", + "metadata": {}, + "source": [ + "Man beachte:\n", + "\n", + "- Potenzen schreibt man `a^b`.\n", + "- Die Konstante `pi` ist vordefiniert.\n", + "- `log()` ist der natürliche Logarithmus.\n", + "- Das Multiplikationszeichen `a*b` kann nach einer Zahl weggelassen werden, wenn eine Variable, Funktion oder Klammer folgt.\n", + "\n", + "\n", + "## Die wichtigsten Tasten: `Tab` und `?`\n", + "\n", + "Man drücke beim Programmieren immer wieder die Tabulatortaste, sobald 2...3 Buchstaben eines Wortes getippt sind. Es werden dann mögliche Ergänzungen angezeigt bzw. ergänzt, wenn die Ergänzung eindeutig ist. Das spart Zeit und bildet ungemein:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "734300ba", + "metadata": {}, + "outputs": [], + "source": [ + "lo = \"lo\" #| hide_line\n", + "lo ▷ Tab" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "155bc575", + "metadata": {}, + "outputs": [], + "source": [ + "pri = \"pri\" #| hide_line\n", + "pri ▷ Tab" + ] + }, + { + "cell_type": "markdown", + "id": "ba74dc32", + "metadata": {}, + "source": [ + "Die eingebaute Julia-Hilfe `?name` zu allen Funktionen und Konstrukten ist sehr umfassend. Hier ein eher kurzes Beispiel: \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b941a97", + "metadata": {}, + "outputs": [], + "source": [ + "?for" + ] + }, + { + "cell_type": "markdown", + "id": "c8f7da7b", + "metadata": {}, + "source": [ + ":::{.content-hidden unless-format=\"xxx\"}\n", + "\n", + "::: {.cell }\n", + "``` {.julia .cell-code}\n", + "?for\n", + "```\n", + "\n", + "::: {.cell-output .cell-output-stdout}\n", + "```\n", + "search: for foreach foldr floor mapfoldr factorial EOFError OverflowError\n", + "\n", + "for loops repeatedly evaluate a block of statements while iterating over a sequence of values.\n", + "\n", + "Examples\n", + "\n", + "julia> for i in [1, 4, 0]\n", + " println(i)\n", + " end\n", + "1\n", + "4\n", + "0\n", + "\n", + "```\n", + ":::\n", + ":::\n", + ":::\n", + "\n", + "\n", + "## Variablen und Zuweisungen\n", + "\n", + "Variablen entstehen durch Zuweisung *(assignment)* mit dem Zuweisungsoperator `=` . Danach können sie in weiteren Anweisungen verwendet werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da1dc7ec", + "metadata": {}, + "outputs": [], + "source": [ + "x = 1 + sqrt(5) \n", + "y = x / 2" + ] + }, + { + "cell_type": "markdown", + "id": "37b29541", + "metadata": {}, + "source": [ + "Im interaktiven Betrieb zeigt Julia das Ergebnis der letzten Operation an.\n", + "\n", + ":::{.callout-note .titlenormal}\n", + "Zuweisungen sind keine mathematischen Gleichungen. Die Semantik des Zuweisungsoperators (Gleichheitszeichens) ist: \n", + "\n", + "- berechne die rechte Seite und\n", + "- weise das Ergebnis der linken Seite zu.\n", + "\n", + "Ausdrücke wie `x + y = sin(2)` sind daher unzulässig. Links darf nur ein Variablenname stehen.\n", + ":::\n", + "\n", + "\n", + "## Datentypen\n", + "\n", + "Julia ist eine [stark typisierte](https://de.wikipedia.org/wiki/Starke_Typisierung) Sprache. Alle Objekte haben einen Typ. \n", + "So gibt es unter anderem die Basistypen \n", + "\n", + "- Ganze Zahlen *(integers)*,\n", + "- Gleitkommazahlen *(floating point numbers)*,\n", + "- Zeichenketten *(strings)* und \n", + "- Wahrheitswerte *(booleans)*.\n", + "\n", + "Den Typ einer Variablen kann man mit der Funktion `typeof()` ermitteln. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "173f7324", + "metadata": {}, + "outputs": [], + "source": [ + "#| warning: true\n", + "#| error: true\n", + "for x ∈ (42, 12.0, 3.3e4, \"Hallo!\", true)\n", + " println(\"x = \", x, \" ..... Typ: \", typeof(x))\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "13a8984f", + "metadata": {}, + "source": [ + "Die Standard-Gleitkommazahl hat eine Länge von 64 Bit, entspricht also einer `double` in C/C++/Java.\n", + "\n", + "Julia ist eine [dynamisch typisierte](https://de.wikipedia.org/wiki/Dynamische_Typisierung) Sprache. \n", + "Variablen haben keinen Typ. Sie sind typlose Referenzen (Zeiger) auf Objekte. \n", + "Wenn man vom „Typ einer Variablen“ spricht, meint man den Typ des Objektes, das der Variablen gerade zugewiesen ist. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd3b3e96", + "metadata": {}, + "outputs": [], + "source": [ + "x = sqrt(2)\n", + "\n", + "println( typeof(x), \" - Wert von x = $x\" )\n", + "\n", + "x = \"Jetzt bin ich keine Gleitkommazahl mehr!\"\n", + "\n", + "println( typeof(x), \" - Wert von x = $x\" )" + ] + }, + { + "cell_type": "markdown", + "id": "eae463bf", + "metadata": {}, + "source": [ + "## Druckanweisungen\n", + "Die Funktion `println()` unterscheidet sich von `print()` dadurch, dass sie am Ende einen Zeilenvorschub ausgibt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "df98312b", + "metadata": {}, + "outputs": [], + "source": [ + "print(y)\n", + "print(\"...die Zeile geht weiter...\")\n", + "print(\"immernoch...\")\n", + "println(y)\n", + "println(\"Neue Zeile\")\n", + "println(\"Neue Zeile\")" + ] + }, + { + "cell_type": "markdown", + "id": "b74dcb3f", + "metadata": {}, + "source": [ + "Beide Funkionen können als Argument eine Liste von *strings* und Variablen bekommen. Man kann Variablen auch in *strings* einbetten, indem man dem Variablennamen ein Dollarzeichen voranstellt *(string interpolation)*.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b76d855", + "metadata": {}, + "outputs": [], + "source": [ + "x = 23\n", + "y = 3x + 5\n", + "zz = \"Fertig!\"\n", + "println(\"x= \", x, \" ...und y= \", y, \"...\", zz) # 1. Variante\n", + "println(\"x= $x ...und y= $y...$zz\") # Variante mit string interpolation" + ] + }, + { + "cell_type": "markdown", + "id": "c06fc5da", + "metadata": {}, + "source": [ + ":::{.callout-note .titlenormal collapse=true icon=false }\n", + "## Wenn man ein Dollarzeichen drucken will...\n", + "\n", + "muss man einen *backslash* voranstellen. Wenn man einen *backslash* drucken will, muss man ihn verdoppeln.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00a46544", + "metadata": {}, + "outputs": [], + "source": [ + "println(\"Ein Dollar: 1\\$ und drei backslashs: \\\\\\\\\\\\ \")" + ] + }, + { + "cell_type": "markdown", + "id": "3ba46a2c", + "metadata": {}, + "source": [ + ":::\n", + "\n", + "## Funktionen\n", + "Funktionsdefinitionen beginnen mit dem Schlüsselwort `function` und enden mit dem Schlüsselwort `end`. In der Regel haben sie eine oder mehrere Argumente und geben beim Aufruf ein berechnetes Objekt mit der `return`-Anweisung zurück.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e83b8e2", + "metadata": {}, + "outputs": [], + "source": [ + "function hypotenuse(a, b) # heute besonders umständlich\n", + " c2 = a^2 + b^2\n", + " c = sqrt(c2)\n", + " return c \n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "6ae72d3a", + "metadata": {}, + "source": [ + "Nach ihrer Definition kann die Funktion benutzt (aufgerufen) werden. Die in der Definition verwendeten Variablen `a,b,c,c2` sind lokale Variablen und stehen außerhalb der Funktionsdefinition nicht zur Verfügung. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2b68ec32", + "metadata": {}, + "outputs": [], + "source": [ + "#| error: true\n", + "x = 3\n", + "z = hypotenuse(x, 4)\n", + "println(\"z = $z\")\n", + "println(\"c = $c\")" + ] + }, + { + "cell_type": "markdown", + "id": "d62b25c3", + "metadata": {}, + "source": [ + "Sehr einfache Funktionen können auch als Einzeiler definiert werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "436bf54a", + "metadata": {}, + "outputs": [], + "source": [ + "hypotenuse(a, b) = sqrt(a^2+b^2)" + ] + }, + { + "cell_type": "markdown", + "id": "13485711", + "metadata": {}, + "source": [ + "## Tests\n", + "Tests liefern einen Wahrheitswert zurück. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fbfc37d5", + "metadata": {}, + "outputs": [], + "source": [ + "x = 3^2\n", + "x < 2^3" + ] + }, + { + "cell_type": "markdown", + "id": "d43e3179", + "metadata": {}, + "source": [ + "Neben den üblichen arithmetischen Vergleichen `==, !=, <, <= ,> ,>=` \n", + "gibt es noch viele andere Tests. Natürlich kann man das Ergebnis eines Tests auch einer Variablen zuweisen, welche dann vom Typ `Bool` ist. Die logischen Operatoren `&&`, `||` und Negation `!` können in Tests verwendet werden. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7e289c8e", + "metadata": {}, + "outputs": [], + "source": [ + "test1 = \"Auto\" in [\"Fahrrad\", \"Auto\", \"Bahn\"]\n", + "test2 = x == 100 || !(x <= 30 && x > 8)\n", + "test3 = startswith(\"Lampenschirm\", \"Lamp\") \n", + "println(\"$test1 $test2 $test3\")" + ] + }, + { + "cell_type": "markdown", + "id": "0ca8fc84", + "metadata": {}, + "source": [ + "## Verzweigungen\n", + "Verzweigungen (bedingte Anweisungen) haben die Form \n", + "\n", + "```default\n", + "if \n", + " \n", + " \n", + " ...\n", + "end\n", + "``` \n", + "\n", + "\n", + "Ein `else`-Zweig und `elseif`-Zweige sind möglich.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ab36f93", + "metadata": {}, + "outputs": [], + "source": [ + "x = sqrt(100)\n", + "\n", + "if x > 20\n", + " println(\"Seltsam!\")\n", + "else\n", + " println(\"OK\")\n", + " y = x + 3\n", + "end " + ] + }, + { + "cell_type": "markdown", + "id": "3247aa40", + "metadata": {}, + "source": [ + "Einrückungen verbessern die Lesbarkeit, sind aber fakultativ. Zeilenumbrüche trennen Anweisungen. Das ist auch durch Semikolon möglich. Obiger Codeblock ist für Julia identisch zu folgender Zeile:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6b6f3846", + "metadata": {}, + "outputs": [], + "source": [ + "# Bitte nicht so programmieren! Sie werden es bereuen!\n", + "x=sqrt(100); if x > 20 println(\"Seltsam!\") else println(\"OK\"); y = x + 3 end " + ] + }, + { + "cell_type": "markdown", + "id": "4f8718ea", + "metadata": {}, + "source": [ + "Es wird dringend empfohlen, von Anfang an den eigenen Code übersichtlich mit sauberen Einrückungen zu formatieren!\n", + "\n", + "\n", + "## Einfache `for`-Schleifen\n", + "\n", + "zum wiederholten Abarbeiten von Anweisungen haben die Form\n", + "```default\n", + "for = Start:Ende\n", + " \n", + " \n", + " ...\n", + "end\n", + "```\n", + "Beispiel:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e2518e65", + "metadata": {}, + "outputs": [], + "source": [ + "sum = 0\n", + "for i = 1:100\n", + " sum = sum + i\n", + "end \n", + "sum" + ] + }, + { + "cell_type": "markdown", + "id": "3fa36879", + "metadata": {}, + "source": [ + "## Arrays\n", + "1-dimensionale Arrays (Vektoren) sind eine einfache Form von Containern. Man kann sie mit echigen Klammern anlegen\n", + "und auf die Elemente per Index zugreifen. Die Indizierung beginnt mit 1. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf56b9fc", + "metadata": {}, + "outputs": [], + "source": [ + "v = [12, 33.2, 17, 19, 22]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e6ae1f4", + "metadata": {}, + "outputs": [], + "source": [ + "typeof(v)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18a71a80", + "metadata": {}, + "outputs": [], + "source": [ + "v[1] = v[4] + 10\n", + "v" + ] + }, + { + "cell_type": "markdown", + "id": "6833c60b", + "metadata": {}, + "source": [ + "Man kann leere Vektoren anlegen und sie verlängern.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "49a0d406", + "metadata": {}, + "outputs": [], + "source": [ + "v = [] # leerer Vektor\n", + "push!(v, 42)\n", + "push!(v, 13)\n", + "v" + ] + }, + { + "cell_type": "markdown", + "id": "ca3e6d8e", + "metadata": {}, + "source": [ + ":::{.callout-note icon=\"false\" .titlenormal collapse=\"true\" font-variant-ligatures=\"no-contextual\" }\n", + "\n", + "## Nachtrag: wie die Wirkung der Tab-Taste auf dieser Seite simuliert wurde...\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "087b10f7", + "metadata": {}, + "outputs": [], + "source": [ + "using REPL\n", + "\n", + "function Tab(s)\n", + " l = filter(x->startswith(x,s), REPL.doc_completions(s))\n", + " println.(l[2:end])\n", + " return # return nothing, since broadcast println produces empty vector\n", + "end\n", + "\n", + "▷ = |> # https://docs.julialang.org/en/v1/manual/functions/#Function-composition-and-piping\n", + "\n", + "pri = \"pri\";" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0b8be63e", + "metadata": {}, + "outputs": [], + "source": [ + "pri ▷ Tab" + ] + }, + { + "cell_type": "markdown", + "id": "cd067cf0", + "metadata": {}, + "source": [ + ":::" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/first_contact.nbconvert.ipynb b/nb/first_contact.nbconvert.ipynb new file mode 100644 index 0000000..865f4a1 --- /dev/null +++ b/nb/first_contact.nbconvert.ipynb @@ -0,0 +1,493 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "cd3f6abe", + "metadata": {}, + "source": [ + "# First Contact\n", + "\n", + "Dieses Kapitel enthält einige \"pädagogische Halbwahrheiten\", d.h., es vereinfacht und lässt Details weg.\n", + "\n", + "## Julia als Taschenrechner\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0dbe789e", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:34.132000Z", + "iopub.status.busy": "2023-03-08T16:05:33.746000Z", + "iopub.status.idle": "2023-03-08T16:05:37.286000Z", + "shell.execute_reply": "2023-03-08T16:05:37.175000Z" + } + }, + "outputs": [], + "source": [ + "#| eval: true\n", + "#| echo: false\n", + "#| output: false\n", + "IJulia.set_verbose(true)" + ] + }, + { + "cell_type": "markdown", + "id": "a2b52996", + "metadata": {}, + "source": [ + "Berechne $\\qquad 12^{1/3} + \\frac{3\\sqrt{2}}{\\sin(0.5)-\\cos(\\frac{\\pi}{4})\\log(3)}+ e^5$\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c831420f", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:37.336000Z", + "iopub.status.busy": "2023-03-08T16:05:37.335000Z", + "iopub.status.idle": "2023-03-08T16:05:37.620000Z", + "shell.execute_reply": "2023-03-08T16:05:37.618000Z" + } + }, + "outputs": [], + "source": [ + "12^(1/3) + 3sqrt(2) / (sin(.5) - cos(pi/4)*log(3)) + exp(5)" + ] + }, + { + "cell_type": "markdown", + "id": "a9f3359b", + "metadata": {}, + "source": [ + "Man beachte:\n", + "\n", + "- Potenzen schreibt man `a^b`.\n", + "- Die Konstante `pi` ist vordefiniert.\n", + "- `log()` ist der natürliche Logarithmus.\n", + "- Das Multiplikationszeichen `a*b` kann nach einer Zahl weggelassen werden, wenn eine Variable, Funktion oder Klammer folgt.\n", + "\n", + "\n", + "## Variablen und Zuweisungen\n", + "\n", + "Variablen entstehen durch Zuweisung *(assignment)*. Durch Zuweisung definierte Variablen können danach in weiteren Anweisungen verwendet werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5ff20c70", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:37.625000Z", + "iopub.status.busy": "2023-03-08T16:05:37.624000Z", + "iopub.status.idle": "2023-03-08T16:05:37.657000Z", + "shell.execute_reply": "2023-03-08T16:05:37.655000Z" + } + }, + "outputs": [], + "source": [ + "x = 1 + sqrt(5) \n", + "y = x / 2" + ] + }, + { + "cell_type": "markdown", + "id": "e7db7bb5", + "metadata": {}, + "source": [ + ":::{.indentb}\n", + "Zuweisungen sind keine mathematischen Gleichungen. Die Semantik des Zuweisungsoperators (d.h., des Gleichheitszeichens) ist: \n", + "\n", + "- berechne die rechte Seite und\n", + "- weise das Ergebnis der linken Seite zu.\n", + "\n", + "Ausdrücke wie `x + y = sin(2)` sind daher unzulässig, links darf nur ein Variablenname stehen.\n", + ":::\n", + "\n", + "\n", + "## Datentypen\n", + "\n", + "Julia ist eine [stark typisierte](https://de.wikipedia.org/wiki/Starke_Typisierung) Sprache. Alle Objekte haben einen Typ. \n", + "So gibt es unter anderem die Basistypen \n", + "\n", + "- Ganze Zahlen *(integers)*,\n", + "- Gleitkommazahlen *(floating point numbers)*,\n", + "- Zeichenketten *(strings)* und \n", + "- Wahrheitswerte *(booleans)*.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ae3af394", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:37.662000Z", + "iopub.status.busy": "2023-03-08T16:05:37.661000Z", + "iopub.status.idle": "2023-03-08T16:05:38.219000Z", + "shell.execute_reply": "2023-03-08T16:05:38.217000Z" + } + }, + "outputs": [], + "source": [ + "#| warning: true\n", + "#| error: true\n", + "for x ∈ (42, 12.0, 3.3e4, \"Hallo!\", true)\n", + " println(\"x = \", x, \" ..... Typ: \", typeof(x))\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "213bef1c", + "metadata": {}, + "source": [ + "Die Standard-Gleitkommazahl hat eine Länge von 64 Bit, entspricht also einer `double` in C/C++/Java.\n", + "\n", + "Julia ist eine [dynamisch typisierte](https://de.wikipedia.org/wiki/Dynamische_Typisierung) Sprache. \n", + "Variablen haben keinen Typ. Sie sind typlose Referenzen (Zeiger) auf Objekte. \n", + "Wenn man vom „Typ einer Variablen“ spricht, meint man den Typ des Objektes, das der Variablen gerade zugewiesen ist. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d6c0d1b", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:38.225000Z", + "iopub.status.busy": "2023-03-08T16:05:38.223000Z", + "iopub.status.idle": "2023-03-08T16:05:38.316000Z", + "shell.execute_reply": "2023-03-08T16:05:38.315000Z" + } + }, + "outputs": [], + "source": [ + "x = sqrt(2)\n", + "println( typeof(x) )\n", + "x = \"Jetzt bin ich keine Gleitkommazahl mehr!\"\n", + "println( typeof(x) )" + ] + }, + { + "cell_type": "markdown", + "id": "f2329446", + "metadata": {}, + "source": [ + "## Druckanweisungen\n", + "Die Funktion `println()` unterscheidet sich von `print()` dadurch, dass sie am Ende einen Zeilenvorschub ausgibt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d4a7260d", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:38.321000Z", + "iopub.status.busy": "2023-03-08T16:05:38.320000Z", + "iopub.status.idle": "2023-03-08T16:05:38.369000Z", + "shell.execute_reply": "2023-03-08T16:05:38.367000Z" + } + }, + "outputs": [], + "source": [ + "print(y)\n", + "print(\"...die Zeile geht weiter...\")\n", + "print(\"immernoch...\")\n", + "println(y)\n", + "println(\"Neue Zeile\")\n", + "println(\"Neue Zeile\")" + ] + }, + { + "cell_type": "markdown", + "id": "dccc9577", + "metadata": {}, + "source": [ + "Beide Funkionen können als Argument eine Liste von *strings* und Variablen bekommen. Man kann Variablen auch in *strings* einbetten, indem man dem Variablennamen ein Dollarzeichen voranstellt *(string interpolation)*.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a2116bd", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:38.374000Z", + "iopub.status.busy": "2023-03-08T16:05:38.373000Z", + "iopub.status.idle": "2023-03-08T16:05:38.402000Z", + "shell.execute_reply": "2023-03-08T16:05:38.400000Z" + } + }, + "outputs": [], + "source": [ + "x = 23\n", + "y = 3x + 5\n", + "zz = \"Fertig!\"\n", + "println(\"x= \", x, \" ...und y= \", y, \"...\", zz) # 1. Variante\n", + "println(\"x= $x ...und y= $y...$zz\") # Variante mit string interpolation" + ] + }, + { + "cell_type": "markdown", + "id": "ae5eaf6f", + "metadata": {}, + "source": [ + ":::{.indentb}\n", + "Wenn man ein Dollarzeichen drucken will, muss man einen *backslash* voranstellen. Wenn man einen *backslash* drucken will, muss man ihn verdoppeln.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f7d26a60", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:38.407000Z", + "iopub.status.busy": "2023-03-08T16:05:38.406000Z", + "iopub.status.idle": "2023-03-08T16:05:38.434000Z", + "shell.execute_reply": "2023-03-08T16:05:38.432000Z" + } + }, + "outputs": [], + "source": [ + "println(\"Ein Dollar: 1\\$ und drei backslashs: \\\\\\\\\\\\ \")" + ] + }, + { + "cell_type": "markdown", + "id": "f40cee12", + "metadata": {}, + "source": [ + ":::\n", + "\n", + "## Funktionen\n", + "Funktionsdefinitionen beginnen mit dem Schlüsselwort `function` und enden mit dem Schlüsselwort `end`. In der Regel haben sie eine oder mehrere Argumente und geben beim Aufruf ein berechnetes Objekt mit der `return`-Anweisung zurück.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b6574086", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:38.439000Z", + "iopub.status.busy": "2023-03-08T16:05:38.438000Z", + "iopub.status.idle": "2023-03-08T16:05:38.633000Z", + "shell.execute_reply": "2023-03-08T16:05:38.631000Z" + } + }, + "outputs": [], + "source": [ + "function hypotenuse(a, b)\n", + " c2 = a^2 + b^2\n", + " c = sqrt(c2)\n", + " return c \n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "d70272a0", + "metadata": {}, + "source": [ + "Nach ihrer Definition kann die Funktion benutzt (aufgerufen) werden. Die in der Definition verwendeten Variablen `a,b,c,c2` sind lokale Variablen und stehen außerhalb der Funktionsdefinition nicht zur Verfügung. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5df842f6", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:38.638000Z", + "iopub.status.busy": "2023-03-08T16:05:38.636000Z", + "iopub.status.idle": "2023-03-08T16:05:39.346000Z", + "shell.execute_reply": "2023-03-08T16:05:39.344000Z" + } + }, + "outputs": [], + "source": [ + "#| error: true\n", + "x = 3\n", + "z = hypotenuse(x, 4)\n", + "println(z)\n", + "println(c)" + ] + }, + { + "cell_type": "markdown", + "id": "dc012140", + "metadata": {}, + "source": [ + "Sehr einfache Funktionen können auch kürzer als Einzeiler definiert werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6aec78b0", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:39.351000Z", + "iopub.status.busy": "2023-03-08T16:05:39.350000Z", + "iopub.status.idle": "2023-03-08T16:05:39.381000Z", + "shell.execute_reply": "2023-03-08T16:05:39.379000Z" + } + }, + "outputs": [], + "source": [ + "hypotenuse(a, b) = sqrt(a^2+b^2)" + ] + }, + { + "cell_type": "markdown", + "id": "d57bc14f", + "metadata": {}, + "source": [ + "## Tests\n", + "Tests liefern einen Wahrheitswert zurück. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0e42d502", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:39.387000Z", + "iopub.status.busy": "2023-03-08T16:05:39.386000Z", + "iopub.status.idle": "2023-03-08T16:05:39.420000Z", + "shell.execute_reply": "2023-03-08T16:05:39.418000Z" + } + }, + "outputs": [], + "source": [ + "x = 2^8\n", + "x < 3" + ] + }, + { + "cell_type": "markdown", + "id": "814e4e5c", + "metadata": {}, + "source": [ + "Neben den üblichen arithmetischen Vergleichen `==, !=, <, <= ,> ,>=` \n", + "gibt es noch viele andere Tests. Natürlich kann man das Ergebnis eines Tests auch einer Variablen zuweisen, welche dann vom Typ `Bool` ist. Die logischen Operatoren `&&`, `||` und Negation `!` können in Tests verwendet werden. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3899c1c9", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:39.425000Z", + "iopub.status.busy": "2023-03-08T16:05:39.424000Z", + "iopub.status.idle": "2023-03-08T16:05:39.479000Z", + "shell.execute_reply": "2023-03-08T16:05:39.477000Z" + } + }, + "outputs": [], + "source": [ + "test1 = \"Auto\" in [\"Fahrrad\", \"Auto\", \"Bahn\"]\n", + "test2 = x == 100 || x in [1,2,4,7]\n", + "test3 = startswith(\"Lampenschirm\", \"Lamp\") \n", + "println(\"$test1 $test2 $test3\")" + ] + }, + { + "cell_type": "markdown", + "id": "067897ae", + "metadata": {}, + "source": [ + "## Verzweigungen\n", + "Verzweigungen (bedingte Anweisungen) haben die Form `if end`. Ein `else`-Zweig ist möglich.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34db87a5", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:39.484000Z", + "iopub.status.busy": "2023-03-08T16:05:39.483000Z", + "iopub.status.idle": "2023-03-08T16:05:39.518000Z", + "shell.execute_reply": "2023-03-08T16:05:39.516000Z" + } + }, + "outputs": [], + "source": [ + "x = sqrt(100)\n", + "\n", + "if x > 20\n", + " println(\"Seltsam!\")\n", + "else\n", + " println(\"OK\")\n", + " y = x + 3\n", + "end " + ] + }, + { + "cell_type": "markdown", + "id": "2c0677f6", + "metadata": {}, + "source": [ + "Einrückungen und Zeilenumbrüche verbessern die Lesbarkeit, sind aber fakultativ. Anweisungen können auch durch Semikolon getrennt werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b169201", + "metadata": { + "execution": { + "iopub.execute_input": "2023-03-08T16:05:39.523000Z", + "iopub.status.busy": "2023-03-08T16:05:39.521000Z", + "iopub.status.idle": "2023-03-08T16:05:39.554000Z", + "shell.execute_reply": "2023-03-08T16:05:39.552000Z" + } + }, + "outputs": [], + "source": [ + "if x > 20 println(\"Seltsam!\") else println(\"OK\"); y = x + 3 end " + ] + }, + { + "cell_type": "markdown", + "id": "f225e8eb", + "metadata": {}, + "source": [ + "## Einfache Schleifen\n", + "\n", + "\n", + "\n", + "## Arrays\n", + "1-dimensionale Arrays (Vektoren) sind eine einfache Form von Containern. Man kann sie mit echigen Klammern anlegen\n", + "\n", + "\n", + "und auf die Elemente per Index zugreifen. Die Indizierung beginnt mit 1. \n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/intro.ipynb b/nb/intro.ipynb new file mode 100644 index 0000000..1da6084 --- /dev/null +++ b/nb/intro.ipynb @@ -0,0 +1,114 @@ +{ + "cells": [ + { + "cell_type": "raw", + "id": "10c7d783", + "metadata": {}, + "source": [ + "---\n", + "title: Introduction\n", + "---" + ] + }, + { + "cell_type": "markdown", + "id": "f2e8fc05", + "metadata": {}, + "source": [ + "## Noch eine Programmiersprache?\n", + "\n", + "Die Ziele der Schöpfer von Julia kann man in [Why we created Julia](https://julialang.org/blog/2012/02/why-we-created-julia/) nachlesen. Kurzfassung:\n", + "\n", + "“We want a language that is\n", + "\n", + "open source\n", + "with the speed of C\n", + "obvious, familiar mathematical notation like Matlab\n", + "as usable for general programming as Python\n", + "as easy for statistics as R\n", + "as natural for string processing as Perl\n", + "as powerful for linear algebra as Matlab\n", + "as good at gluing programs together as the shell\n", + "dirt simple to learn, yet keeps the most serious hackers happy”\n", + "\n", + "\n", + "\"Wir wollen eine Sprache, die\n", + "\n", + "- *open source* ist \n", + "- die Geschwindigkeit von C hat \n", + "- obvious, familiar mathematical notation like Matlab\n", + "- as usable for general programming as Python\n", + "- as easy for statistics as R\n", + "- as natural for string processing as Perl\n", + "- as powerful for linear algebra as Matlab\n", + "- as good at gluing programs together as the shell\n", + "- dirt simple to learn, yet keeps the most serious hackers happy\"\n", + "\n", + "vs code: erzeuge eine Datei mit der Endung `.jl`, starte ein REPL mit dem Kommando \n", + "Alt-Enter am Ende einer Zeile oder Anweisung f\"uhrt dazu, dass die Anweisung \n", + "is REPL kopiert und ausgefuehrt wird\n", + "\n", + "alt-enter execute in julia Repl\n", + "shift-enter: ex. and move to next line\n", + "\n", + "die Erstinstallation von Paketen kann sehr lange dauern. \n", + "\n", + "im Jupyterhub sind die im Kurs nenötigten Pakete vorinstalliert. \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "## colored console graphs produced by `Benchmarktools.jl`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62fcada8", + "metadata": {}, + "outputs": [], + "source": [ + "using BenchmarkTools\n", + "\n", + "@benchmark sum(rand(1000))" + ] + }, + { + "cell_type": "markdown", + "id": "00dc9599", + "metadata": {}, + "source": [ + "## structure of floating point numbers\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ccc6afab", + "metadata": {}, + "outputs": [], + "source": [ + "function printbitsf64(x::Float64)\n", + " s = bitstring(x)\n", + " printstyled(s[1], color = :blue, reverse=true)\n", + " printstyled(s[2:12], color = :green, reverse=true)\n", + " printstyled(s[13:end], color=:red, bold=true, reverse=true)\n", + " print(\"\\n\")\n", + "end\n", + "\n", + "printbitsf64(27.56640625)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/makie.ipynb b/nb/makie.ipynb new file mode 100644 index 0000000..229ff81 --- /dev/null +++ b/nb/makie.ipynb @@ -0,0 +1,77 @@ +{ + "cells": [ + { + "cell_type": "raw", + "id": "7d6e8e63", + "metadata": {}, + "source": [ + "---\n", + "title: makie\n", + "---" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fff03da7", + "metadata": {}, + "outputs": [], + "source": [ + "using CairoMakie\n", + "\n", + "\n", + "f = Figure()\n", + "Axis(f[1, 1])\n", + "\n", + "xs = 1:0.2:10\n", + "ys_low = -0.2 .* sin.(xs) .- 0.25\n", + "ys_high = 0.2 .* sin.(xs) .+ 0.25\n", + "\n", + "band!(xs, ys_low, ys_high)\n", + "band!(xs, ys_low .- 1, ys_high .-1, color = :red)\n", + "\n", + "f" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "242380da", + "metadata": {}, + "outputs": [], + "source": [ + "f = Figure()\n", + "Axis(f[1, 1])\n", + "\n", + "xs = LinRange(0, 10, 100)\n", + "ys = LinRange(0, 15, 100)\n", + "zs = [cos(x) * sin(y) for x in xs, y in ys]\n", + "\n", + "contour!(zs,levels=-1:0.1:1)\n", + "\n", + "f" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ff5c9a2d", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax, hm = heatmap(randn(20, 20))\n", + "Colorbar(fig[1, 2], hm)\n", + "fig" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/numerictypes.ipynb b/nb/numerictypes.ipynb new file mode 100644 index 0000000..d407b74 --- /dev/null +++ b/nb/numerictypes.ipynb @@ -0,0 +1,1407 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3a993968", + "metadata": {}, + "source": [ + "# Maschinenzahlen\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f4dbb6a", + "metadata": {}, + "outputs": [], + "source": [ + "for x ∈ ( 3, 3.3e4, Int16(20), Float32(3.3e4), UInt16(9) )\n", + " @show x sizeof(x) typeof(x)\n", + " println()\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "82bbdd01", + "metadata": {}, + "source": [ + "## Ganze Zahlen *(integers)*\n", + "\n", + "Ganze Zahlen werden grundsätzlich als Bitmuster fester Länge gespeichert. Damit ist der Wertebereich endlich. \n", + "**Innerhalb dieses Wertebereichs** sind Addition, Subtraktion, Multiplikation und die Ganzzahldivision mit Rest \n", + "exakte Operationen ohne Rundungsfehler. \n", + "\n", + "Ganze Zahlen gibt es in den zwei Sorten `Signed` (mit Vorzeichen) und `Unsigned`, die man als Maschinenmodelle für ℤ bzw. ℕ auffassen kann.\n", + "\n", + "\n", + "### *Unsigned integers*\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ab84c4da", + "metadata": {}, + "outputs": [], + "source": [ + "subtypes(Unsigned)" + ] + }, + { + "cell_type": "markdown", + "id": "7f458fcd", + "metadata": {}, + "source": [ + "UInts sind Binärzahlen mit n=8, 16, 32, 64 oder 128 Bits Länge und einem entsprechenden Wertebereich von\n", + "$$\n", + "0 \\le x < 2^n \n", + "$$\n", + "Sie werden im *scientific computing* eher selten verwendet. Bei hardwarenaher Programmierung dienen sie z.B. dem Umgang mit Binärdaten und Speicheradressen. Deshalb werden sie von Julia standardmäßig auch als Hexadezimalzahlen (mit Präfix `0x` und Ziffern `0-9a-f`) dargestellt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b6b30a0", + "metadata": {}, + "outputs": [], + "source": [ + "x = 0x0033efef\n", + "@show x typeof(x) Int(x)\n", + "\n", + "z = UInt(32)\n", + "@show z typeof(z);" + ] + }, + { + "cell_type": "markdown", + "id": "25774520", + "metadata": {}, + "source": [ + "### *Signed Integers* \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "341e9267", + "metadata": {}, + "outputs": [], + "source": [ + "subtypes(Signed)" + ] + }, + { + "cell_type": "markdown", + "id": "a8ea7009", + "metadata": {}, + "source": [ + "*Integers* haben den Wertebereich\n", + "$$\n", + "-2^{n-1} \\le x < 2^{n-1} \n", + "$$\n", + "\n", + "\n", + "In Julia sind ganze Zahlen standardmäßig 64 Bit groß:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "79490021", + "metadata": {}, + "outputs": [], + "source": [ + "x = 42\n", + "typeof(x)" + ] + }, + { + "cell_type": "markdown", + "id": "295048cd", + "metadata": {}, + "source": [ + "Sie haben daher den Wertebereich: \n", + "$$\n", + "-9.223.372.036.854.775.808 \\le x \\le 9.223.372.036.854.775.807\n", + "$$\n", + "\n", + "Negative Zahlen werden im Zweierkomplement dargestellt:\n", + "\n", + "$x \\Rightarrow -x$ entspricht: _flip all bits, then add 1_\n", + "\n", + "Das sieht so aus:\n", + "\n", + "::: {.content-visible when-format=\"html\"}\n", + "![Eine Darstellung des fiktiven Datentyps `Int4`](../images/Int4.png){width=50%}\n", + ":::\n", + "\n", + "::: {.content-visible when-format=\"pdf\"}\n", + "![Eine Darstellung des fiktiven Datentyps `Int4`](../images/Int4.png){width=50%}\n", + ":::\n", + "\n", + "Das höchstwertige Bit zeigt das Vorzeichen an. Sein „Umkippen“ entspricht allerdings nicht der Operation `x → -x`.\n", + "\n", + ":::{.callout-important}\n", + "Die gesamte Ganzzahlarithmetik ist eine __Arithmetik modulo $2^n$__\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "677353d7", + "metadata": {}, + "outputs": [], + "source": [ + "x = 2^62 - 10 + 2^62" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7da20d70", + "metadata": {}, + "outputs": [], + "source": [ + "x + 20" + ] + }, + { + "cell_type": "markdown", + "id": "2cdce6d7", + "metadata": {}, + "source": [ + "Keine Fehlermeldung, keine Warnung! Ganzzahlen fester Länge liegen nicht auf einer Geraden, sondern auf einem Kreis!\n", + "\n", + ":::\n", + "\n", + "Schauen wir uns ein paar *Integers* mal an:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "098d82f4", + "metadata": {}, + "outputs": [], + "source": [ + "using Printf\n", + "\n", + "for i in (1, 2, 7, -7, 2^50, -1, Int16(7), Int8(7))\n", + " s = bitstring(i)\n", + " t = typeof(i)\n", + " @printf \"%20i %-5s ⇒ %s\\n\" i t s \n", + "end " + ] + }, + { + "cell_type": "markdown", + "id": "388bed6e", + "metadata": {}, + "source": [ + "... und noch etwas mehr *introspection*:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e164bb25", + "metadata": {}, + "outputs": [], + "source": [ + "typemin(Int64), typemax(Int64)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c94b3df", + "metadata": {}, + "outputs": [], + "source": [ + "typemin(UInt64), typemax(UInt64)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1d2f77c9", + "metadata": {}, + "outputs": [], + "source": [ + "typemin(Int8), typemax(Int8)" + ] + }, + { + "cell_type": "markdown", + "id": "74d88d56", + "metadata": {}, + "source": [ + "## Arithmetik ganzer Zahlen\n", + "\n", + "#### Addition, Multiplikation\n", + "Die Operationen `+`,`-`,`*` haben die übliche exakte Arithmetik **modulo $2^{64}$**.\n", + "\n", + "#### Potenzen `a^b`\n", + "\n", + "- Potenzen `a^n` werden für natürliche Exponenten `n` ebenfalls modulo $2^{64}$ exakt berechnet. \n", + "- Für negative Exponenten ist das Ergebnis eine Gleitkommazahl.\n", + "- `0^0` ist [selbstverständlich](https://en.wikipedia.org/wiki/Zero_to_the_power_of_zero#cite_note-T4n3B-4) gleich 1.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "46b5e26a", + "metadata": {}, + "outputs": [], + "source": [ + "(-2)^63, 2^64, 3^(-3), 0^0 " + ] + }, + { + "cell_type": "markdown", + "id": "0187fb1e", + "metadata": {}, + "source": [ + "- Für natürliche Exponenten wird [*exponentiation by squaring*](https://de.wikipedia.org/wiki/Bin%C3%A4re_Exponentiation) verwendet, so dass z.B. `x^23` nur 7 Multiplikationen benötigt: \n", + "$$\n", + "x^{23} = \\left( \\left( (x^2)^2 \\cdot x \\right)^2 \\cdot x \\right)^2 \\cdot x \n", + "$$\n", + "\n", + "#### Division\n", + "\n", + "- Division `/` erzeugt eine Gleitkommazahl.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "67cb4661", + "metadata": {}, + "outputs": [], + "source": [ + "x = 40/5" + ] + }, + { + "cell_type": "markdown", + "id": "94408807", + "metadata": {}, + "source": [ + "#### Ganzzahldivision und Rest\n", + "\n", + "- Die Funktionen `div(a,b)`, `rem(a,b)` und `divrem(a,b)` berechnen den Quotient der Ganzzahldivision, den dazugehörigen Rest *(remainder)* bzw. beides als Tupel. \n", + "- Für `div(a,b)` gibt es die Operatorform `a ÷ b` (Eingabe: `\\div`) und für `rem(a,b)` die Operatorform `a % b`. \n", + "- Standardmäßig wird bei der Division „zur Null hin gerundet“, wodurch der dazugehörige Rest dasselbe Vorzeichen wie der Dividend `a` trägt: \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3ccdabcf", + "metadata": {}, + "outputs": [], + "source": [ + "@show divrem( 27, 4)\n", + "@show ( 27 ÷ 4, 27 % 4) \n", + "@show (-27 ÷ 4, -27 % 4 )\n", + "@show ( 27 ÷ -4, 27 % -4);" + ] + }, + { + "cell_type": "markdown", + "id": "5222cddb", + "metadata": {}, + "source": [ + "- Eine von `RoundToZero` abweichende Rundungsregel kann bei den Funktionen als optionales 3. Argument angegeben werden. \n", + "- `?RoundingMode` zeigt die möglichen Rundungsregeln an. \n", + "- Für die Rundungsregel `RoundDown` („in Richtung minus unendlich\"), wodurch der dazugehörige Rest dasselbe Vorzeichen wie der Divisor `b` bekommt, gibt es auch die Funktionen `fld(a,b)` *(floored division)* und `mod(a,b)`:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be29f9d4", + "metadata": {}, + "outputs": [], + "source": [ + "@show divrem(-27, 4, RoundDown)\n", + "@show (fld(-27, 4), mod(-27, 4))\n", + "@show (fld( 27, -4), mod( 27, -4));" + ] + }, + { + "cell_type": "markdown", + "id": "84e604f7", + "metadata": {}, + "source": [ + "Für alle Rundungsregeln gilt:\n", + "```\n", + "div(a, b, RoundingMode) * b + rem(a, b, RoundingMode) = a\n", + "```\n", + "\n", + "#### Der Datentyp `BigInt`\n", + "\n", + "Der Datentyp `BigInt` ermöglicht Ganzzahlen beliebiger Länge. Der benötigte Speicher wird dynamisch allokiert.\n", + "\n", + "Numerische Konstanten haben automatisch einen ausreichend großen Typ:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ad97d8a3", + "metadata": {}, + "outputs": [], + "source": [ + "z = 10\n", + "@show typeof(z)\n", + "z = 10_000_000_000_000_000 # 10 Billiarden\n", + "@show typeof(z)\n", + "z = 10_000_000_000_000_000_000 # 10 Trillionen\n", + "@show typeof(z)\n", + "z = 10_000_000_000_000_000_000_000_000_000_000_000_000_000 # 10 Sextilliarden\n", + "@show typeof(z);" + ] + }, + { + "cell_type": "markdown", + "id": "b7da46f1", + "metadata": {}, + "source": [ + "Meist wird man allerdings den Datentyp `BigInt` explizit anfordern müssen, damit nicht modulo $2^{64}$ gerechnet wird:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89d35c00", + "metadata": {}, + "outputs": [], + "source": [ + "@show 3^300 BigInt(3)^300;" + ] + }, + { + "cell_type": "markdown", + "id": "16d1d9cc", + "metadata": {}, + "source": [ + "*Arbitrary precision arithmetic* kostet einiges an Speicherplatz und Rechenzeit.\n", + "\n", + "Wir vergleichen den Zeit- und Speicherbedarf bei der Aufsummation von 10 Millionen Ganzzahlen als `Int64` und als `BigInt`. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d7e4a838", + "metadata": {}, + "outputs": [], + "source": [ + "# 10^7 Zufallszahlen, gleichverteilt zwischen -10^7 und 10^7 \n", + "vec_int = rand(-10^7:10^7, 10^7)\n", + "\n", + "# Dieselben Zahlen als BigInts\n", + "vec_bigint = BigInt.(vec_int)" + ] + }, + { + "cell_type": "markdown", + "id": "5df8fda6", + "metadata": {}, + "source": [ + "Einen ersten Eindruck vom Zeit- und Speicherbedarf gibt das `@time`-Macro:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e37fa19f", + "metadata": {}, + "outputs": [], + "source": [ + "@time x = sum(vec_int)\n", + "@show x typeof(x)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a58adeb1", + "metadata": {}, + "outputs": [], + "source": [ + "@time x = sum(vec_bigint)\n", + "@show x typeof(x);" + ] + }, + { + "cell_type": "markdown", + "id": "17081476", + "metadata": {}, + "source": [ + "Durch die Just-in-Time-Compilation von Julia ist die einmalige Ausführung einer Funktion wenig aussagekräftig. Das Paket `BenchmarkTools` stellt u.a. das Macro `@benchmark` bereit, das eine Funktion mehrfach aufruft und die Ausführungszeiten als Histogramm darstellt.\n", + "\n", + ":::{.ansitight}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5944727", + "metadata": {}, + "outputs": [], + "source": [ + "using BenchmarkTools\n", + "\n", + "@benchmark sum($vec_int)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eb32dbfa", + "metadata": {}, + "outputs": [], + "source": [ + "@benchmark sum($vec_bigint)" + ] + }, + { + "cell_type": "markdown", + "id": "11e20069", + "metadata": {}, + "source": [ + ":::\n", + "Die `BigInt`-Addition ist mehr als 30 mal langsamer. \n", + "\n", + "\n", + "\n", + ":::{.content-hidden unless-format=\"xxx\"}\n", + "Die folgende Funktion soll die Summe aller Zahlen von 1 bis n mit der Arithmetik des Datentyps T berechnen.\n", + "Auf Grund der *type promotion rules* reicht es für `T ≥ Int64` dazu aus, die Akkumulatorvariable mit einer Zahl vom Typ T zu initialisieren. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ad42844a", + "metadata": {}, + "outputs": [], + "source": [ + "function mysum(n, T)\n", + " s = T(0)\n", + " for i = 1:n\n", + " s += i \n", + " end\n", + " return s\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "184457e8", + "metadata": {}, + "source": [ + "Einen ersten Eindruck vom Zeit- und Speicherbedarf gibt das `@time`-Macro:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c92af0db", + "metadata": {}, + "outputs": [], + "source": [ + "@time x = mysum(10_000_000, Int64)\n", + "@show x typeof(x);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e58be090", + "metadata": {}, + "outputs": [], + "source": [ + "@time x = mysum(10_000_000, BigInt)\n", + "@show x typeof(x);" + ] + }, + { + "cell_type": "markdown", + "id": "bfe545fd", + "metadata": {}, + "source": [ + "Durch die Just-in-Time-Compilation von Julia ist die einmalige Ausführung einer Funktion wenig aussagekräftig. Das Paket `BenchmarkTools` stellt u.a. das Macro `@benchmark` bereit, das eine Funktion mehrfach aufruft und die Ausführungszeiten als Histogramm darstellt.\n", + "\n", + ":::{.ansitight}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3ae14185", + "metadata": {}, + "outputs": [], + "source": [ + "using BenchmarkTools\n", + "\n", + "@benchmark mysum(10_000_000, Int64)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d7513870", + "metadata": {}, + "outputs": [], + "source": [ + "@benchmark mysum(10_000_000, BigInt)" + ] + }, + { + "cell_type": "markdown", + "id": "4835712f", + "metadata": {}, + "source": [ + "Die Berechnung von $\\sum_{n=1}^{10000000} n$ dauert auf meinem PC mit den Standard-64bit-Integern im Schnitt 2 Nanosekunden, in *arbitrary precision arithmetic* über eine Sekunde, wobei auch noch fast 500MB Speicher allokiert werden. \n", + "\n", + ":::\n", + ":::\n", + "\n", + "\n", + "## Gleitkommazahlen\n", + "\n", + "Aus _floating point numbers_ kann man im Deutschen **[Gleit|Fließ]--[Komma|Punkt]--Zahlen** machen \n", + "und tatsächlich kommen alle 4 Varianten in der Literatur vor. \n", + "\n", + "In der Numerischen Mathematik spricht man auch gerne von **Maschinenzahlen**.\n", + "\n", + "\n", + "### Grundidee \n", + "\n", + "- Eine „feste Anzahl von Vor- und Nachkommastellen“ ist für viele Probleme ungeeignet.\n", + "- Eine Trennung zwischen „gültigen Ziffern“ und Größenordnung wie in der wissenschaftlichen Notation\n", + " $$ 345.2467 \\times 10^3\\qquad 34.52467\\times 10^4\\qquad \\underline{3.452467\\times 10^5}\\qquad 0.3452467\\times 10^6\\qquad 0.03452467\\times 10^7$$ \n", + " ist wesentlich flexibler. \n", + "- Zur Eindeutigkeit legt man fest: Die Darstellung mit genau einer Ziffer vor dem Komma ist die __Normalisierte Darstellung__.\n", + "- Bei Binärzahlen `1.01101`: ist diese Ziffer immer gleich Eins und man kann auf das Abspeichern dieser Ziffer verzichten.\n", + "\n", + "\n", + ":::{.callout-note }\n", + " \n", + "## Maschinenzahlen\n", + "\n", + "Die Menge der Maschinenzahlen $𝕄(b, m, e_{min}, e_{max})$ ist charakterisiert durch die verwendete Basis $b$, die Mantissenlänge $m$ und den Wertebereich des Exponenten $\\{e_{min}, ... ,e_{max}\\}$. \n", + "\n", + "In unserer Konvention hat die Mantisse einer normalisierten Maschinenzahl eine Ziffer (der Basis $b$) ungleich Null vor dem Komma und $m-1$ Nachkommastellen. \n", + "\n", + "Wenn $b=2$ ist, braucht man daher nur $m-1$ Bits zur Speicherung der Mantisse normalisierter Gleitkommazahlen. \n", + "\n", + "Der Standard IEEE 754, der von der Mahrzahl der modernen Prozessoren und Programmiersprachen implementiert wird, definiert \n", + "\n", + "- `Float32` als $𝕄(2, 24, -126, 127 )$ und \n", + "- `Float64` als $𝕄(2, 53, -1022, 1023 ).$\n", + "\n", + ":::\n", + "\n", + "### Aufbau von `Float64` nach [Standard IEEE 754](https://de.wikipedia.org/wiki/IEEE_754)\n", + "\n", + "\n", + "::: {.content-visible when-format=\"html\"}\n", + "![Aufbau einer `Float64` (Quelle:^[Quelle:
Codekaizen, CC BY-SA 4.0, via Wikimedia Commons ])\n", + "](../images/1024px-IEEE_754_Double_Floating_Point_Format.png)\n", + ":::\n", + "\n", + "::: {.content-visible when-format=\"pdf\"}\n", + "![Aufbau einer `Float64` \\mysmall{(Quelle: \\href{https://commons.wikimedia.org/wiki/File:IEEE_754_Double_Floating_Point_Format.svg}{Codekaizen}, \\href{https://creativecommons.org/licenses/by-sa/4.0}{CC BY-SA 4.0}, via Wikimedia Commons)}\n", + "](../images/1024px-IEEE_754_Double_Floating_Point_Format.png){width=\"70%\"}\n", + ":::\n", + "\n", + "\n", + "- 1 Vorzeichenbit $S$\n", + "- 11 Bits für den Exponenten, also $0\\le E \\le 2047$\n", + "- die Werte $E=0$ und $E=(11111111111)_2=2047$ sind reserviert für die Codierung von Spezialwerten wie\n", + "$\\pm0, \\pm\\infty$, NaN _(Not a Number)_ und denormalisierte Zahlen.\n", + "- 52 Bits für die Mantisse $M,\\quad 0\\le M<1$, das entspricht etwa 16 Dezimalstellen\n", + "- Damit wird folgende Zahl dargestellt:\n", + "$$ x=(-1)^S \\cdot(1+M)\\cdot 2^{E-1023}$$\n", + "\n", + "Ein Beispiel:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8433da22", + "metadata": {}, + "outputs": [], + "source": [ + "x = 27.56640625\n", + "bitstring(x)" + ] + }, + { + "cell_type": "markdown", + "id": "7be4f1fc", + "metadata": {}, + "source": [ + "Das geht auch schöner:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "98311a9b", + "metadata": {}, + "outputs": [], + "source": [ + "function printbitsf64(x::Float64)\n", + " s = bitstring(x)\n", + " printstyled(s[1], color = :blue, reverse=true)\n", + " printstyled(s[2:12], color = :green, reverse=true)\n", + " printstyled(s[13:end], color=:red, bold=true, reverse=true)\n", + " print(\"\\n\")\n", + "end\n", + "\n", + "printbitsf64(x)" + ] + }, + { + "cell_type": "markdown", + "id": "728867d2", + "metadata": {}, + "source": [ + "und wir können S (in blau),E (grün) und M (rot) ablesen:\n", + "$$\n", + "\\begin{aligned}\n", + "S &= 0\\\\\n", + "E &= (10000000011)_2 = 2^{10} + 2^1 + 2^0 = 1027\\\\\n", + "M &= (.1011100100001)_2 = \\frac{1}{2} + \\frac{1}{2^3} + \\frac{1}{2^4} + \\frac{1}{2^5} + \\frac{1}{2^8} + \\frac{1}{2^{12}}\\\\\n", + "x &=(-1)^S \\cdot(1+M)\\cdot 2^{E-1023}\n", + "\\end{aligned}\n", + "$$\n", + "\n", + "\n", + "... und damit die Zahl rekonstruieren:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4403c1c", + "metadata": {}, + "outputs": [], + "source": [ + "x = (1 + 1/2 + 1/8 + 1/16 + 1/32 + 1/256 + 1/4096) * 2^4" + ] + }, + { + "cell_type": "markdown", + "id": "9346d953", + "metadata": {}, + "source": [ + "- Die Maschinenzahlen 𝕄 bilden eine endliche, diskrete Untermenge von ℝ. Es gibt eine kleinste und eine größte Maschinenzahl und abgesehen davon haben alle x∈𝕄 einen Vorgänger und Nachfolger in 𝕄.\n", + "- Was ist der Nachfolger von x in 𝕄? Dazu setzen wir das kleinste Mantissenbit von 0 auf 1. \n", + "- Die Umwandlung eines Strings aus Nullen und Einsen in die entsprechende Maschinenzahl ist z.B. so möglich:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be8c52e0", + "metadata": {}, + "outputs": [], + "source": [ + "ux = parse(UInt64, \"0100000000111011100100010000000000000000000000000000000000000001\", base=2)\n", + "reinterpret(Float64, ux)" + ] + }, + { + "cell_type": "markdown", + "id": "165a8689", + "metadata": {}, + "source": [ + "Das kann man in Julia allerdings auch einfacher haben:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3901ed32", + "metadata": {}, + "outputs": [], + "source": [ + "y = nextfloat(x)" + ] + }, + { + "cell_type": "markdown", + "id": "d8b2e005", + "metadata": {}, + "source": [ + "Der Vorgänger von x ist:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ed502537", + "metadata": {}, + "outputs": [], + "source": [ + "z = prevfloat(x)\n", + "println(z)\n", + "printbitsf64(z)" + ] + }, + { + "cell_type": "markdown", + "id": "973c7660", + "metadata": {}, + "source": [ + "## Maschinenepsilon\n", + "\n", + "- Den Abstand zwischen `1` und dem Nachfolger `nextfloat(1)` nennt man [**Maschinenepsilon**](https://en.wikipedia.org/wiki/Machine_epsilon). \n", + "- Für `Float64` mit einer Mantissenlänge von 52 Bit, ist $\\epsilon=2^{-52}$.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "53a4703b", + "metadata": {}, + "outputs": [], + "source": [ + "@show nextfloat(1.) - 1 2^-52 eps(Float64);" + ] + }, + { + "cell_type": "markdown", + "id": "1b27e5f1", + "metadata": {}, + "source": [ + "- Das Maschinenepsilon ist ein Maß für den relativen Abstand zwischen den Maschinenzahlen und quantifiziert die Aussage: „64-Bit-Gleitkommazahlen haben eine Genauigkeit von etwa 16 Dezimalstellen.“\n", + "- Das Maschinenepsilon ist etwas völlig anderes als die kleinste von Null verschiedene Gleitkommazahl:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6c6247c5", + "metadata": {}, + "outputs": [], + "source": [ + "floatmin(Float64)" + ] + }, + { + "cell_type": "markdown", + "id": "ace02061", + "metadata": {}, + "source": [ + "- Ein Teil der Literatur verwendet eine andere Definition des Maschinenepsilons, die halb so groß ist. \n", + "$$\n", + "\\epsilon' = \\frac{\\epsilon}{2}\\approx 1.1\\times 10^{-16}\n", + "$$ \n", + "ist der maximale relative Fehler, der beim Runden einer reellen Zahl auf die nächste Maschinenzahl entstehen kann.\n", + "- Da Zahlen aus dem Intervall $(1-\\epsilon',1+\\epsilon']$ auf die Maschinenzahl $1$ gerundet werden, kann man $\\epsilon'$ auch definieren als: *die größte Zahl, für die in der Maschinenzahlarithmetik noch gilt: $1+\\epsilon' = 1$.* \n", + "\n", + "Auf diese Weise kann man das Maschinenepsilon auch berechnen:\n", + "\n", + ":::{.ansitight}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "94351455", + "metadata": {}, + "outputs": [], + "source": [ + "Eps = 1\n", + "while(1 != 1 + Eps)\n", + " Eps /= 2\n", + " println(1+Eps)\n", + "end\n", + "Eps" + ] + }, + { + "cell_type": "markdown", + "id": "ce03b152", + "metadata": {}, + "source": [ + "oder als Bitmuster:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de6c5e53", + "metadata": {}, + "outputs": [], + "source": [ + "Eps=1\n", + "while 1 != 1 + Eps\n", + " Eps/= 2\n", + " printbitsf64(1+Eps)\n", + "end\n", + "Eps" + ] + }, + { + "cell_type": "markdown", + "id": "23b7914a", + "metadata": {}, + "source": [ + ":::\n", + "\n", + "Die größte und die kleinste positive normalisiert darstellbare Gleitkommazahl eines Gleitkommatyps kann man abfragen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10296953", + "metadata": {}, + "outputs": [], + "source": [ + "@show floatmax(Float64)\n", + "printbitsf64(floatmax(Float64))\n", + "\n", + "@show floatmin(Float64)\n", + "printbitsf64(floatmin(Float64))" + ] + }, + { + "cell_type": "markdown", + "id": "ac56b395", + "metadata": {}, + "source": [ + "## Runden auf Maschinenzahlen\n", + "\n", + "- Die Abbildung rd: ℝ $\\rightarrow$ 𝕄 soll zur nächstgelegenen darstellbaren Zahl runden. \n", + "- Standardrundungsregel: _round to nearest, ties to even_ \n", + " Wenn man genau die Mitte zwischen zwei Maschinenzahlen trifft *(tie)*, wählt man die, deren letztes Mantissenbit 0 ist. \n", + "- Begründung: damit wird statistisch in 50% der Fälle auf- und in 50% der Fälle abgerundet und so ein „statistischer Drift“ bei längeren Rechnungen vermieden. \n", + "\n", + "## Maschinenzahlarithmetik\n", + "\n", + "Die Maschinenzahlen sind als Untermenge von ℝ nicht algebraisch abgeschlossen. Schon die Summe zweier Maschinenzahlen wird in der Regel keine Maschinenzahl sein. \n", + "\n", + ":::{.callout-important}\n", + "Der Standard IEEE 754 fordert, dass die Maschinenzahlarithmetik das *gerundete exakte Ergebnis* liefert:\n", + "\n", + "Das Resultat muss gleich demjenigen sein, das bei einer exakten Ausführung der entsprechenden Operation mit anschließender Rundung entsteht.\n", + "$$\n", + " a \\oplus b = \\text{rd}(a + b)\n", + "$$ \n", + "Analoges muss für die Implemetierung der Standardfunktionen wie \n", + "wie `sqrt()`, `log()`, `sin()` ... gelten: Sie liefern ebenfalls die Maschinenzahl, die dem exakten Ergebnis am nächsten kommt.\n", + ":::\n", + "\n", + "\n", + "Die Arithmetik ist *nicht assoziativ*:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dbe01c9d", + "metadata": {}, + "outputs": [], + "source": [ + "1 + 10^-16 + 10^-16 " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd4dea94", + "metadata": {}, + "outputs": [], + "source": [ + "1 + (10^-16 + 10^-16)" + ] + }, + { + "cell_type": "markdown", + "id": "c5f1bc1c", + "metadata": {}, + "source": [ + "Im ersten Fall (ohne Klammern) wird von links nach rechts ausgewertet:\n", + "$$\n", + "\\begin{aligned}\n", + "1 \\oplus 10^{-16} \\oplus 10^{-16} &=\n", + " (1 \\oplus 10^{-16}) \\oplus 10^{-16} \\\\ &= \n", + "\\text{rd}\\left(\\text{rd}(1 + 10^{-16}) + 10^{-16} \\right)\\\\\n", + "&= \\text{rd}(1 + 10^{-16})\\\\\n", + "&= 1\n", + "\\end{aligned}\n", + "$$\n", + "\n", + "Im zweiten Fall erhält man:\n", + "$$\n", + "\\begin{aligned}\n", + "1 \\oplus \\left(10^{-16} \\oplus 10^{-16}\\right) &=\n", + "\\text{rd}\\left(1 + \\text{rd}(10^{-16} + 10^{-16}) \\right)\\\\\n", + "&= \\text{rd}(1 + 2*10^{-16})\\\\\n", + "&= 1.0000000000000002\n", + "\\end{aligned}\n", + "$$\n", + "\n", + "\n", + "Es sei auch daran erinnert, dass sich selbst „einfache“ Dezimalbrüche häufig nicht exakt als Maschinenzahlen darstellen lassen:\n", + "\n", + "$$\n", + "\\begin{aligned}\n", + "(0.1)_{10} &= (0.000110011001100110011001100...)_2 = (0.000\\overline{1100})_2 \\\\\n", + " (0.3)_{10} &= (0.0100110011001100110011001100..)_2 = (0.0\\overline{1001})_2 \n", + " \\end{aligned}\n", + " $$\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3d65d23", + "metadata": {}, + "outputs": [], + "source": [ + "printbitsf64(0.1)\n", + "printbitsf64(0.3)" + ] + }, + { + "cell_type": "markdown", + "id": "4941993c", + "metadata": {}, + "source": [ + "Folge:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c2d4306a", + "metadata": {}, + "outputs": [], + "source": [ + "0.1 + 0.1 == 0.2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92671384", + "metadata": {}, + "outputs": [], + "source": [ + "0.2 + 0.1 == 0.3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a3ae81f9", + "metadata": {}, + "outputs": [], + "source": [ + "0.2 + 0.1" + ] + }, + { + "cell_type": "markdown", + "id": "2ea75313", + "metadata": {}, + "source": [ + "Bei der Ausgabe einer Maschinenzahl muss der Binärbruch in einen Dezimalbruch entwickelt werden. Man kann sich auch mehr Stellen dieser Dezimalbruchentwicklung anzeigen lassen: \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "17c80acc", + "metadata": {}, + "outputs": [], + "source": [ + "using Printf\n", + "@printf(\"%.30f\", 0.1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3409a939", + "metadata": {}, + "outputs": [], + "source": [ + "@printf(\"%.30f\", 0.3)" + ] + }, + { + "cell_type": "markdown", + "id": "51bd9e73", + "metadata": {}, + "source": [ + "Die Binärbruch-Mantisse einer Maschinenzahl kann eine lange oder sogar unendlich-periodische Dezimalbruchentwicklung haben. Dadurch \n", + "sollte man sich nicht eine „höheren Genauigkeit“ suggerieren lassen! \n", + "\n", + ":::{.callout-important}\n", + "Moral: wenn man `Float`s auf Gleichheit testen will, sollte man fast immer eine dem Problem angemessene realistische Genauigkeit `epsilon` festlegen und \n", + "darauf testen:\n", + "\n", + "```julia\n", + "epsilon = 1.e-10\n", + "\n", + "if abs(x-y) < epsilon\n", + " # ...\n", + "end\n", + "```\n", + ":::\n", + "\n", + "## Normalisierte und Denormalisierte Maschinenzahlen\n", + "\n", + "Zum Verständnis nehmen wir ein einfaches Modell: \n", + "\n", + "- Sei 𝕄(10,4,±5) die Menge der Maschinenzahlen zur Basis 10 mit 4 Mantissenstellen (eine vor dem Komma, 3 Nachkommastellen) und dem Exponentenbereich -5 ≤ E ≤ 5.\n", + "- Dann ist die normalisierte Darstellung (Vorkommastelle ungleich 0)\n", + " von z.B. 1234.0 gleich 1.234e3 und von 0.00789 gleich 7.890e-3.\n", + "- Es ist wichtig, dass die Maschinenzahlen bei jedem Rechenschritt normalisiert gehalten werden. Nur so wird die Mantissenlänge voll ausgenutzt und die Genauigkeit ist maximal.\n", + "- Die kleinste positive normalisierte Zahl in unserem Modell ist `x = 1.000e-5`. Schon `x/2` müsste auf 0 gerundet werden. \n", + "- Hier erweist es sich für viele Anwendungen als günstiger, auch denormalisierte *(subnormal)* Zahlen zuzulassen und `x/2` als `0.500e-5` oder `x/20` als `0.050e-5` darzustellen. \n", + "- Dieser *gradual underflow* ist natürlich mit einem Verlust an gültigen Stellen und damit Genauigkeit verbunden.\n", + "\n", + "\n", + "Im `Float`-Datentyp werden solche *subnormal values* dargestellt durch ein Exponentenfeld, in dem alle Bits gleich Null sind:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4cf6ecae", + "metadata": {}, + "outputs": [], + "source": [ + "#| echo: false\n", + "#| output: false\n", + "flush(stdout)" + ] + }, + { + "cell_type": "markdown", + "id": "baddd014", + "metadata": {}, + "source": [ + ":::{.ansitight}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1d0377d1", + "metadata": {}, + "outputs": [], + "source": [ + "using Printf\n", + "\n", + "x = 2 * floatmin(Float64) # 2*kleinste normalisierte Gleitkommazahl > 0\n", + "\n", + "while x != 0\n", + " x /= 2\n", + " @printf \"%14.6g \" x\n", + " printbitsf64(x)\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "246e9987", + "metadata": {}, + "source": [ + ":::\n", + "\n", + "## Spezielle Werte\n", + "\n", + "Die Gleitkommaarithmetik kennt einige spezielle Werte:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a7ad264", + "metadata": {}, + "outputs": [], + "source": [ + "for x ∈ (NaN, Inf, -Inf, -0.0)\n", + " @printf \"%6g \" x\n", + " printbitsf64(x)\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "806100b7", + "metadata": {}, + "source": [ + "- Ein Exponentenüberlauf *(overflow)* führt zum Ergebnis `Inf` oder `-Inf`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c4381f5a", + "metadata": {}, + "outputs": [], + "source": [ + "2/0, -3/0, floatmax(Float64) * 1.01, exp(1300)" + ] + }, + { + "cell_type": "markdown", + "id": "01836c3b", + "metadata": {}, + "source": [ + "- Damit kann weitergerechnet werden:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6d21942", + "metadata": {}, + "outputs": [], + "source": [ + "-Inf + 20, Inf/30, 23/-Inf, sqrt(Inf), Inf * 0, Inf - Inf" + ] + }, + { + "cell_type": "markdown", + "id": "b8dd245d", + "metadata": {}, + "source": [ + "- `NaN` *(Not a Number)* steht für das Resultat einer Operation, das undefiniert ist. Alle weiteren Operationen mit `NaN` ergeben ebenfalls `NaN`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ed988054", + "metadata": {}, + "outputs": [], + "source": [ + "0/0, Inf - Inf, 2.3NaN, sqrt(NaN)" + ] + }, + { + "cell_type": "markdown", + "id": "a5cdc827", + "metadata": {}, + "source": [ + "- Da `NaN` einen undefinierten Wert repräsentiert, ist es zu nichts gleich, nichtmal zu sich selbst. Das ist sinnvoll, denn wenn zwei Variablen `x` und `y` als `NaN` berechnet wurden, sollte man nicht schlußfolgern, dass sie gleich sind. \n", + "- Zum Testen auf `NaN` gibt es daher die boolsche Funktion `isnan()`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1fddee9", + "metadata": {}, + "outputs": [], + "source": [ + "x = 0/0\n", + "y = Inf - Inf\n", + "@show x==y NaN==NaN isfinite(NaN) isinf(NaN) isnan(x) isnan(y); " + ] + }, + { + "cell_type": "markdown", + "id": "7620f690", + "metadata": {}, + "source": [ + "- Es gibt eine „minus Null“. Sie signalisiert einen Exponentenunterlauf *(underflow)* einer betragsmäßig zu klein gewordenen *negativen* Größe. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "448f1740", + "metadata": {}, + "outputs": [], + "source": [ + "@show 23/-Inf -2/exp(1200) -0.0==0.0;" + ] + }, + { + "cell_type": "markdown", + "id": "fc1c8f29", + "metadata": {}, + "source": [ + "## Mathematische Funktionen\n", + "\n", + "Julia verfügt über die [üblichen mathematischen Funktionen](https://docs.julialang.org/en/v1/manual/mathematical-operations/#Rounding-functions) \n", + "`sqrt, exp, log, log2, log10, sin, cos,..., asin, acos,..., sinh,..., gcd, lcm, factorial,...,abs, max, min,...`,\n", + "\n", + "darunter z.B. die [Rundungsfunktionen](https://de.wikipedia.org/wiki/Abrundungsfunktion_und_Aufrundungsfunktion)\n", + "\n", + "- `floor(T,x)` = $\\lfloor x \\rfloor$\n", + "- `ceil(T,x)` = $\\lceil x \\rceil$\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a22d5739", + "metadata": {}, + "outputs": [], + "source": [ + "floor(3.4), floor(Int64, 3.5), floor(Int64, -3.5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "175b33d1", + "metadata": {}, + "outputs": [], + "source": [ + "ceil(3.4), ceil(Int64, 3.5), ceil(Int64, -3.5)" + ] + }, + { + "cell_type": "markdown", + "id": "40ce370d", + "metadata": {}, + "source": [ + "Es sei noch hingewiesen auf `atan(y, x)`, den [Arkustangens mit 2 Argumenten](https://de.wikipedia.org/wiki/Arctan2), Er ist in anderen Programmiersprachen oft als Funktion mit eigenem Namen *atan2* implementiert. \n", + "Dieser löst das Problem der Umrechnung von kartesischen in Polarkoordinaten ohne lästige Fallunterscheidung. \n", + "\n", + "- `atan(y,x)` ist Winkel der Polarkoordinaten von (x,y) im Intervall $(-\\pi,\\pi]$. Im 1. und 4. Quadranten ist er also gleich `atan(y/x)`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "518c24db", + "metadata": {}, + "outputs": [], + "source": [ + "atan(3, -2), atan(-3, 2), atan(-3/2)" + ] + }, + { + "cell_type": "markdown", + "id": "f61060f4", + "metadata": {}, + "source": [ + "## Umwandlung Strings $\\Longleftrightarrow$ Zahlen\n", + "\n", + "Die Umwandlung ist mit den Funktionen `parse()` und `string()` möglich.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "96490c3b", + "metadata": {}, + "outputs": [], + "source": [ + "parse(Int64, \"1101\", base=2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "814ac0ed", + "metadata": {}, + "outputs": [], + "source": [ + "string(13, base=2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90b64397", + "metadata": {}, + "outputs": [], + "source": [ + "string(1/7)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fb1ebb4d", + "metadata": {}, + "outputs": [], + "source": [ + "string(77, base=16)" + ] + }, + { + "cell_type": "markdown", + "id": "029d437e", + "metadata": {}, + "source": [ + "Zur Umwandlung der numerischen Typen ineinander kann man die Typnamen verwenden. Typenamen sind auch Konstruktoren:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "df5b20f2", + "metadata": {}, + "outputs": [], + "source": [ + "x = Int8(67)\n", + "@show x typeof(x);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "27314b21", + "metadata": {}, + "outputs": [], + "source": [ + "z = UInt64(3459)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5687c82a", + "metadata": {}, + "outputs": [], + "source": [ + "y = Float64(z)" + ] + }, + { + "cell_type": "markdown", + "id": "075b91d7", + "metadata": {}, + "source": [ + "## Literatur\n", + "\n", + "- D. Goldberg, [What Every Computer Scientist Should Know About Floating-Point Arithmetic](http://www.validlab.com/goldberg/paper.pdf)\n", + "- C. Vuik, [Some Disasters caused by numerical errors](http://ta.twi.tudelft.nl/users/vuik/wi211/disasters.html)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/pcomplex.ipynb b/nb/pcomplex.ipynb new file mode 100644 index 0000000..1d2c72c --- /dev/null +++ b/nb/pcomplex.ipynb @@ -0,0 +1,746 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3b9e97dc", + "metadata": {}, + "source": [ + "# Ein Fallbeispiel: Der parametrisierte Datentyp PComplex\n", + "\n", + "Wir wollen als neuen numerischen Typen **komplexe Zahlen in Polardarstellung $z=r e^{i\\phi}=(r,ϕ)$** einführen. \n", + "\n", + "- Der Typ soll sich in die Typhierarchie einfügen als Subtyp von 'Number'.\n", + "- $r$ und $\\phi$ sollen Gleitkommazahlen sein. (Im Unterschied zu komplexen Zahlen in 'kartesischen' Koordinaten hat eine Einschränkung auf ganzzahlige Werte von r oder ϕ mathematisch wenig Sinn.)\n", + "\n", + "## Die Definition von `PComplex`\n", + "\n", + "Ein erster Versuch könnte so aussehen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b00fa817", + "metadata": {}, + "outputs": [], + "source": [ + "struct PComplex1{T <: AbstractFloat} <: Number\n", + " r :: T\n", + " ϕ :: T\n", + "end\n", + "\n", + "z1 = PComplex1(-32.0, 33.0)\n", + "z2 = PComplex1{Float32}(12, 13)\n", + "@show z1 z2;" + ] + }, + { + "cell_type": "markdown", + "id": "00603f51", + "metadata": {}, + "source": [ + "Julia stellt automatisch *default constructors* zur Verfügung:\n", + "\n", + "- den Konstruktor `PComplex1`, bei dem der Typ `T` von den übergebenen Argumenten abgeleitet wird und\n", + "- Konstruktoren `PComplex{Float64},...` mit expliziter Typangabe. Hier wird versucht, die Argumente in den angeforderten Typ zu konvertieren. \n", + "\n", + "------\n", + "\n", + "Wir wollen nun, dass der Konstruktor noch mehr tut. \n", + "In der Polardarstellung soll $0\\le r$ und $0\\le \\phi<2\\pi$ gelten.\n", + "\n", + "Wenn die übergebenen Argumente das nicht erfüllen, sollten sie entsprechend umgerechnet werden.\n", + "\n", + "Dazu definieren wir einen _inner constructor_, der den _default constructor_ ersetzt.\n", + "\n", + "- Ein _inner constructor_ ist eine Funktion innerhalb der `struct`-Definition.\n", + "- In einem _inner constructor_ kann man die spezielle Funktion `new` verwenden, die wie der _default constructor_ wirkt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d583f845", + "metadata": {}, + "outputs": [], + "source": [ + "struct PComplex{T <: AbstractFloat} <: Number\n", + " r :: T\n", + " ϕ :: T\n", + "\n", + " function PComplex{T}(r::T, ϕ::T) where T<:AbstractFloat\n", + " if r<0 # flip the sign of r and correct phi\n", + " r = -r\n", + " ϕ += π\n", + " end\n", + " if r==0 ϕ=0 end # normalize r=0 case to phi=0 \n", + " ϕ = mod(ϕ, 2π) # map phi into interval [0,2pi)\n", + " new(r, ϕ) # new() ist special function,\n", + " end # available only inside inner constructors\n", + "\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3d6ada4", + "metadata": {}, + "outputs": [], + "source": [ + "#| echo: false\n", + "#| output: false\n", + "\n", + "#=\n", + "in den ganzen quarto-runs wollen bir hier noch das default-show benutzen\n", + "=#\n", + "zz = @which Base.show(stdout, PComplex{Float64}(2.,3.))\n", + "if zz.module != Base\n", + " Base.delete_method(zz)\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55f6b7dc", + "metadata": {}, + "outputs": [], + "source": [ + "z1 = PComplex{Float64}(-3.3, 7π+1)" + ] + }, + { + "cell_type": "markdown", + "id": "99f6d6e1", + "metadata": {}, + "source": [ + "Für die explizite Angabe eines *inner constructors* müssen wir allerdings einen Preis zahlen: Die sonst von Julia bereitgestellten *default constructors* fehlen. \n", + "\n", + "Den Konstruktor, der ohne explizite Typangabe in geschweiften Klammern auskommt und den Typ der Argumente übernimmt, wollen wir gerne auch haben:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e6c36f18", + "metadata": {}, + "outputs": [], + "source": [ + "PComplex(r::T, ϕ::T) where {T<:AbstractFloat} = PComplex{T}(r,ϕ)\n", + "\n", + "z2 = PComplex(2.0, 0.3)" + ] + }, + { + "cell_type": "markdown", + "id": "5d77812c", + "metadata": {}, + "source": [ + "## Eine neue Schreibweise\n", + "\n", + "Julia verwendet `//` als Infix-Konstruktor für den Typ `Rational`. Sowas Schickes wollen wir auch. \n", + "\n", + "In der Elektronik/Elektrotechnik werden [Wechselstromgrößen durch komplexe Zahlen beschrieben.](https://de.wikipedia.org/wiki/Komplexe_Wechselstromrechnung). Dabei ist eine Darstellung komplexer Zahlen durch \"Betrag\" und \"Phase\" üblich und sie wird gerne in der sogenannten [Versor-Form](https://de.wikipedia.org/wiki/Versor) (engl. *phasor*) dargestellt:\n", + "$$\n", + " z= r\\enclose{phasorangle}{\\phi} = 3.4\\;\\enclose{phasorangle}{45^\\circ}\n", + "$$\n", + "wobei man in der Regel den Winkel in Grad notiert. \n", + "\n", + ":::{.callout-note .titlenormal collapse=\"true\"}\n", + "\n", + "## Mögliche Infix-Operatoren in Julia\n", + "\n", + "In Julia ist eine große Anzahl von Unicode-Zeichen reserviert für die Verwendung als Operatoren. Die definitive Liste ist im [Quellcode des Parsers.](https://github.com/JuliaLang/julia/blob/eaa2c58aeb12f27c1d8c116ab111773a4fc4495f/src/julia-parser.scm#L13-L31)\n", + "\n", + "Auf Details werden wir in einem späteren Kapitel noch eingehen. \n", + "\n", + "Und ja, der Julia-Parser ist in einem Lisp(genauer: Scheme)-Dialekt geschrieben. In Julia ist ein kleiner Scheme-Interpreter namens [femtolisp](https://github.com/JeffBezanson/femtolisp) integriert. Geschrieben hat ihn einer der \"Väter\" von Julia bevor er mit der Arbeit an Julia begann. \n", + "\n", + ":::\n", + "\n", + "Das Winkel-Zeichen `∠` steht leider nicht als Operatorsymbol zur Verfügung. Wir weichen aus auf `⋖`. Das kann in Julia als als `\\lessdot` eingegeben werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a4fc6d3c", + "metadata": {}, + "outputs": [], + "source": [ + " ⋖(r::Real, ϕ::Real) = PComplex(r, π*ϕ/180)\n", + "\n", + "z3 = 2. ⋖ 90." + ] + }, + { + "cell_type": "markdown", + "id": "c19f6e25", + "metadata": {}, + "source": [ + "(Die Typ-Annotation -- `Real` statt `AbstractFloat` -- ist ein Vorgriff auf kommende weitere Konstruktoren. Im Moment funktioniert der Operator `⋖` erstmal nur mit `Float`s.)\n", + "\n", + "\n", + "Natürlich wollen wir auch die Ausgabe so schön haben. Details dazu findet man in der [Dokumentation](https://docs.julialang.org/en/v1/manual/types/#man-custom-pretty-printing).\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "13e750ef", + "metadata": {}, + "outputs": [], + "source": [ + "using Printf\n", + "\n", + "function Base.show(io::IO, z::PComplex)\n", + " # wir drucken die Phase in Grad, auf Zehntelgrad gerundet, \n", + " p = z.ϕ * 180/π\n", + " sp = @sprintf \"%.1f\" p\n", + " print(io, z.r, \"⋖\", sp, '°')\n", + "end\n", + "\n", + "@show z3;" + ] + }, + { + "cell_type": "markdown", + "id": "e1c7d6fa", + "metadata": {}, + "source": [ + "## Methoden für `PComplex`\n", + "\n", + "Damit unser Typ ein anständiges Mitglied der von `Number` abstammenden Typfamilie wird, brauchen wir allerdings noch eine ganze Menge mehr. Es müssen Arithmetik, Vergleichsoperatoren, Konvertierungen usw. definiert werden. \n", + "\n", + "\n", + "Wir beschränken uns auf Multiplikation und Quadratwurzeln.\n", + "\n", + "\n", + ":::{.callout-note collapse=\"true\"}\n", + "## Module \n", + "\n", + "- Um die `methods` der existierenden Funktionen und Operationen zu ergänzen, muss man diese mit ihrem 'vollen Namen' ansprechen.\n", + "- Alle Objekte gehören zu einem Namensraum oder `module`.\n", + "- Die meisten Basisfunktionen gehören zum Modul `Base`, welches standardmäßig immer ohne explizites `using ...` geladen wird. \n", + "- Solange man keine eigenen Module definiert, sind die eigenen Definitionen im Modul `Main`.\n", + "- Das Macro `@which`, angewendet auf einen Namen, zeigt an, in welchem Modul der Name definiert wurde. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "373829e0", + "metadata": {}, + "outputs": [], + "source": [ + "f(x) = 3x^3\n", + "@which f" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a4490292", + "metadata": {}, + "outputs": [], + "source": [ + "wp = @which +\n", + "ws = @which(sqrt)\n", + "println(\"Modul für Addition: $wp, Modul für sqrt: $ws\")" + ] + }, + { + "cell_type": "markdown", + "id": "d49ec514", + "metadata": {}, + "source": [ + ":::\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d2186aeb", + "metadata": {}, + "outputs": [], + "source": [ + "qwurzel(z::PComplex) = PComplex(sqrt(z.r), z.ϕ / 2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5d93d3ca", + "metadata": {}, + "outputs": [], + "source": [ + "#| echo: false\n", + "#| output: false\n", + "\n", + "#=\n", + "damit das length(methods(sqrt)) klappt\n", + "=#\n", + "if hasmethod(sqrt, (PComplex,))\n", + " zz = @which Base.sqrt(PComplex{Float64}(1.,1.))\n", + " Base.delete_method(zz)\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "07ed8595", + "metadata": {}, + "source": [ + "Die Funktion `sqrt()` hat schon einige Methoden:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ecfd1ac", + "metadata": {}, + "outputs": [], + "source": [ + "length(methods(sqrt))" + ] + }, + { + "cell_type": "markdown", + "id": "f619c771", + "metadata": {}, + "source": [ + "Jetzt wird es eine Methode mehr:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56a4ce0f", + "metadata": {}, + "outputs": [], + "source": [ + "Base.sqrt(z::PComplex) = qwurzel(z)\n", + "\n", + "length(methods(sqrt))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "195204e7", + "metadata": {}, + "outputs": [], + "source": [ + "sqrt(z2)" + ] + }, + { + "cell_type": "markdown", + "id": "c912bcd2", + "metadata": {}, + "source": [ + "und nun zur Multiplikation:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c648a2d", + "metadata": {}, + "outputs": [], + "source": [ + "Base.:*(x::PComplex, y::PComplex) = PComplex(x.r * y.r, x.ϕ + y.ϕ)\n", + "\n", + "@show z1 * z2;" + ] + }, + { + "cell_type": "markdown", + "id": "79074b01", + "metadata": {}, + "source": [ + "(Da das Operatorsymbol kein normaler Name ist, muss der Doppelpunkt bei der Zusammensetzung mit `Base.` sein.)\n", + "\n", + "Wir können allerdings noch nicht mit anderen numerischen Typen multiplizieren. Dazu könnte man nun eine Vielzahl von entsprechenden Methoden definieren. Julia stellt *für numerische Typen* noch einen weiteren Mechanismus zur Verfügung, der das etwas vereinfacht.\n", + "\n", + "\n", + "## Typ-Promotion und Konversion \n", + "\n", + "In Julia kann man bekanntlich die verschiedensten numerischen Typen nebeneinander verwenden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ff3ee027", + "metadata": {}, + "outputs": [], + "source": [ + "1//3 + 5 + 5.2 + 0xff" + ] + }, + { + "cell_type": "markdown", + "id": "f43ef8c6", + "metadata": {}, + "source": [ + "Wenn man in die zahlreichen Methoden schaut, die z.B. für `+` und `*` definiert sind, findet man u.a. eine Art 'catch-all-Definition'\n", + "\n", + "```julia\n", + "+(x::Number, y::Number) = +(promote(x,y)...)\n", + "*(x::Number, y::Number) = *(promote(x,y)...)\n", + "```\n", + "\n", + "\n", + "\n", + "(Die 3 Punkte sind der splat-Operator, der das von promote() zurückgegebene Tupel wieder in seine Bestandteile zerlegt.)\n", + "\n", + "Da die Methode mit den Typen `(Number, Number)` sehr allgemein ist, wird sie erst verwendet, wenn spezifischere Methoden nicht greifen.\n", + "\n", + "Was passiert hier?\n", + "\n", + "### Die Funktion `promote(x,y,...)`\n", + "\n", + "Diese Funktion versucht, alle Argumente in einen gemeinsamen Typen umzuwandeln, der alle Werte (möglichst) exakt darstellen kann.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f1d4d57", + "metadata": {}, + "outputs": [], + "source": [ + "promote(12, 34.555, 77/99, 0xff)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "27c2724e", + "metadata": {}, + "outputs": [], + "source": [ + "z = promote(BigInt(33), 27)\n", + "@show z typeof(z);" + ] + }, + { + "cell_type": "markdown", + "id": "8347acad", + "metadata": {}, + "source": [ + "Die Funktion `promote()` verwendet dazu zwei Helfer, die Funktionen\n", + " `promote_type(T1, T2)` und `convert(T, x)`\n", + "\n", + "Wie üblich in Julia, kann man diesen Mechanismus durch [eigene *promotion rules* und `convert(T,x)`-Methoden erweitern.](https://docs.julialang.org/en/v1/manual/conversion-and-promotion/) \n", + "\n", + "\n", + "### Die Funktion `promote_type(T1, T2,...)` \n", + "\n", + "Sie ermittelt, zu welchem Typ umgewandelt werden soll. Argumente sind Typen, nicht Werte.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fe551c95", + "metadata": {}, + "outputs": [], + "source": [ + "@show promote_type(Rational{Int64}, ComplexF64, Float32);" + ] + }, + { + "cell_type": "markdown", + "id": "e4c08732", + "metadata": {}, + "source": [ + "### Die Funktion `convert(T,x)`\n", + "\n", + "Die Methoden von \n", + "`convert(T, x)` wandeln `x` in ein Objekt vom Typ `T` um. Dabei sollte eine solche Umwandlung verlustfrei möglich sein.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5d6aabe4", + "metadata": {}, + "outputs": [], + "source": [ + "z = convert(Float64, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8b5205d2", + "metadata": {}, + "outputs": [], + "source": [ + "z = convert(Int64, 23.00)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d4b80ce", + "metadata": {}, + "outputs": [], + "source": [ + "z = convert(Int64, 2.3)" + ] + }, + { + "cell_type": "markdown", + "id": "3e3d953b", + "metadata": {}, + "source": [ + "Die spezielle Rolle von `convert()` liegt darin, dass es an verschiedenen Stellen _implizit_ und automatisch eingesetzt wird: \n", + "\n", + "> [The following language constructs call convert](https://docs.julialang.org/en/v1/manual/conversion-and-promotion/#When-is-convert-called?):\n", + "> \n", + " - Assigning to an array converts to the array's element type.\n", + " - Assigning to a field of an object converts to the declared type of the field.\n", + " - Constructing an object with new converts to the object's declared field types.\n", + " - Assigning to a variable with a declared type (e.g. local x::T) converts to that type.\n", + " - A function with a declared return type converts its return value to that type.\n", + "\n", + "-- und natürlich in `promote()`\n", + "\n", + "Für selbstdefinierte Datentypen kann man convert() um weitere Methoden ergänzen.\n", + "\n", + "Für Datentypen innerhalb der Number-Hierarchie gibt es wieder eine 'catch-all-Definition'\n", + "```julia\n", + "convert(::Type{T}, x::Number) where {T<:Number} = T(x)\n", + "```\n", + "\n", + "Also: Wenn für einen Typen `T` aus der Hierarchie `T<:Number` ein Konstruktor `T(x)` mit einem numerischen Argument `x` existiert, dann wird dieser Konstruktor `T(x)` automatisch für Konvertierungen benutzt. (Natürlich können auch speziellere Methoden für `convert()` definiert werden, die dann Vorrang haben.)\n", + "\n", + "\n", + "### Weitere Konstruktoren für `PComplex`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2f9e1ebe", + "metadata": {}, + "outputs": [], + "source": [ + "## (a) r, ϕ beliebige Reals, z.B. Integers, Rationals\n", + "\n", + "PComplex{T}(r::T1, ϕ::T2) where {T<:AbstractFloat, T1<:Real, T2<: Real} = \n", + " PComplex{T}(convert(T, r), convert(T, ϕ))\n", + "\n", + "PComplex(r::T1, ϕ::T2) where {T1<:Real, T2<: Real} = \n", + " PComplex{promote_type(Float64, T1, T2)}(r, ϕ) \n", + "\n", + "## (b) Zur Umwandlung von Reals: Konstruktor mit \n", + "## nur einem Argument r\n", + "\n", + "PComplex{T}(r::S) where {T<:AbstractFloat, S<:Real} = \n", + " PComplex{T}(convert(T, r), convert(T, 0)) \n", + "\n", + "PComplex(r::S) where {S<:Real} = \n", + " PComplex{promote_type(Float64, S)}(r, 0.0)\n", + "\n", + "## (c) Umwandlung Complex -> PComplex\n", + "\n", + "PComplex{T}(z::Complex{S}) where {T<:AbstractFloat, S<:Real} = \n", + " PComplex{T}(abs(z), angle(z))\n", + "\n", + "PComplex(z::Complex{S}) where {S<:Real} = \n", + " PComplex{promote_type(Float64, S)}(abs(z), angle(z))\n" + ] + }, + { + "cell_type": "markdown", + "id": "c831e4c3", + "metadata": {}, + "source": [ + "Ein Test der neuen Konstruktoren:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8103dc03", + "metadata": {}, + "outputs": [], + "source": [ + "3//5 ⋖ 45, PComplex(Complex(1,1)), PComplex(-13) " + ] + }, + { + "cell_type": "markdown", + "id": "c85b8d7a", + "metadata": {}, + "source": [ + "Wir brauchen nun noch *promotion rules*, die festlegen, welcher Typ bei `promote(x::T1, y::T2)` herauskommen soll. Damit wird `promote_type()` intern um die nötigen weiteren Methoden erweitert. \n", + "\n", + "### *Promotion rules* für `PComplex`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e6a1e94", + "metadata": {}, + "outputs": [], + "source": [ + "Base.promote_rule(::Type{PComplex{T}}, ::Type{S}) where {T<:AbstractFloat,S<:Real} = \n", + " PComplex{promote_type(T,S)}\n", + "\n", + "Base.promote_rule(::Type{PComplex{T}}, ::Type{Complex{S}}) where \n", + " {T<:AbstractFloat,S<:Real} = PComplex{promote_type(T,S)}" + ] + }, + { + "cell_type": "markdown", + "id": "4ad30167", + "metadata": {}, + "source": [ + "1. Regel:\n", + ": Wenn ein `PComplex{T}` und ein `S<:Real` zusammentreffen, dann sollen beide zu `PComplex{U}` umgewandelt werden, wobei `U` der Typ ist, zu dem `S` und `T` beide umgewandelt (_promoted_) werden können. \n", + "\n", + "2. Regel\n", + ": Wenn ein `PComplex{T}` und ein `Complex{S}` zusammentreffen, dann sollen beide zu `PComplex{U}` umgewandelt werden, wobei `U` der Typ ist, zu dem `S` und `T` beide umgewandelt werden können. \n", + "\n", + "\n", + "\n", + "Damit klappt nun die Multiplikation mit beliebigen numerischen Typen.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9e72f683", + "metadata": {}, + "outputs": [], + "source": [ + "z3, 3z3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0aec53e", + "metadata": {}, + "outputs": [], + "source": [ + "(3.0+2im) * (12⋖30.3), 12sqrt(z2) " + ] + }, + { + "cell_type": "markdown", + "id": "0d881cc4", + "metadata": {}, + "source": [ + ":::{.callout-caution icon=\"false\" collapse=\"true\" .titlenormal}\n", + "\n", + "## Zusammenfassung: unser Typ `PComplex`\n", + "\n", + "```julia\n", + "struct PComplex{T <: AbstractFloat} <: Number\n", + " r :: T\n", + " ϕ :: T\n", + "\n", + " function PComplex{T}(r::T, ϕ::T) where T<:AbstractFloat\n", + " if r<0 # flip the sign of r and correct phi\n", + " r = -r\n", + " ϕ += π\n", + " end\n", + " if r==0 ϕ=0 end # normalize r=0 case to phi=0 \n", + " ϕ = mod(ϕ, 2π) # map phi into interval [0,2pi)\n", + " new(r, ϕ) # new() ist special function,\n", + " end # available only inside inner constructors\n", + "\n", + "end\n", + "\n", + "# additional constructors\n", + "PComplex(r::T, ϕ::T) where {T<:AbstractFloat} = PComplex{T}(r,ϕ)\n", + "\n", + "\n", + "PComplex{T}(r::T1, ϕ::T2) where {T<:AbstractFloat, T1<:Real, T2<: Real} = \n", + " PComplex{T}(convert(T, r), convert(T, ϕ))\n", + "\n", + "PComplex(r::T1, ϕ::T2) where {T1<:Real, T2<: Real} = \n", + " PComplex{promote_type(Float64, T1, T2)}(r, ϕ) \n", + "\n", + "\n", + "PComplex{T}(r::S) where {T<:AbstractFloat, S<:Real} = \n", + " PComplex{T}(convert(T, r), convert(T, 0)) \n", + "\n", + "PComplex(r::S) where {S<:Real} = \n", + " PComplex{promote_type(Float64, S)}(r, 0.0)\n", + "\n", + "\n", + "PComplex{T}(z::Complex{S}) where {T<:AbstractFloat, S<:Real} = \n", + " PComplex{T}(abs(z), angle(z))\n", + "\n", + "PComplex(z::Complex{S}) where {S<:Real} = \n", + " PComplex{promote_type(Float64, S)}(abs(z), angle(z))\n", + "\n", + "# nice input\n", + "⋖(r::Real, ϕ::Real) = PComplex(r, π*ϕ/180)\n", + "\n", + "# nice output\n", + "using Printf\n", + "\n", + "function Base.show(io::IO, z::PComplex)\n", + " # wir drucken die Phase in Grad, auf Zehntelgrad gerundet, \n", + " p = z.ϕ * 180/π\n", + " sp = @sprintf \"%.1f\" p\n", + " print(io, z.r, \"⋖\", sp, '°')\n", + "end\n", + "\n", + "# arithmetic\n", + "Base.sqrt(z::PComplex) = PComplex(sqrt(z.r), z.ϕ / 2)\n", + "\n", + "Base.:*(x::PComplex, y::PComplex) = PComplex(x.r * y.r, x.ϕ + y.ϕ)\n", + "\n", + "# promotion rules\n", + "Base.promote_rule(::Type{PComplex{T}}, ::Type{S}) where \n", + " {T<:AbstractFloat,S<:Real} = PComplex{promote_type(T,S)}\n", + "\n", + "Base.promote_rule(::Type{PComplex{T}}, ::Type{Complex{S}}) where \n", + " {T<:AbstractFloat,S<:Real} = PComplex{promote_type(T,S)}\n", + "```\n", + ":::\n", + "\n", + ":::{.content-hidden unless-format=\"xxx\"}\n", + "\n", + "Jetzt geht sowas wie `PComplex(1, 0)` noch nicht. Wir wollen auch andere reelle Typen für `r` und `ϕ` zulassen. Der Einfachheit halber wandeln wir hier alles nach `Float64` um. Analog verfahren wir auch, wenn nur ein reelles oder komplexes Argument verwendet wird.\n", + "\n", + "```julia\n", + "PComplex(r::Real, ϕ::Real) = PComplex(Float64(r), Float64(ϕ))\n", + "PComplex(r::Real) = PComplex(Float64(r), 0.0)\n", + "PComplex(z::Complex) = PComplex(abs(z), angle(z))\n", + "\n", + "z3 = PComplex(-2); z4 = PComplex(3im)\n", + "@show z3 z4;\n", + "```\n", + "\n", + ":::" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/script1.sh b/nb/script1.sh new file mode 100755 index 0000000..801804c --- /dev/null +++ b/nb/script1.sh @@ -0,0 +1,7 @@ +#!/bin/bash +cp ../chapters/*.ipynb . +for i in *.ipynb + do + echo $i + jupyter nbconvert --inplace --clear-output --to notebook $i + done diff --git a/nb/summary.ipynb b/nb/summary.ipynb new file mode 100644 index 0000000..ba82a9c --- /dev/null +++ b/nb/summary.ipynb @@ -0,0 +1,167 @@ +{ + "cells": [ + { + "cell_type": "raw", + "id": "bb4361d9", + "metadata": {}, + "source": [ + "---\n", + "title: summary\n", + "---" + ] + }, + { + "cell_type": "markdown", + "id": "58e5805d", + "metadata": {}, + "source": [ + "format:\n", + " html:\n", + " include-in-header:\n", + " text: |\n", + " \n", + "\n", + "\n", + "https://github.com/JuliaPlots/PlotlyJS.jl/issues/322\n", + "\n", + "In summary, this book has no content whatsoever.\n", + "\n", + "https://discourse.julialang.org/t/seven-lines-of-julia-examples-sought/50416\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "caf6e3b3", + "metadata": {}, + "outputs": [], + "source": [ + "#| error: false\n", + "using PlotlyJS, Random\n", + "using HypertextLiteral\n", + "using JSON, UUIDs\n", + "using Base64\n", + "\n", + "function IJulia.display_dict(p::PlotlyJS.SyncPlot)\n", + " Dict(\n", + " # \"application/vnd.plotly.v1+json\" => JSON.lower(p),\n", + " # \"text/plain\" => sprint(show, \"text/plain\", p),\n", + " \"text/html\" => let\n", + " buf = IOBuffer()\n", + " show(buf, MIME(\"text/html\"), p)\n", + " String(resize!(buf.data, buf.size))\n", + " end,\n", + " \"image/png\" => let\n", + " buf = IOBuffer()\n", + " buf64 = Base64EncodePipe(buf)\n", + " show(buf64, MIME(\"image/png\"), p)\n", + " String(resize!(buf.data, buf.size))\n", + " end,\n", + "\n", + " )\n", + " end\n", + " \n", + " function Base.show(io::IO, mimetype::MIME\"text/html\", p::PlotlyJS.SyncPlot)\n", + " uuid = string(UUIDs.uuid4())\n", + " show(io,mimetype,@htl(\"\"\"\n", + "
\n", + " \n", + "\"\"\"))\n", + "end " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a6260dc2", + "metadata": {}, + "outputs": [], + "source": [ + "Random.seed!(42)\n", + "\n", + "N = 100\n", + "random_x = range(0, stop=1, length=N)\n", + "random_y0 = randn(N) .+ 5\n", + "random_y1 = randn(N)\n", + "random_y2 = randn(N) .- 5\n", + "\n", + "plot([\n", + " scatter(x=random_x, y=random_y0, mode=\"markers\", name=\"markers\"),\n", + " scatter(x=random_x, y=random_y1, mode=\"lines\", name=\"lines\"),\n", + " scatter(x=random_x, y=random_y2, mode=\"markers+lines\", name=\"markers+lines\")\n", + "])" + ] + }, + { + "cell_type": "markdown", + "id": "dd0a1a29", + "metadata": {}, + "source": [ + "jkjkjkj\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "813b97ce", + "metadata": {}, + "outputs": [], + "source": [ + "#| warning: false\n", + "\n", + "plot([\n", + " scatter(x=random_x, y=random_y0, mode=\"markers\", name=\"markers\") ])" + ] + }, + { + "cell_type": "markdown", + "id": "c271b5dc", + "metadata": {}, + "source": [ + ";;l;l;l\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6cb53248", + "metadata": {}, + "outputs": [], + "source": [ + "#| warning: false\n", + "\n", + "plot([\n", + " scatter(x=random_x, y=random_y2, mode=\"markers\", name=\"markers\") ])" + ] + }, + { + "cell_type": "markdown", + "id": "7df06b26", + "metadata": {}, + "source": [ + "lllklk" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/syntax.ipynb b/nb/syntax.ipynb new file mode 100644 index 0000000..074b2a9 --- /dev/null +++ b/nb/syntax.ipynb @@ -0,0 +1,1185 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d56a820e", + "metadata": {}, + "source": [ + "# Grundlagen der Syntax\n", + "\n", + "## Namen von Variablen, Funktionen, Typen etc.\n", + "\n", + "- Namen können Buchstaben, Ziffern, den Unterstrich `_` und das Ausrufezeichen `!` enthalten.\n", + "- Das erste Zeichen muss ein Buchstabe oder ein Unterstrich sein.\n", + "- Groß- und Kleinbuchstaben werden unterschieden: `Nmax` und `NMAX` sind verschiedene Variablen.\n", + "- Als Zeichensatz wird [Unicode](https://home.unicode.org/) verwendet. Damit stehen über 150 Schriften und zahlreiche Symbole zur Verfügung.\n", + "- Es gibt eine kurze [Liste reservierter Schlüsselwörter](https://docs.julialang.org/en/v1/base/base/#Keywords): `if, then, function, true, false,...`\n", + "\n", + ":::{.callout-tip} \n", + "## Beispiel\n", + "\n", + "zulässig: `i, x, Ω, x2, DieUnbekannteZahl, neuer_Wert, 🎷, Zähler, лічильник, einself!!!!,...`\n", + "\n", + "unzulässig: `Uwe's_Funktion, 3achsen, A#B, $this_is_not_Perl, true,...` \n", + ":::\n", + "\n", + "----\n", + "\n", + ":::{.callout-note }\n", + "## Anmerkung \n", + "\n", + "Neben den *reserved keywords* der Kernsprache sind zahlreiche weitere Funktionen und Objekte vordefiniert, wie z.B. die mathematischen Funktionen `sqrt(), log(), sin()`.\n", + "Diese Definitionen finden sich in dem Modul `Base`, welches Julia beim Start automatisch lädt. \n", + "Namen aus `Base` können umdefiniert werden, solange sie noch nicht verwendet wurden:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ff07d3b4", + "metadata": {}, + "outputs": [], + "source": [ + "#| error: true \n", + "log = 3\n", + "1 + log" + ] + }, + { + "cell_type": "markdown", + "id": "da69601f", + "metadata": {}, + "source": [ + "Jetzt ist natürlich der Logarithmus kaputt:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88275d81", + "metadata": {}, + "outputs": [], + "source": [ + "#| error: true\n", + "x = log(10)" + ] + }, + { + "cell_type": "markdown", + "id": "5ecfdec6", + "metadata": {}, + "source": [ + "(siehe auch )\n", + ":::\n", + "\n", + "## Anweisungen\n", + "\n", + "- Im Normalfall enthält eine Zeile eine Anweisung.\n", + "- Wenn eine Anweisung am Zeilenende als unvollständig erkennbar ist durch \n", + " - offene Klammern\n", + " - Operationszeichen,\n", + " \n", + " dann wird die nächste Zeile als Fortsetzung aufgefasst.\n", + "- Mehrere Anweisungen pro Zeile können durch Semikolon getrennt werden.\n", + "- Im interaktiven Betrieb (REPL oder Notebook) unterdrückt ein Semikolon nach der letzten Anweisung die Ausgabe des Ergebnisses dieser Anweisung.\n", + "\n", + ":::{.callout-tip}\n", + "## Beispiel \n", + "\n", + "Im interaktiven Betrieb wird der Wert der letzten Anweisung auch ohne explizites `print()` ausgegeben:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc76d67e", + "metadata": {}, + "outputs": [], + "source": [ + "println(\"Hallo 🌍!\")\n", + "x = sum([i^2 for i=1:10])" + ] + }, + { + "cell_type": "markdown", + "id": "6b068f1c", + "metadata": {}, + "source": [ + "Das Semikolon unterdrückt das:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "efd01a2c", + "metadata": {}, + "outputs": [], + "source": [ + "println(\"Hallo 🌍!\")\n", + "x = sum([i^2 for i=1:10]);" + ] + }, + { + "cell_type": "markdown", + "id": "18387226", + "metadata": {}, + "source": [ + ":::\n", + "\n", + "---------\n", + "\n", + "\n", + ":::{.callout-warning }\n", + "\n", + "Bei mehrzeiligen Anweisungen muss die fortzusetzende Zeile mit einer offenen Operation oder Klammer enden: \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41df7f55", + "metadata": {}, + "outputs": [], + "source": [ + "x = sin(π/2) +\n", + " 3 * cos(0)" + ] + }, + { + "cell_type": "markdown", + "id": "61e668f9", + "metadata": {}, + "source": [ + "Also geht das Folgende schief, aber leider **ohne eine Fehlermeldung**!\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "694793eb", + "metadata": {}, + "outputs": [], + "source": [ + "#| error: true\n", + "#| warning: true\n", + "x = sin(π/2)\n", + " + 3 * cos(0)\n", + "println(x)" + ] + }, + { + "cell_type": "markdown", + "id": "88c64cd2", + "metadata": {}, + "source": [ + "Hier wird das `+` in der zweiten Zeile als Präfix-Operator (Vorzeichen) interpretiert. Damit sind 1. und 2. Zeile jeweils für sich vollständige, korrekte Ausdrücke (auch wenn die 2. Zeile natürlich völlig nutzlos ist) und werden auch so abgearbeitet. \n", + "\n", + "Moral: Wenn man längere Ausdrücke auf mehrere Zeilen aufteilen will, sollte man immer eine Klammer aufmachen. Dann ist egal, wo der Zeilenumbruch ist:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ec8508d", + "metadata": {}, + "outputs": [], + "source": [ + "x = ( sin(π/2) \n", + " + 3 * cos(0) )\n", + "println(x)" + ] + }, + { + "cell_type": "markdown", + "id": "1b323891", + "metadata": {}, + "source": [ + ":::\n", + "\n", + "\n", + "## Kommentare\n", + "\n", + "Julia kennt 2 Arten von Kommentaren im Programmtext:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d733f6a2", + "metadata": {}, + "outputs": [], + "source": [ + "# Einzeilige Kommentare beginnen mit einem Doppelkreuz.\n", + "\n", + "x = 2 # alles vom '#' bis zum Zeilenende ist ein Kommentar und wird ignoriert. x = 3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf4ef498", + "metadata": {}, + "outputs": [], + "source": [ + "#= \n", + " Ein- und mehrzeilige Kommentare können zwischen #= ... =# eingeschlossen werden.\n", + " Dabei sind verschachtelte Kommentare möglich. \n", + " #= \n", + " d.h., anders als in C/C++/Java endet der Kommentar nicht mit dem ersten \n", + " Kommentar-Endezeichen, sondern die #=...=# - Paare wirken wie Klammern. \n", + " =# \n", + " Der automatische 'syntax highlighter' weiss das leider noch nicht, wie die wechselnde \n", + " Graufärbung dieses Kommentars zeigt. \n", + "=#\n", + "\n", + "\n", + "x #= das ist ein seltener Variablenname! =# = 3 " + ] + }, + { + "cell_type": "markdown", + "id": "e0fc09d1", + "metadata": {}, + "source": [ + "## Datentypen Teil I \n", + "\n", + "- Julia ist eine [stark typisierte](https://de.wikipedia.org/wiki/Starke_Typisierung) Sprache. Alle Objekte haben einen Typ. Funktionen/Operationen erwarten Argumente mit dem richtigen Typ.\n", + "- Julia ist eine [dynamisch typisierte](https://de.wikipedia.org/wiki/Dynamische_Typisierung) Sprache. Variablen haben keinen Typ. Sie sind Namen, die durch Zuweisung `x = ...` an Objekte gebunden werden können.\n", + "- Wenn man vom „Typ einer Variablen“ spricht, meint man den Typ des Objektes, das der Variablen gerade zugewiesen ist.\n", + "- Funktionen/Operatoren können verschiedene *methods* für verschiedene Argumenttypen implementieren.\n", + "- Abhängig von den konkreten Argumenttypen wird dann bei Verwendung einer Funktion entschieden, welche Methode benutzt wird ([*dynamic dispatch*](https://en.wikipedia.org/wiki/Dynamic_dispatch)).\n", + "\n", + "\n", + "Einfache Basistypen sind z.B.:\n", + "\n", + "```\n", + "Int64, Float64, String, Char, Bool\n", + "```\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ba7db71", + "metadata": {}, + "outputs": [], + "source": [ + "x = 2\n", + "x, typeof(x), sizeof(x) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ad90519a", + "metadata": {}, + "outputs": [], + "source": [ + "x = 0.2\n", + "x, typeof(x), sizeof(x) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e36334d2", + "metadata": {}, + "outputs": [], + "source": [ + "x = \"Hallo!\"\n", + "x, typeof(x), sizeof(x) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f48d35a6", + "metadata": {}, + "outputs": [], + "source": [ + "x = 'Ω'\n", + "x, typeof(x), sizeof(x) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0eb5282b", + "metadata": {}, + "outputs": [], + "source": [ + "x = 3 > π\n", + "x, typeof(x), sizeof(x) " + ] + }, + { + "cell_type": "markdown", + "id": "6407ce53", + "metadata": {}, + "source": [ + "- `sizeof()` liefert die Größe eines Objekts oder Typs in Bytes (1 Byte = 8 Bit)\n", + "- 64bit Ganzzahlen und 64bit Gleitkommazahlen entsprechen dem Befehlssatz moderner Prozessoren und sind daher die numerischen Standardtypen.\n", + "- Zeichen/*chars* `'A'` und Zeichenketten/*strings* `\"A\"` der Länge 1 sind verschiedene Objekte. \n", + "\n", + "## Ablaufsteuerung\n", + "\n", + "### `if`-Blöcke\n", + "\n", + "- Ein `if`-Block *kann* **beliebig viele** `elseif`-Zweige und als letztes maximal **einen** `else`-Zweig enthalten.\n", + "- Der Block hat einen Wert, den Wert der letzten ausgeführten Anweisung.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d2c3f6c8", + "metadata": {}, + "outputs": [], + "source": [ + "x = 33\n", + "y = 44\n", + "z = 34\n", + "\n", + "if x < y && z != x # elseif- und else-Blöcke sind optional\n", + " println(\"yes\")\n", + " x += 10\n", + "elseif x < z # beliebig viele elseif-Blöcke\n", + " println(\" x is smaller than z\")\n", + "elseif x == z+1 \n", + " println(\" x is successor of z\")\n", + "else # maximal ein else-Block \n", + " println(\"Alles falsch\")\n", + "end # Wert des gesamten Blocks ist der Wert der \n", + " # letzten ausgeführten Auswertung" + ] + }, + { + "cell_type": "markdown", + "id": "868ae573", + "metadata": {}, + "source": [ + "Kurze Blöcke kann man in eine Zeile schreiben:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "76f17f5f", + "metadata": {}, + "outputs": [], + "source": [ + "if x > 10 println(\"x is larger than 10\") end " + ] + }, + { + "cell_type": "markdown", + "id": "ef1e84b5", + "metadata": {}, + "source": [ + "Der Wert eines `if`-Blocks kann natürlich zugewiesen werden:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "318501e9", + "metadata": {}, + "outputs": [], + "source": [ + "y = 33\n", + "z = if y > 10 \n", + " println(\"y is larger than 10\") \n", + " y += 1 \n", + " end\n", + "z " + ] + }, + { + "cell_type": "markdown", + "id": "0c05b161", + "metadata": {}, + "source": [ + "### Auswahloperator (ternary operator) `test ? exp1 : exp2`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "40e9db00", + "metadata": {}, + "outputs": [], + "source": [ + "x = 20\n", + "y = 15\n", + "z = x < y ? x+1 : y+1" + ] + }, + { + "cell_type": "markdown", + "id": "48705675", + "metadata": {}, + "source": [ + "ist äquivalent zu\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dadac914", + "metadata": {}, + "outputs": [], + "source": [ + "z = if x < y\n", + " x+1\n", + " else\n", + " y+1\n", + " end" + ] + }, + { + "cell_type": "markdown", + "id": "8d122010", + "metadata": {}, + "source": [ + "## Vergleiche, Tests, Logische Operationen\n", + "\n", + "### Arithmetische Vergleiche\n", + "\n", + "- `==`\n", + "- `!=`, `≠`\n", + "- `>`\n", + "- `>=`, `≥`\n", + "- `<`\n", + "- `<=`, `≤`\n", + "\n", + "Wie üblich, ist der Test auf Gleichheit `==` vom Zuweisungsoperator `=` zu unterscheiden. Vergleichen lässt sich so gut wie alles:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "13005342", + "metadata": {}, + "outputs": [], + "source": [ + "\"Aachen\" < \"Leipzig\", 10 ≤ 10.01, [3,4,5] < [3,6,2]" + ] + }, + { + "cell_type": "markdown", + "id": "dd31f487", + "metadata": {}, + "source": [ + "Nun ja, fast alles:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7491b44b", + "metadata": {}, + "outputs": [], + "source": [ + "3 < \"vier\"" + ] + }, + { + "cell_type": "markdown", + "id": "d5eace21", + "metadata": {}, + "source": [ + "Die Fehlermeldung zeigt ein paar Grundprinzipien von Julia:\n", + "\n", + "- Operatoren sind auch nur Funktionen: `x < y` wird zum Funktionsaufruf `isless(x, y)`.\n", + "- Funktionen (und damit Operatoren) können verschiedene *methods* für verschiedene Argumenttypen implementieren. \n", + "- Abhängig von den konkreten Argumenttypen wird beim Aufruf der Funktion entschieden, welche Methode benutzt wird ([*dynamic dispatch*](https://en.wikipedia.org/wiki/Dynamic_dispatch)).\n", + "\n", + "Man kann sich alle Methoden zu einer Funktion anzeigen lassen. Das gibt einen Einblick in das komplexe Typssystem von Julia:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6538caaf", + "metadata": {}, + "outputs": [], + "source": [ + "methods(<)" + ] + }, + { + "cell_type": "markdown", + "id": "297ce845", + "metadata": {}, + "source": [ + "Zuletzt noch: Vergleiche können gekettet werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "449eba70", + "metadata": {}, + "outputs": [], + "source": [ + "10 < x ≤ 100 # das ist äquivalent zu\n", + " # 10 < x && x ≤ 100" + ] + }, + { + "cell_type": "markdown", + "id": "9f4b1c41", + "metadata": {}, + "source": [ + "### Tests \n", + "Einge Funktionen vom Typ `f(c::Char) -> Bool`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18d77ec1", + "metadata": {}, + "outputs": [], + "source": [ + "isnumeric('a'), isnumeric('7'), isletter('a')" + ] + }, + { + "cell_type": "markdown", + "id": "2dc1c0aa", + "metadata": {}, + "source": [ + "und vom Typ `f(s1::String, s2::String) -> Bool`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ea9be46e", + "metadata": {}, + "outputs": [], + "source": [ + "contains(\"Lampenschirm\", \"pensch\"), startswith(\"Lampenschirm\", \"Lamb\"), endswith(\"Lampenschirm\", \"rm\")" + ] + }, + { + "cell_type": "markdown", + "id": "af8b3ce6", + "metadata": {}, + "source": [ + "- Die Funktion `in(item, collection) -> Bool` testet, ob `item` in `collection` ist. \n", + "- Sie hat auch das Alias ` ∈(item, collection)` und \n", + "- sowohl `in` als auch `∈` können auch als Infix-Operatoren geschrieben werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e811c4d8", + "metadata": {}, + "outputs": [], + "source": [ + "x = 3\n", + "x in [1, 2, 3, 4, 5]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15f8ba27", + "metadata": {}, + "outputs": [], + "source": [ + "x ∈ [1, 2, 33, 4, 5]" + ] + }, + { + "cell_type": "markdown", + "id": "6b811515", + "metadata": {}, + "source": [ + "### Logische Operationen: `&&`, `||`, `!`\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ea9ad7fb", + "metadata": {}, + "outputs": [], + "source": [ + "3 < 4 && !(2 > 8) && !contains(\"aaa\", \"b\")" + ] + }, + { + "cell_type": "markdown", + "id": "a1886e91", + "metadata": {}, + "source": [ + "#### Bedingte Auswertung (_short circuit evaluation_)\n", + "\n", + "- in `a && b` wird `b` nur ausgewertet, wenn `a == true`\n", + "- in `a || b` wird `b` nur ausgewertet, wenn `a == false`\n", + "\n", + "(i) Damit kann `if test statement end` auch als `test && statement` geschrieben werden.\n", + "\n", + "(ii) Damit kann `if !test statement end` als `test || statement` geschrieben werden.\n", + "\n", + "Als Beispiel^[aus der [Julia-Dokumentation](https://docs.julialang.org/en/v1/manual/control-flow/#Short-Circuit-Evaluation)] hier eine Implementierung der Fakultätsfunktion *(factorial)*:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5ef06bf", + "metadata": {}, + "outputs": [], + "source": [ + "function fact(n::Int)\n", + " n >= 0 || error(\"n must be non-negative\")\n", + " n == 0 && return 1\n", + " n * fact(n-1)\n", + "end\n", + "\n", + "fact(5)" + ] + }, + { + "cell_type": "markdown", + "id": "bb950743", + "metadata": {}, + "source": [ + "Natürlich kann man alle diese Tests auch Variablen vom Typ `Bool` zuordnen und\n", + "diese Variablen können als Tests in `if`- und `while`-Blöcken verwendet werden:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c44f3bc", + "metadata": {}, + "outputs": [], + "source": [ + "x = 3 < 4\n", + "y = 5 ∈ [1, 2, 5, 7]\n", + "z = x && y\n", + "if z # äquivalent zu: if 3 < 4 && 5 in [1,2,5,7]\n", + " println(\"Stimmt alles!\")\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "b7d1e766", + "metadata": {}, + "source": [ + "- In Julia müssen alle Tests in einem logischen Ausdruck vom Typ `Bool` sein.\n", + "- Es gibt keine implizite Konvertierung à la *\"0 is false and 1 (or anything != 0) is true\"*\n", + "- Wenn `x` ein numerischer Typ ist, dann muss daher das C-Idiom `if(x)` als `if x != 0` geschrieben werden.\n", + "- Es gibt eine Ausnahme zur Unterstützung der _short circuit evaluation_:\n", + " - bei den Konstrukten `a && b && c...` bzw `a || b || c...` muss der letzte Teilausdruck nicht vom Typ `Bool` sein, wenn diese Konstrukte nicht als Tests in `if` oder `while` verwendet werden:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a46fa2b", + "metadata": {}, + "outputs": [], + "source": [ + "z = 3 < 4 && 10 < 5 && sqrt(3^3)\n", + "z, typeof(z)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f56bbc75", + "metadata": {}, + "outputs": [], + "source": [ + "z = 3 < 4 && 10 < 50 && sqrt(3^3)\n", + "z, typeof(z)" + ] + }, + { + "cell_type": "markdown", + "id": "508cebd9", + "metadata": {}, + "source": [ + "## Schleifen *(loops)*\n", + "\n", + "### Die `while` (\"solange\")-Schleife\n", + "\n", + "\n", + "Syntax:\n", + "```\n", + "while *condition*\n", + " *loop body*\n", + "end\n", + "```\n", + "Eine Reihe von Anweisungen (der Schleifenkörper) wird immer wieder abgearbeitet, solange eine Bedingung erfüllt ist.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d91b98b6", + "metadata": {}, + "outputs": [], + "source": [ + "i = 1 # typischerweise braucht der Test der \n", + " # while-Schleife eine Vorbereitung ...\n", + "while i < 10 \n", + " println(i)\n", + " i += 2 # ... und ein update\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "f7edea21", + "metadata": {}, + "source": [ + "Der Körper einer `while`- und `for`-Schleife kann die Anweisungen `break` und `continue` enthalten. `break` stoppt die Schleife, `continue` überspringt den Rest des Schleifenkörpers und beginnt sofort mit dem nächsten Schleifendurchlauf.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "149c79ac", + "metadata": {}, + "outputs": [], + "source": [ + "i = 0\n", + "\n", + "while i<10\n", + " i += 1\n", + "\n", + " if i == 3\n", + " continue # beginne sofort nächsten Durchlauf,\n", + " end # überspringe Rest des Schleifenkörpers\n", + "\n", + " println(\"i = $i\")\n", + "\n", + " if i ≥ 5\n", + " break # breche Schleife ab\n", + " end\n", + "end\n", + "\n", + "println(\"Fertig!\")" + ] + }, + { + "cell_type": "markdown", + "id": "2e91f7a3", + "metadata": {}, + "source": [ + "Mit `break` kann man auch Endlosschleifen verlassen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0b1b1ab2", + "metadata": {}, + "outputs": [], + "source": [ + "i = 1\n", + "\n", + "while true\n", + " println(2^i)\n", + " i += 1\n", + " if i > 8 break end\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "d9bc10da", + "metadata": {}, + "source": [ + "### `for`-Schleifen\n", + "\n", + "Syntax:\n", + "\n", + "```\n", + "for *var* in *iterable container*\n", + " *loop body*\n", + "end\n", + "```\n", + "\n", + "Der Schleifenkörper wird für alle Items aus einem Container durchlaufen. \n", + "\n", + "Statt `in` kann immer auch $\\in$ verwendet werden. Im Kopf einer `for`-Schleife kann auch `=` verwendet werden.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99cd73cb", + "metadata": {}, + "outputs": [], + "source": [ + "for i ∈ [\"Mutter\", \"Vater\", \"Tochter\"]\n", + " println(i)\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "1a17064c", + "metadata": {}, + "source": [ + "Oft benötigt man einen numerischen Schleifenzähler. Dafür gibt es das *range*-Konstrukt. Die einfachsten Formen sind \n", + "`Start:Ende` und `Start:Schrittweite:Ende`. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3177977b", + "metadata": {}, + "outputs": [], + "source": [ + "endwert = 5\n", + "\n", + "for i ∈ 1:endwert\n", + " println(i^2)\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0c859acc", + "metadata": {}, + "outputs": [], + "source": [ + "for i = 1:5.5 print(\" $i\") end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c31d91f6", + "metadata": {}, + "outputs": [], + "source": [ + "for i = 1:2:14 print(\" $i\") end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c35be84d", + "metadata": {}, + "outputs": [], + "source": [ + "for k = 14 : -2.5 : 1 print(\" $k\") end" + ] + }, + { + "cell_type": "markdown", + "id": "19034238", + "metadata": {}, + "source": [ + "#### Geschachtelte Schleifen _(nested loops)_\n", + "\n", + "Ein `break` beendet die innerste Schleife.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9be68ac5", + "metadata": {}, + "outputs": [], + "source": [ + "for i = 1:3\n", + " for j = 1:3\n", + " println( (i,j) )\n", + " if j == 2\n", + " break\n", + " end\n", + " end\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "99328006", + "metadata": {}, + "source": [ + "Man kann *nested loops* auch in einer `for`-Anweisung zusammenfassen. Dann beendet ein `break` die Gesamtschleife.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e437369c", + "metadata": {}, + "outputs": [], + "source": [ + "for i = 1:3, j=1:3 # im Prinzip dasselbe wie oben, aber:\n", + " println( (i,j) )\n", + " if j == 2\n", + " break # break bricht hier die Gesamtschleife ab\n", + " end\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "e995a233", + "metadata": {}, + "source": [ + ":::{.callout-important .titlenormalxx}\n", + "## **Wichtig:** Die Semantik ist völlig anders, als bei C-artigen `for`-Schleifen!\n", + "\n", + "**Bei jedem Schleifendurchlauf wird die Laufvariable neu mit dem nächsten Element aus dem Container initialisiert.**\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d2e2164", + "metadata": {}, + "outputs": [], + "source": [ + "for i = 1:5\n", + " print(i,\" ... \")\n", + " i += 2\n", + " println(i)\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "6c940891", + "metadata": {}, + "source": [ + "-------\n", + "\n", + "Die C-Semantik von `for(i=1; i<5; i++)` entspricht der `while`-Schleife:\n", + "```\n", + "i = 1\n", + "while i<5\n", + " *loop body* # hier kann auch wirksam an i rumgepfuscht werden\n", + " i += 1\n", + "end\n", + "```\n", + ":::\n", + "\n", + "## Unicode \n", + "\n", + "Julia verwendet Unicode als Zeichensatz. Damit können für Variablen, Funktionen etc auch Bezeichner aus nicht-lateinischen Schriften (zB Kyrillisch, Koreanisch, Sanskrit, Runen,\n", + "Emoji,...) verwendet werden. Die Frage, wie man solche Zeichen in seinem Editor eingeben kann und ob der verwendete Bildschirm-Font sie darstellen kann, ist nicht Julias Problem.\n", + "\n", + "- Einige Unicode-Zeichen, z.B. `≤, ≠, ≥, π, ∈, √`, können anstelle von `<=, !=, >=, pi, in, sqrt` verwendet werden. \n", + "\n", + "- über 3000 Unicode-Zeichen können in Julia in einer LaTeX-ähnlichen Weise mit der Tab-Vervollständigung eingegeben werden. \n", + " - `\\alpha` wird zu `α`, \n", + " - `\\euler` wird zu `ℯ` (Eulersche Zahl `exp(1)`, [spezielles Schreibschrift-e, `U+0212F`](https://www.htmlsymbol.com/unicode-code/212f.html))\n", + " - `\\le` wird zu `≤`,\n", + " - `\\in` wird zu `∈`,\n", + " - `\\:rainbow:` wird zu `🌈` \n", + " [Hier geht es zur Liste.](https://docs.julialang.org/en/v1/manual/unicode-input/)\n", + "\n", + "## Eigenheiten und Stolperfallen der Syntax\n", + "\n", + "- Man kann den Multiplikationsoperator `*` nach einer numerischen Konstanten weglassen, wenn eine Variable, Funktion oder öffnende Klammer folgt.\n", + " ```\n", + " z = 3.4x + 2(x+y) + xy\n", + " ```\n", + "\n", + "ist daher korrektes Julia. Beachte allerdings, dass der Term `xy` als eine Variable mit dem Namen xy interpretiert wird __und nicht__ als Produkt von x und y!\n", + "\n", + "- Diese Regel hat ein paar Tücken:\n", + "\n", + "Das funktioniert wie erwartet:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9d8ee587", + "metadata": {}, + "outputs": [], + "source": [ + "e = 7\n", + "3e " + ] + }, + { + "cell_type": "markdown", + "id": "4a3975ec", + "metadata": {}, + "source": [ + "Hier wird die Eingabe als Gleitkommazahl interpretiert -- und `3E+2` oder `3f+2` (Float32) ebenso. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa68ebcd", + "metadata": {}, + "outputs": [], + "source": [ + "3e+2 " + ] + }, + { + "cell_type": "markdown", + "id": "d3b54ba7", + "metadata": {}, + "source": [ + "Ein Leerzeichen schafft Eindeutigkeit:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "378e3e06", + "metadata": {}, + "outputs": [], + "source": [ + "3e + 2 " + ] + }, + { + "cell_type": "markdown", + "id": "d23bc72e", + "metadata": {}, + "source": [ + "Das funktioniert:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ab2811f6", + "metadata": {}, + "outputs": [], + "source": [ + "x = 4\n", + "3x + 3 " + ] + }, + { + "cell_type": "markdown", + "id": "c81689d3", + "metadata": {}, + "source": [ + "...und das nicht. `0x`, `0o`, `0b` wird als Anfang einer Hexadezimal-, Oktal- bzw. Binärkonstanten interpretiert.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5eff7fc", + "metadata": {}, + "outputs": [], + "source": [ + "3y + 0x " + ] + }, + { + "cell_type": "markdown", + "id": "ac739eda", + "metadata": {}, + "source": [ + "- Es gibt noch ein paar andere Fälle, bei denen die sehr kulante Syntax zu Überraschungen führt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a69f9e83", + "metadata": {}, + "outputs": [], + "source": [ + "Wichtig = 21\n", + "Wichtig! = 42 # Bezeichner können auch ein ! enthalten\n", + "(Wichtig, Wichtig!)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d9dc81e", + "metadata": {}, + "outputs": [], + "source": [ + "Wichtig!=88" + ] + }, + { + "cell_type": "markdown", + "id": "89722987", + "metadata": {}, + "source": [ + "Julia interpretiert das als Vergleich `Wichtig != 88`.\n", + "\n", + "Leerzeichen helfen:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "87a6cfd7", + "metadata": {}, + "outputs": [], + "source": [ + "Wichtig! = 88\n", + "Wichtig!" + ] + }, + { + "cell_type": "markdown", + "id": "90ae7dac", + "metadata": {}, + "source": [ + "- Operatoren der Form `.*`, `.+`,... haben in Julia eine spezielle Bedeutung (*broadcasting*, d.h., vektorisierte Operationen). \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "538cd36e", + "metadata": {}, + "outputs": [], + "source": [ + "1.+2." + ] + }, + { + "cell_type": "markdown", + "id": "7f39acd9", + "metadata": {}, + "source": [ + "Wieder gilt: Leerzeichen schaffen Klarheit!\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45ceb4be", + "metadata": {}, + "outputs": [], + "source": [ + "1. + 2." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nb/types.ipynb b/nb/types.ipynb new file mode 100644 index 0000000..946ff36 --- /dev/null +++ b/nb/types.ipynb @@ -0,0 +1,178 @@ +{ + "cells": [ + { + "cell_type": "raw", + "id": "f1724c85", + "metadata": {}, + "source": [ + "---\n", + "notebook-links: false\n", + "---" + ] + }, + { + "cell_type": "markdown", + "id": "75a11f86", + "metadata": {}, + "source": [ + "# Das Typsystem von Julia\n", + "\n", + "Man kann umfangreiche Programme in Julia schreiben, ohne auch nur eine einzige Typdeklaration verwenden zu müssen. Das ist natürlich Absicht und soll die Arbeit der Anwender vereinfachen.\n", + "\n", + "Wir blicken jetzt trotzdem mal unter die Motorhaube.\n", + "\n", + "## Die Typhierarchie\n", + "\n", + "Das Typsystem hat die Struktur eines Baums, dessen Wurzel der Typ `Any` ist. Mit den Funktionen `subtypes()` und `supertype()` kann man den Baum erforschen. Sie zeigen alle Kinder bzw. die Mutter eines Knotens an.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f3f47e9d", + "metadata": {}, + "outputs": [], + "source": [ + "subtypes(Int64)" + ] + }, + { + "cell_type": "markdown", + "id": "3cb68ade", + "metadata": {}, + "source": [ + "Das Ergebnis ist eine leere Liste von Typen. `Int64` ist ein sogenannter **konkreter Typ** und hat keine Untertypen.\n", + "\n", + "Wir klettern jetzt mal die Typhierarchie auf diesem Ast nach oben bis zur Wurzel (Informatiker-Bäume stehen bekanntlich immer auf dem Kopf).\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c7c10d75", + "metadata": {}, + "outputs": [], + "source": [ + "supertype(Int64)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15b4e8d6", + "metadata": {}, + "outputs": [], + "source": [ + "supertype(Signed)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c62f342", + "metadata": {}, + "outputs": [], + "source": [ + "supertype(Integer)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ee7eb511", + "metadata": {}, + "outputs": [], + "source": [ + "supertype(Real)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ab37b54", + "metadata": {}, + "outputs": [], + "source": [ + "supertype(Number)" + ] + }, + { + "cell_type": "markdown", + "id": "d5fe3447", + "metadata": {}, + "source": [ + "Das wäre übrigens auch schneller gegangen: Die Funktion `supertypes()` (mit Plural-s) zeigt alle Vorfahren an.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "895d4570", + "metadata": {}, + "outputs": [], + "source": [ + "supertypes(Int64)" + ] + }, + { + "cell_type": "markdown", + "id": "79a45ce0", + "metadata": {}, + "source": [ + "Nun kann man sich die Knoten angucken:\n", + "\n", + "\n", + "\n", + "Mit einer kleinen rekursiven Funktion kann man schnell einen ganzen (Unter-)Baum ausdrucken: \n", + "\n", + "\n", + "\n", + "::::{.content-hidden unless-format=\"xxx\"}\n", + "\n", + "...und natürlich gibt es da auch ein Julia-Paket:\n", + "\n", + "\n", + "\n", + ":::\n", + "\n", + "\n", + "::: {.content-visible when-format=\"html\"}\n", + "![](../images/TypeTree2.png)\n", + ":::\n", + "\n", + "::: {.content-visible when-format=\"pdf\"}\n", + "![The type tree of numbers](../images/TypeTree2.png) {width=50%}\n", + ":::\n", + "\n", + "### Abstrakte und Konkrete Typen\n", + "\n", + "- Ein Objekt hat immer einen **konkreten** Typ. \n", + "- Komkrete Typen haben keine Untertypen mehr, sie sind immer „Blätter“ des Baumes.\n", + "- Abstrakte Typen können in der Definition von Funktionstypen, Argumenttypen, Elementtypen von zusammengesetzten Typen,... verwendet werden\n", + "\n", + "https://github.com/carstenbauer/JuliaCologne21/blob/master/Day1/1_types_and_dispatch.ipynb\n", + "\n", + "Zum Deklarieren und Testen der \"Abstammung\" gibt es einen eigenen Operator:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e300c9a9", + "metadata": {}, + "outputs": [], + "source": [ + "Int64 <: Number " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/nb-types.ipynb b/notebooks/nb-types.ipynb new file mode 100644 index 0000000..b525f3d --- /dev/null +++ b/notebooks/nb-types.ipynb @@ -0,0 +1,182 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "46e9fc16", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "629" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| label: nb4\n", + "#| echo: true\n", + "length(subtypes(Any))" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9feb9e06", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number\n", + " Complex\n", + " Real\n", + " AbstractFloat\n", + " BigFloat\n", + " Float16\n", + " Float32\n", + " Float64\n", + " AbstractIrrational\n", + " Irrational\n", + " Integer\n", + " Bool\n", + " Signed\n", + " BigInt\n", + " Int128\n", + " Int16\n", + " Int32\n", + " Int64\n", + " Int8\n", + " Unsigned\n", + " UInt128\n", + " UInt16\n", + " UInt32\n", + " UInt64\n", + " UInt8\n", + " Rational\n" + ] + } + ], + "source": [ + "#| label: nb1\n", + "#| echo: true\n", + "\n", + "function show_subtype_tree(T, i=0)\n", + " println(\" \"^i, T)\n", + " for Ts ∈ subtypes(T)\n", + " show_subtype_tree(Ts, i+1)\n", + " end\n", + "end\n", + "\n", + "show_subtype_tree(Number)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "fe5594b9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number\n", + "├─ Complex\n", + "└─ Real\n", + " ├─ AbstractFloat\n", + " │ ├─ BigFloat\n", + " │ ├─ Float16\n", + " │ ├─ Float32\n", + " │ └─ Float64\n", + " ├─ AbstractIrrational\n", + " │ └─ Irrational\n", + " ├─ Integer\n", + " │ ├─ Bool\n", + " │ ├─ Signed\n", + " │ │ ├─ BigInt\n", + " │ │ ├─ Int128\n", + " │ │ ├─ Int16\n", + " │ │ ├─ Int32\n", + " │ │ ├─ Int64\n", + " │ │ └─ Int8\n", + " │ └─ Unsigned\n", + " │ ├─ UInt128\n", + " │ ├─ UInt16\n", + " │ ├─ UInt32\n", + " │ ├─ UInt64\n", + " │ └─ UInt8\n", + " └─ Rational\n" + ] + } + ], + "source": [ + "#| label: nb2\n", + "#| echo: true\n", + "using AbstractTrees\n", + "\n", + "AbstractTrees.children(x::Type) = subtypes(x)\n", + "print_tree(Number)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "0dcccd86", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4-element Vector{Any}:\n", + " AbstractFloat\n", + " AbstractIrrational\n", + " Integer\n", + " Rational" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| label: nb3\n", + "#| echo: true\n", + "subtypes(Real)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dfabcc51", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "@webio": { + "lastCommId": null, + "lastKernelId": null + }, + "kernelspec": { + "display_name": "Julia 1.8.5", + "language": "julia", + "name": "julia-1.8" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/nb-types.ipynb.html b/notebooks/nb-types.ipynb.html new file mode 100644 index 0000000..8c3799c --- /dev/null +++ b/notebooks/nb-types.ipynb.html @@ -0,0 +1,615 @@ + + + + + + + + + + Julia für Numerik – nb-types + + + + + + +
+
nb-types.ipynb
+ Download Notebook +
+
+
+ +
+ +
+ + +
+ + + +
+
function show_subtype_tree(T, i=0)
+    println("       "^i, T)
+    for Ts  subtypes(T)
+        show_subtype_tree(Ts, i+1)
+    end
+end
+
+show_subtype_tree(Number)
+
+
Number
+       Complex
+       Real
+              AbstractFloat
+                     BigFloat
+                     Float16
+                     Float32
+                     Float64
+              AbstractIrrational
+                     Irrational
+              Integer
+                     Bool
+                     Signed
+                            BigInt
+                            Int128
+                            Int16
+                            Int32
+                            Int64
+                            Int8
+                     Unsigned
+                            UInt128
+                            UInt16
+                            UInt32
+                            UInt64
+                            UInt8
+              Rational
+
+
+
+
using AbstractTrees
+
+AbstractTrees.children(x::Type) = subtypes(x)
+print_tree(Number)
+
+
Number
+├─ Complex
+└─ Real
+   ├─ AbstractFloat
+   │  ├─ BigFloat
+   │  ├─ Float16
+   │  ├─ Float32
+   │  └─ Float64
+   ├─ AbstractIrrational
+   │  └─ Irrational
+   ├─ Integer
+   │  ├─ Bool
+   │  ├─ Signed
+   │  │  ├─ BigInt
+   │  │  ├─ Int128
+   │  │  ├─ Int16
+   │  │  ├─ Int32
+   │  │  ├─ Int64
+   │  │  └─ Int8
+   │  └─ Unsigned
+   │     ├─ UInt128
+   │     ├─ UInt16
+   │     ├─ UInt32
+   │     ├─ UInt64
+   │     └─ UInt8
+   └─ Rational
+
+
+ + +
+
+ +
+ + diff --git a/notebooks/nb-types.md b/notebooks/nb-types.md new file mode 100644 index 0000000..6592830 --- /dev/null +++ b/notebooks/nb-types.md @@ -0,0 +1,87 @@ +::: {#nb1 .cell execution_count=1} +``` {.julia .cell-code} +function show_subtype_tree(T, i=0) + println(" "^i, T) + for Ts ∈ subtypes(T) + show_subtype_tree(Ts, i+1) + end +end + +show_subtype_tree(Number) +``` + +::: {.cell-output .cell-output-stdout} +``` +Number + Complex + Real + AbstractFloat + BigFloat + Float16 + Float32 + Float64 + AbstractIrrational + Irrational + Integer + Bool + Signed + BigInt + Int128 + Int16 + Int32 + Int64 + Int8 + Unsigned + UInt128 + UInt16 + UInt32 + UInt64 + UInt8 + Rational +``` +::: +::: + + +::: {#nb2 .cell execution_count=2} +``` {.julia .cell-code} +using AbstractTrees + +AbstractTrees.children(x::Type) = subtypes(x) +print_tree(Number) +``` + +::: {.cell-output .cell-output-stdout} +``` +Number +├─ Complex +└─ Real + ├─ AbstractFloat + │ ├─ BigFloat + │ ├─ Float16 + │ ├─ Float32 + │ └─ Float64 + ├─ AbstractIrrational + │ └─ Irrational + ├─ Integer + │ ├─ Bool + │ ├─ Signed + │ │ ├─ BigInt + │ │ ├─ Int128 + │ │ ├─ Int16 + │ │ ├─ Int32 + │ │ ├─ Int64 + │ │ └─ Int8 + │ └─ Unsigned + │ ├─ UInt128 + │ ├─ UInt16 + │ ├─ UInt32 + │ ├─ UInt64 + │ └─ UInt8 + └─ Rational +``` +::: +::: + + + diff --git a/notebooks/nb1.ipynb b/notebooks/nb1.ipynb new file mode 100644 index 0000000..f9291b7 --- /dev/null +++ b/notebooks/nb1.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "8da1eabc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello!\n" + ] + } + ], + "source": [ + "#| label: cell1\n", + "#| echo: true\n", + "\n", + "\n", + "print(\"Hello!\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8bd33e25", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}

M@1}@E4SnZntrP%e$;})!O~j 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 z�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%0D-7cE9nu--oPqND^W1n3aU5Qe||Zy5O>zVz=r zJAYejz1ycA<5#>F(z8k8Q=sQSQ*{y*nVhiYad?k}f*Gx6y?jPEOdh2DJqUFq)+>iA z@hfIUH!N~Xf1VlJ0=1}h{P%@I1dXro#*P*%Mk3L*NBW+8uncjAVq{D-jz#TcLoO`QhCMgDVvz`NNiQ z0I-xru=T87=19{oIP<4(H33{dy>+5mg;rWxE~{lWVgrCn{3;Pu5xw)it*LWsZV|J@ zXgK~=ZpZ`63L`|M6><>r8bx!az-Ys#zf0 z!cP|823C__lSLUi4rfna8Ke&f7?Qp`ZqfN`?D(id0oReqjP~blqY`Rf!!uvr1^kRn z>um6#*HeesdQ$;L1?fUs{OaGMO2dcMHcz*MWJb=*k1L2w&iB8)7qQT&awc8{g71hS1=ng_L17ct=hvZUTRfQ+Gs2mqS7QzOWCGpW+$suv{9Re@-n zoO#vq0(uOFf6CQ;s@ELRIH4=eA5$yfqj4BPPynKyTvj?CAI?`OK)5m-8gQZ2h6R9= zFuXulk4mtY=`2(M84U3GXxll7f`9(ZmkHP2YA3R^?L_mR7Pc9T4tS#6h2B?Q1^}cn zED(Tf6LGx?-gd5wSR%EV`O-w@Z&8BkfbcqwX*g_lWEV$5CGI1bmggNn_TnyM0Hb-C zH;q(MBeJh_E&MBml#+VMNgU2!p4{|L@&guvffl(7y_Z-(9Ucdlgt;6?Yp|-BMessS z6BATH=#*-D(L0sK*f*ys@#Nzkq#V)7yhzj0h#0PnBdRZh{%C(hSwb>rOLA?8?ps2B zSsXCbgu(}CZoUR4HmV4m0I`=MnqLim()=?3fXHB<{$ikix>as(e3o_{9E?fo)>4;_ z`&(50w_qN7FpyaZjP}u&{=T&3p~hw)id7YEdZLW303iWF?+wT{PF#h_B+eTPjR%+N z3MqRN;^d~|(fFt7R(nTFM>^(C=@f#m={y}x&<*EMmhJ`{5~`JVRqwQ|M7<(sZ;^w#t#;WiB-UqUXY6Hp6+zsIRzI`ETg1>{O>Enw z%vI9;%WRs;qX8g5m&nv0`cBUC-3%VOI5C3hYih1+Wa@s*w{_ zHUx3Zf%Ymqb95U%owi?%*w5JLsEQ<2>SuDUZ4__T@u*A-?7hQIwxzm+;X9Of5b1g( zAIs*bhNz{HstG?TIdov(=2EN?GR3ek3Y_eGP>Zamn+3&%T+@rxAAY+UqW2d{L#^Vr z(nB0`hZ5Fu*S2&P`_ZR5lck2V3ILC;%8Wn&#j{nIseP`hpt3h8A@ii9ivb4p3Bf#C z>A+&MVINgo9e(-mkHlm*49*Nl2&AI&-(io+fQfb~pNn2j>j9w3<$R?`n)w6ToHNGj z&~I?(!JbgW`HC<(Dj;l6Z1KY0?F{n?vbH1owRtB<&xM~wwF|6d25lK&Fl T}y`UCfe0xU&1nCrq*F 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