From 01304f599eb30055b000908014267dad7381a65c Mon Sep 17 00:00:00 2001 From: Eduardo Cueto Mendoza Date: Sat, 13 Jun 2020 22:15:14 -0600 Subject: [PATCH] Template change --- LICENSE.md | 21 + Project.toml | 7 + README.md | 7 + _assets/code/eval-tricks/code/circles.jl | 6 + .../code/eval-tricks/code/output/circles.out | 1 + .../code/eval-tricks/code/output/circles.res | 1 + _assets/code/eval-tricks/code/output/py1.out | 1 + _assets/code/eval-tricks/code/output/py1.res | 1 + .../code/eval-tricks/code/output/table.out | 19 + .../code/eval-tricks/code/output/table.res | 1 + .../eval-tricks/code/output/teamcards.out | 77 + .../eval-tricks/code/output/teamcards.res | 1 + _assets/code/eval-tricks/code/py1.jl | 12 + _assets/code/eval-tricks/code/table.jl | 19 + _assets/code/eval-tricks/code/teamcards.jl | 82 + _assets/code/index/code/ex_show.jl | 4 + _assets/code/index/code/output/ex_show.out | 1 + _assets/code/index/code/output/ex_show.res | 1 + _assets/code/index/code/output/pyplot1.out | 0 _assets/code/index/code/output/pyplot1.res | 1 + _assets/code/index/code/output/sinc.svg | 1622 +++++++++++++++++ _assets/code/index/code/pyplot1.jl | 8 + _assets/code/literate/code/ee.jl | 2 + _assets/code/literate/code/ee2.jl | 4 + _assets/code/literate/code/ee3.jl | 3 + _assets/code/literate/code/ex1.jl | 2 + _assets/code/literate/code/ex2.jl | 2 + _assets/code/literate/code/ex3.jl | 2 + _assets/code/literate/code/output/ee.out | 0 _assets/code/literate/code/output/ee.res | 11 + _assets/code/literate/code/output/ee2.out | 1 + _assets/code/literate/code/output/ee2.res | 1 + _assets/code/literate/code/output/ee3.out | 1 + _assets/code/literate/code/output/ee3.res | 1 + _assets/code/literate/code/output/ex1.out | 0 _assets/code/literate/code/output/ex1.res | 1 + _assets/code/literate/code/output/ex2.out | 0 _assets/code/literate/code/output/ex2.res | 1 + _assets/code/literate/code/output/ex3.out | 0 _assets/code/literate/code/output/ex3.res | 1 + _assets/extras/plotly/code/ex1.jl | 13 + _assets/extras/plotly/code/output/ex1.out | 10 + _assets/extras/plotly/code/output/ex1.res | 1 + _assets/img/add_deploy_key.png | Bin 0 -> 32963 bytes _assets/img/add_secret.png | Bin 0 -> 38692 bytes _assets/img/deploy_branch.png | Bin 0 -> 91923 bytes _assets/img/team/beth.jpg | Bin 0 -> 44412 bytes _assets/img/team/meseeks.jpg | Bin 0 -> 41012 bytes _assets/img/team/rick.jpg | Bin 0 -> 52863 bytes _assets/infra/favicon.ico | Bin 0 -> 32988 bytes _assets/infra/favicon.png | Bin 0 -> 3326 bytes _assets/infra/favicon2.gif | Bin 0 -> 5734 bytes _assets/infra/franklin.svg | 1 + _assets/infra/hamburger.svg | 1 + _assets/infra/judoc.svg | 1 + _assets/infra/logo1.svg | 1 + _assets/infra/logoF.gif | Bin 0 -> 893 bytes _assets/infra/logoF.ico | Bin 0 -> 2878 bytes _assets/infra/logoF.svg | 1 + _assets/infra/logoF2.svg | 1 + _assets/infra/logoF_square.gif | Bin 0 -> 1164 bytes _assets/infra/logoF_square.svg | 37 + _assets/infra/logoF_square2.svg | 1 + _assets/infra/rndimg.jpg | Bin 0 -> 18569 bytes _assets/jemdoc/jemdoc1.png | Bin 0 -> 123697 bytes _assets/jemdoc/jemdoc2.png | Bin 0 -> 34877 bytes _assets/jemdoc/jemdoc3.png | Bin 0 -> 73504 bytes _assets/jemdoc/jemdoc4.png | Bin 0 -> 70676 bytes _assets/literate/script_ee.md | 27 + _assets/literate/script_ee_script.jl | 8 + .../syntax/markdown/code/output/snippet1.out | 0 .../syntax/markdown/code/output/snippet1.res | 1 + _assets/syntax/markdown/code/snippet1.jl | 5 + _assets/syntax/markdown/ex1.jl | 5 + _assets/syntax/markdown/output/ex1.out | 0 _assets/syntax/markdown/output/ex1.res | 1 + _assets/syntax/markdown/output/test.png | Bin 0 -> 17387 bytes _css/jtd.css | 747 ++++++++ _libs/lunr/build_index.js | 103 ++ _libs/lunr/lunr.min.js | 1 + _libs/lunr/lunr_index.js | 2 + _libs/lunr/lunrclient.js | 88 + _libs/lunr/lunrclient.min.js | 1 + _libs/plotly/plotly.min.js | 7 + _literate/script_ee.jl | 19 + code/eval-tricks.md | 417 +++++ code/index.md | 383 ++++ code/literate.md | 104 ++ deploy.jl | 5 + extras/index.md | 16 + extras/literate.md | 100 + extras/lunr.md | 143 ++ extras/plotly.md | 113 ++ faq/technical.md | 133 ++ faq/troubleshooting.md | 55 + faq/why-o-why.md | 50 + search.md | 7 + styling/classes.md | 66 + styling/templates.md | 247 +++ syntax/divs-commands.md | 313 ++++ syntax/markdown.md | 431 +++++ syntax/page-variables.md | 272 +++ syntax/utils.md | 1 + workflow/deploy.md | 166 ++ workflow/index.md | 197 ++ workflow/structure.md | 73 + 106 files changed, 6301 insertions(+) create mode 100644 LICENSE.md create mode 100644 Project.toml create mode 100644 README.md create mode 100644 _assets/code/eval-tricks/code/circles.jl create mode 100644 _assets/code/eval-tricks/code/output/circles.out create mode 100644 _assets/code/eval-tricks/code/output/circles.res create mode 100644 _assets/code/eval-tricks/code/output/py1.out create mode 100644 _assets/code/eval-tricks/code/output/py1.res create mode 100644 _assets/code/eval-tricks/code/output/table.out create mode 100644 _assets/code/eval-tricks/code/output/table.res create mode 100644 _assets/code/eval-tricks/code/output/teamcards.out create mode 100644 _assets/code/eval-tricks/code/output/teamcards.res create mode 100644 _assets/code/eval-tricks/code/py1.jl create mode 100644 _assets/code/eval-tricks/code/table.jl create mode 100644 _assets/code/eval-tricks/code/teamcards.jl create mode 100644 _assets/code/index/code/ex_show.jl create mode 100644 _assets/code/index/code/output/ex_show.out create mode 100644 _assets/code/index/code/output/ex_show.res create mode 100644 _assets/code/index/code/output/pyplot1.out create mode 100644 _assets/code/index/code/output/pyplot1.res create mode 100644 _assets/code/index/code/output/sinc.svg create mode 100644 _assets/code/index/code/pyplot1.jl create mode 100644 _assets/code/literate/code/ee.jl create mode 100644 _assets/code/literate/code/ee2.jl create mode 100644 _assets/code/literate/code/ee3.jl create mode 100644 _assets/code/literate/code/ex1.jl create mode 100644 _assets/code/literate/code/ex2.jl create mode 100644 _assets/code/literate/code/ex3.jl create mode 100644 _assets/code/literate/code/output/ee.out create mode 100644 _assets/code/literate/code/output/ee.res create mode 100644 _assets/code/literate/code/output/ee2.out create mode 100644 _assets/code/literate/code/output/ee2.res create mode 100644 _assets/code/literate/code/output/ee3.out create mode 100644 _assets/code/literate/code/output/ee3.res create mode 100644 _assets/code/literate/code/output/ex1.out create mode 100644 _assets/code/literate/code/output/ex1.res create mode 100644 _assets/code/literate/code/output/ex2.out create mode 100644 _assets/code/literate/code/output/ex2.res create mode 100644 _assets/code/literate/code/output/ex3.out create mode 100644 _assets/code/literate/code/output/ex3.res create mode 100644 _assets/extras/plotly/code/ex1.jl create mode 100644 _assets/extras/plotly/code/output/ex1.out create mode 100644 _assets/extras/plotly/code/output/ex1.res create mode 100644 _assets/img/add_deploy_key.png create mode 100644 _assets/img/add_secret.png create mode 100644 _assets/img/deploy_branch.png create mode 100644 _assets/img/team/beth.jpg create mode 100644 _assets/img/team/meseeks.jpg create mode 100644 _assets/img/team/rick.jpg create mode 100644 _assets/infra/favicon.ico create mode 100644 _assets/infra/favicon.png create mode 100644 _assets/infra/favicon2.gif create mode 100644 _assets/infra/franklin.svg create mode 100644 _assets/infra/hamburger.svg create mode 100644 _assets/infra/judoc.svg create mode 100644 _assets/infra/logo1.svg create mode 100644 _assets/infra/logoF.gif create mode 100644 _assets/infra/logoF.ico create mode 100644 _assets/infra/logoF.svg create mode 100644 _assets/infra/logoF2.svg create mode 100644 _assets/infra/logoF_square.gif create mode 100644 _assets/infra/logoF_square.svg create mode 100644 _assets/infra/logoF_square2.svg create mode 100644 _assets/infra/rndimg.jpg create mode 100644 _assets/jemdoc/jemdoc1.png create mode 100644 _assets/jemdoc/jemdoc2.png create mode 100644 _assets/jemdoc/jemdoc3.png create mode 100644 _assets/jemdoc/jemdoc4.png create mode 100644 _assets/literate/script_ee.md create mode 100644 _assets/literate/script_ee_script.jl create mode 100644 _assets/syntax/markdown/code/output/snippet1.out create mode 100644 _assets/syntax/markdown/code/output/snippet1.res create mode 100644 _assets/syntax/markdown/code/snippet1.jl create mode 100644 _assets/syntax/markdown/ex1.jl create mode 100644 _assets/syntax/markdown/output/ex1.out create mode 100644 _assets/syntax/markdown/output/ex1.res create mode 100644 _assets/syntax/markdown/output/test.png create mode 100644 _css/jtd.css create mode 100644 _libs/lunr/build_index.js create mode 100644 _libs/lunr/lunr.min.js create mode 100644 _libs/lunr/lunr_index.js create mode 100644 _libs/lunr/lunrclient.js create mode 100644 _libs/lunr/lunrclient.min.js create mode 100644 _libs/plotly/plotly.min.js create mode 100644 _literate/script_ee.jl create mode 100644 code/eval-tricks.md create mode 100644 code/index.md create mode 100644 code/literate.md create mode 100644 deploy.jl create mode 100644 extras/index.md create mode 100644 extras/literate.md create mode 100644 extras/lunr.md create mode 100644 extras/plotly.md create mode 100644 faq/technical.md create mode 100644 faq/troubleshooting.md create mode 100644 faq/why-o-why.md create mode 100644 search.md create mode 100644 styling/classes.md create mode 100644 styling/templates.md create mode 100644 syntax/divs-commands.md create mode 100644 syntax/markdown.md create mode 100644 syntax/page-variables.md create mode 100644 syntax/utils.md create mode 100644 workflow/deploy.md create mode 100644 workflow/index.md create mode 100644 workflow/structure.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..213f2e0 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Thibaut Lienart + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Project.toml b/Project.toml new file mode 100644 index 0000000..70483c7 --- /dev/null +++ b/Project.toml @@ -0,0 +1,7 @@ +[deps] +Franklin = "713c75ef-9fc9-4b05-94a9-213340da978e" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +PlotlyJS = "f0f68f2c-4968-5e81-91da-67840de0976a" +PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" +PyPlot = "d330b81b-6aea-500a-939a-2ce795aea3ee" +Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" diff --git a/README.md b/README.md new file mode 100644 index 0000000..23abde5 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# Franklin Docs + +Website for [Franklin.jl](https://github.com/tlienart/Franklin.jl). + +## Dev note + +No prerendering (due to tricky code environments that get destroyed by highlight.js). diff --git a/_assets/code/eval-tricks/code/circles.jl b/_assets/code/eval-tricks/code/circles.jl new file mode 100644 index 0000000..130a489 --- /dev/null +++ b/_assets/code/eval-tricks/code/circles.jl @@ -0,0 +1,6 @@ +# This file was generated, do not modify it. # hide +#hideall +colors=(:pink, :lightpink, :hotpink, :deeppink, :mediumvioletred, :palevioletred, :coral, :tomato, :orangered, :darkorange, :orange, :gold, :yellow) +print("@@ccols ") +print.("\\circle{$c}" for c in colors) +println("@@") \ No newline at end of file diff --git a/_assets/code/eval-tricks/code/output/circles.out b/_assets/code/eval-tricks/code/output/circles.out new file mode 100644 index 0000000..47cad96 --- /dev/null +++ b/_assets/code/eval-tricks/code/output/circles.out @@ -0,0 +1 @@ +@@ccols \circle{pink}\circle{lightpink}\circle{hotpink}\circle{deeppink}\circle{mediumvioletred}\circle{palevioletred}\circle{coral}\circle{tomato}\circle{orangered}\circle{darkorange}\circle{orange}\circle{gold}\circle{yellow}@@ diff --git a/_assets/code/eval-tricks/code/output/circles.res b/_assets/code/eval-tricks/code/output/circles.res new file mode 100644 index 0000000..97896a0 --- /dev/null +++ b/_assets/code/eval-tricks/code/output/circles.res @@ -0,0 +1 @@ +nothing \ No newline at end of file diff --git a/_assets/code/eval-tricks/code/output/py1.out b/_assets/code/eval-tricks/code/output/py1.out new file mode 100644 index 0000000..f429be0 --- /dev/null +++ b/_assets/code/eval-tricks/code/output/py1.out @@ -0,0 +1 @@ +0.65 diff --git a/_assets/code/eval-tricks/code/output/py1.res b/_assets/code/eval-tricks/code/output/py1.res new file mode 100644 index 0000000..97896a0 --- /dev/null +++ b/_assets/code/eval-tricks/code/output/py1.res @@ -0,0 +1 @@ +nothing \ No newline at end of file diff --git a/_assets/code/eval-tricks/code/output/table.out b/_assets/code/eval-tricks/code/output/table.out new file mode 100644 index 0000000..3e7a9f1 --- /dev/null +++ b/_assets/code/eval-tricks/code/output/table.out @@ -0,0 +1,19 @@ +@@simple-table +Name | Number +:--- | :--- +Taimur | 1525 +Catherine | 5134 +Maria | 4214 +Arvind | 9019 +Jose | 8918 +Minjie | 5757 +@@ +~~~ + +~~~ + diff --git a/_assets/code/eval-tricks/code/output/table.res b/_assets/code/eval-tricks/code/output/table.res new file mode 100644 index 0000000..97896a0 --- /dev/null +++ b/_assets/code/eval-tricks/code/output/table.res @@ -0,0 +1 @@ +nothing \ No newline at end of file diff --git a/_assets/code/eval-tricks/code/output/teamcards.out b/_assets/code/eval-tricks/code/output/teamcards.out new file mode 100644 index 0000000..9b7cb3a --- /dev/null +++ b/_assets/code/eval-tricks/code/output/teamcards.out @@ -0,0 +1,77 @@ +@@cards @@row +@@column + \card{Jane Doe}{CEO & Founder}{Phasellus eget enim eu lectus faucibus vestibulum}{example@example.com} +@@ + +@@column + \card{Mike Ross}{Art Director}{Phasellus eget enim eu lectus faucibus vestibulum}{example@example.com} +@@ + +@@column + \card{John Doe}{Designer}{Phasellus eget enim eu lectus faucibus vestibulum}{example@example.com} +@@ + +@@ @@ +~~~ + +~~~ + diff --git a/_assets/code/eval-tricks/code/output/teamcards.res b/_assets/code/eval-tricks/code/output/teamcards.res new file mode 100644 index 0000000..97896a0 --- /dev/null +++ b/_assets/code/eval-tricks/code/output/teamcards.res @@ -0,0 +1 @@ +nothing \ No newline at end of file diff --git a/_assets/code/eval-tricks/code/py1.jl b/_assets/code/eval-tricks/code/py1.jl new file mode 100644 index 0000000..f7c7953 --- /dev/null +++ b/_assets/code/eval-tricks/code/py1.jl @@ -0,0 +1,12 @@ +# This file was generated, do not modify it. # hide +#hideall +using PyCall +lines = replace("""import numpy as np +np.random.seed(2) +x = np.random.randn(5) +r = np.linalg.norm(x) / len(x) +np.round(r, 2)""", r"(^|\n)([^\n]+)\n?$" => s"\1res = \2") +py""" +$$lines +""" +println(py"res") \ No newline at end of file diff --git a/_assets/code/eval-tricks/code/table.jl b/_assets/code/eval-tricks/code/table.jl new file mode 100644 index 0000000..e7c807e --- /dev/null +++ b/_assets/code/eval-tricks/code/table.jl @@ -0,0 +1,19 @@ +# This file was generated, do not modify it. # hide +#hideall +names = (:Taimur, :Catherine, :Maria, :Arvind, :Jose, :Minjie) +numbers = (1525, 5134, 4214, 9019, 8918, 5757) +println("@@simple-table") +println("Name | Number") +println(":--- | :---") +println.("$name | $number" for (name, number) in zip(names, numbers)) +println("@@") +raw""" +~~~ + +~~~ +""" |> println \ No newline at end of file diff --git a/_assets/code/eval-tricks/code/teamcards.jl b/_assets/code/eval-tricks/code/teamcards.jl new file mode 100644 index 0000000..f9decbe --- /dev/null +++ b/_assets/code/eval-tricks/code/teamcards.jl @@ -0,0 +1,82 @@ +# This file was generated, do not modify it. # hide +#hideall +team = [ + (name="Jane Doe", title="CEO & Founder", vitae="Phasellus eget enim eu lectus faucibus vestibulum", email="example@example.com"), + (name="Mike Ross", title="Art Director", vitae="Phasellus eget enim eu lectus faucibus vestibulum", email="example@example.com"), + (name="John Doe", title="Designer", vitae="Phasellus eget enim eu lectus faucibus vestibulum", email="example@example.com") + ] + +"@@cards @@row" |> println +for person in team + """ + @@column + \\card{$(person.name)}{$(person.title)}{$(person.vitae)}{$(person.email)} + @@ + """ |> println +end +println("@@ @@") # end of cards + row + +raw""" +~~~ + +~~~ +""" |> println \ No newline at end of file diff --git a/_assets/code/index/code/ex_show.jl b/_assets/code/index/code/ex_show.jl new file mode 100644 index 0000000..e32503e --- /dev/null +++ b/_assets/code/index/code/ex_show.jl @@ -0,0 +1,4 @@ +# This file was generated, do not modify it. # hide +x = 5 +println("hello") +x^2 \ No newline at end of file diff --git a/_assets/code/index/code/output/ex_show.out b/_assets/code/index/code/output/ex_show.out new file mode 100644 index 0000000..ce01362 --- /dev/null +++ b/_assets/code/index/code/output/ex_show.out @@ -0,0 +1 @@ +hello diff --git a/_assets/code/index/code/output/ex_show.res b/_assets/code/index/code/output/ex_show.res new file mode 100644 index 0000000..410b14d --- /dev/null +++ b/_assets/code/index/code/output/ex_show.res @@ -0,0 +1 @@ +25 \ No newline at end of file diff --git a/_assets/code/index/code/output/pyplot1.out b/_assets/code/index/code/output/pyplot1.out new file mode 100644 index 0000000..e69de29 diff --git a/_assets/code/index/code/output/pyplot1.res b/_assets/code/index/code/output/pyplot1.res new file mode 100644 index 0000000..97896a0 --- /dev/null +++ b/_assets/code/index/code/output/pyplot1.res @@ -0,0 +1 @@ +nothing \ No newline at end of file diff --git a/_assets/code/index/code/output/sinc.svg b/_assets/code/index/code/output/sinc.svg new file mode 100644 index 0000000..351768b --- /dev/null +++ b/_assets/code/index/code/output/sinc.svg @@ -0,0 +1,1622 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_assets/code/index/code/pyplot1.jl b/_assets/code/index/code/pyplot1.jl new file mode 100644 index 0000000..ec8d74e --- /dev/null +++ b/_assets/code/index/code/pyplot1.jl @@ -0,0 +1,8 @@ +# This file was generated, do not modify it. # hide +using PyPlot +figure(figsize=(8, 6)) +x = range(-2, 2, length=500) +for α in 1:5 + plot(x, sinc.(α .* x)) +end +savefig(joinpath(@OUTPUT, "sinc.svg")) # hide \ No newline at end of file diff --git a/_assets/code/literate/code/ee.jl b/_assets/code/literate/code/ee.jl new file mode 100644 index 0000000..aeec79c --- /dev/null +++ b/_assets/code/literate/code/ee.jl @@ -0,0 +1,2 @@ +# This file was generated, do not modify it. # hide +x = randn(10) \ No newline at end of file diff --git a/_assets/code/literate/code/ee2.jl b/_assets/code/literate/code/ee2.jl new file mode 100644 index 0000000..985e555 --- /dev/null +++ b/_assets/code/literate/code/ee2.jl @@ -0,0 +1,4 @@ +# This file was generated, do not modify it. # hide +x = rand(10) +println(sum(x)) +y = 5 \ No newline at end of file diff --git a/_assets/code/literate/code/ee3.jl b/_assets/code/literate/code/ee3.jl new file mode 100644 index 0000000..8fbcbc9 --- /dev/null +++ b/_assets/code/literate/code/ee3.jl @@ -0,0 +1,3 @@ +# This file was generated, do not modify it. # hide +x = randn(10) +@show x[1] \ No newline at end of file diff --git a/_assets/code/literate/code/ex1.jl b/_assets/code/literate/code/ex1.jl new file mode 100644 index 0000000..b041e98 --- /dev/null +++ b/_assets/code/literate/code/ex1.jl @@ -0,0 +1,2 @@ +# This file was generated, do not modify it. # hide +x = exp(im*π) + 1 \ No newline at end of file diff --git a/_assets/code/literate/code/ex2.jl b/_assets/code/literate/code/ex2.jl new file mode 100644 index 0000000..99804a7 --- /dev/null +++ b/_assets/code/literate/code/ex2.jl @@ -0,0 +1,2 @@ +# This file was generated, do not modify it. # hide +x ≈ 0 \ No newline at end of file diff --git a/_assets/code/literate/code/ex3.jl b/_assets/code/literate/code/ex3.jl new file mode 100644 index 0000000..246a003 --- /dev/null +++ b/_assets/code/literate/code/ex3.jl @@ -0,0 +1,2 @@ +# This file was generated, do not modify it. # hide +abs(x) < eps() \ No newline at end of file diff --git a/_assets/code/literate/code/output/ee.out b/_assets/code/literate/code/output/ee.out new file mode 100644 index 0000000..e69de29 diff --git a/_assets/code/literate/code/output/ee.res b/_assets/code/literate/code/output/ee.res new file mode 100644 index 0000000..8e323c8 --- /dev/null +++ b/_assets/code/literate/code/output/ee.res @@ -0,0 +1,11 @@ +10-element Array{Float64,1}: + -0.38675115697308454 + 1.6354610234843316 + -1.2380735722784506 + -0.07027813689054306 + -1.5736602463947076 + 0.6028777803673767 + 0.907469270100251 + -0.0015565188581515314 + 0.4464988414874392 + 0.24990993606446546 \ No newline at end of file diff --git a/_assets/code/literate/code/output/ee2.out b/_assets/code/literate/code/output/ee2.out new file mode 100644 index 0000000..ab37eac --- /dev/null +++ b/_assets/code/literate/code/output/ee2.out @@ -0,0 +1 @@ +5.418007222107764 diff --git a/_assets/code/literate/code/output/ee2.res b/_assets/code/literate/code/output/ee2.res new file mode 100644 index 0000000..7813681 --- /dev/null +++ b/_assets/code/literate/code/output/ee2.res @@ -0,0 +1 @@ +5 \ No newline at end of file diff --git a/_assets/code/literate/code/output/ee3.out b/_assets/code/literate/code/output/ee3.out new file mode 100644 index 0000000..d21c20d --- /dev/null +++ b/_assets/code/literate/code/output/ee3.out @@ -0,0 +1 @@ +x[1] = 0.33964471312600475 diff --git a/_assets/code/literate/code/output/ee3.res b/_assets/code/literate/code/output/ee3.res new file mode 100644 index 0000000..97896a0 --- /dev/null +++ b/_assets/code/literate/code/output/ee3.res @@ -0,0 +1 @@ +nothing \ No newline at end of file diff --git a/_assets/code/literate/code/output/ex1.out b/_assets/code/literate/code/output/ex1.out new file mode 100644 index 0000000..e69de29 diff --git a/_assets/code/literate/code/output/ex1.res b/_assets/code/literate/code/output/ex1.res new file mode 100644 index 0000000..bc9877a --- /dev/null +++ b/_assets/code/literate/code/output/ex1.res @@ -0,0 +1 @@ +0.0 + 1.2246467991473532e-16im \ No newline at end of file diff --git a/_assets/code/literate/code/output/ex2.out b/_assets/code/literate/code/output/ex2.out new file mode 100644 index 0000000..e69de29 diff --git a/_assets/code/literate/code/output/ex2.res b/_assets/code/literate/code/output/ex2.res new file mode 100644 index 0000000..02e4a84 --- /dev/null +++ b/_assets/code/literate/code/output/ex2.res @@ -0,0 +1 @@ +false \ No newline at end of file diff --git a/_assets/code/literate/code/output/ex3.out b/_assets/code/literate/code/output/ex3.out new file mode 100644 index 0000000..e69de29 diff --git a/_assets/code/literate/code/output/ex3.res b/_assets/code/literate/code/output/ex3.res new file mode 100644 index 0000000..f32a580 --- /dev/null +++ b/_assets/code/literate/code/output/ex3.res @@ -0,0 +1 @@ +true \ No newline at end of file diff --git a/_assets/extras/plotly/code/ex1.jl b/_assets/extras/plotly/code/ex1.jl new file mode 100644 index 0000000..ea988b4 --- /dev/null +++ b/_assets/extras/plotly/code/ex1.jl @@ -0,0 +1,13 @@ +# This file was generated, do not modify it. # hide +using PlotlyJS +z = [10 10.625 12.5 15.625 20 + 5.625 6.25 8.125 11.25 15.625 + 2.5 3.125 5. 8.125 12.5 + 0.625 1.25 3.125 6.25 10.625 + 0 0.625 2.5 5.625 10] + +data = contour(; z=z) +layout = Layout(; title="Basic Contour Plot") +plt = plot(data, layout) + +fdplotly(json(plt)) # hide \ No newline at end of file diff --git a/_assets/extras/plotly/code/output/ex1.out b/_assets/extras/plotly/code/output/ex1.out new file mode 100644 index 0000000..be15619 --- /dev/null +++ b/_assets/extras/plotly/code/output/ex1.out @@ -0,0 +1,10 @@ +~~~ +
+ + +~~~ + diff --git a/_assets/extras/plotly/code/output/ex1.res b/_assets/extras/plotly/code/output/ex1.res new file mode 100644 index 0000000..97896a0 --- /dev/null +++ b/_assets/extras/plotly/code/output/ex1.res @@ -0,0 +1 @@ +nothing \ No newline at end of file diff --git a/_assets/img/add_deploy_key.png b/_assets/img/add_deploy_key.png new file mode 100644 index 0000000000000000000000000000000000000000..a7cc523a979b37e05756ff901f567076a697f50e GIT binary patch literal 32963 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 LF-&gwH~aqqVdV+? literal 0 HcmV?d00001 diff --git a/_assets/img/team/rick.jpg b/_assets/img/team/rick.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e5d318e63f9fd474e9a3ac4b79b15ed0c812a7fe GIT binary patch literal 52863 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 literal 0 HcmV?d00001 diff --git a/_assets/infra/favicon.ico b/_assets/infra/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9d06e6489c2c339737f4499730bd09d02021f98e GIT binary patch literal 32988 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 literal 0 HcmV?d00001 diff --git a/_assets/infra/favicon.png b/_assets/infra/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..cb3e8c15bf28b88a106cfda8f4f6114a65d469ee GIT binary patch literal 3326 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 literal 0 HcmV?d00001 diff --git a/_assets/infra/favicon2.gif b/_assets/infra/favicon2.gif new file mode 100644 index 0000000000000000000000000000000000000000..2f6570fc53ebabc23b3ba5d9c5d7540a4fbfd470 GIT binary patch literal 5734 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 \ No newline at end of file diff --git a/_assets/infra/hamburger.svg b/_assets/infra/hamburger.svg new file mode 100644 index 0000000..233bf21 --- /dev/null +++ b/_assets/infra/hamburger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_assets/infra/judoc.svg b/_assets/infra/judoc.svg new file mode 100644 index 0000000..519077e --- /dev/null +++ b/_assets/infra/judoc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_assets/infra/logo1.svg b/_assets/infra/logo1.svg new file mode 100644 index 0000000..164616f --- /dev/null +++ b/_assets/infra/logo1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_assets/infra/logoF.gif b/_assets/infra/logoF.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c6e0f51b20ff270bb6f526e81d8c82fad9df50f GIT binary patch literal 893 zcmV-@1A_cVNk%w1VPpWD0Q3L=000010RaL60s{jBJx-xLPoX|ep*~NcKTn}OPNF?e zqCQTdKTe`PPoh6hqCQTeKTe}QPoqCiqdrifJy4@QP@+FjqCQZg000000000000000 z000000000000000A^8LW00000EC2ui0Av81000I4ARvxpX`X1Ru59bRaC{1bAm4Zn z3w+P(z+lct{0Wc9RIxZnI+M$&?MWRtFw`=wx?9Nv`@UfP`|gq!mxfi#ji2RvoFleEzio)(x%SUom<$tH`|6s z-iN;7V_)Pwa^!!2((8D|?kK$RE7SBWqW9Xv`Z9_&{eXN6D1;BeagPq-x}=a&!-o(f zN}NcsqPqzVCTNr>A!A1;4MK_>NmAqykrMtWU@Xb9Wk?||W6GRKvt~&NKy2#V$x~*| zo(4$C8>M)wLDbk-#qXGrORI1gQLRO-<%C!NRo)dHgEn~Av*{?Le%nVCb zCQh|6-OOy;Qm#+5b=Azp%hGOKx=QulHt`X=edpFK+{DW2aHBh)th{;g=`5a$(4J*)@W-OXQ!#!+{do6I*q?8mo;w)% z$gvOiESr3N`wba)91FiuB;ZIzh5V#|1QJ{a9zh2tWnfn$y~PoQ=v|0mMiXvmVMGx= zHBpEa^3-8X9W^)s1tFg3oo4XqgWn4dW(eYgF!BeHc`(!noJ2grpr1lAp_U&>A3hYM zX(bt{B#x;KNswFZ#Yhj8^U=3sOi6AB;6Yd(`Q?;cR%xX>VG8+TKxs0`QkP(snWdHu zwdn$A6WQsdjZeA+Cv`gZ+0vieS)`{$bMlF(nQJb(r<9HY+LDuzs_9>)D=djAftqgm zU!$J#24$$wtwm~hSe=?fKCnThSH=#{?CdIzpj5gF{S T`f$mh3_b>`>a)QV+tEVE;EaPIfoi8WLq@a0V9Zu z;$?v-^OA8X(BTA4K`ue8V;vASm>Ad;umho#b*oUy=>73M@BB#HLA&jbZ*#u)cFuFI z@2Md8u;2C_0{iX|VuJKik|o1W+Z{? z%!e40eU0(+^%!gX3WGHtp|9*XdQTSN*5tS-;&r~!*@ouq=OKT2A7q)&pdmdO4H-}K zxhd;8wB)9u^-wx)Uh4OXB{G;+4ba_~fL=X~iFP?;SW5I|bU`N4>$g+;3pMkc5`Jy$t_#^h%4+dF%*#7b$3ZDFutaUEPqeS%qEzPtGL$uEgBE(hWcV37hV2)7X20P;=1Aj91h23aQw^} zbJ(rsDMt+%yI3!%$0NF=_`We;1rO!Wb;d9?u*4EH@{3s}%sxy`D*Rb2H8)r9FzwrL0 zJbm)MJW<}vMgz-*8B453w!V^qdKM>zBp;eXq$Bb9o(79?74Jtd@vqO*PY3dJH|xwx3QEavUyGn1@mJe_*%Xi^;;m z0`z)4tgP3X*_*U5vNInX?4H*#)f^*QQyi(j$w#UUs@L^@?tuD(-KmaBOG}ZMn24O5 z9F&!nK`uX!k&zK-G#ae0yT-@aFHdWoPKT0`5(EbagZ}dT{rwRZ7KXUEIHabgLL!l% zwzd}i{r#AknSsGz@c3RtT~_92MMVYt{QThS>kA(rAC6Bti0CXNBm_}WQAkcsMnORV zs;a8c(b0j)$w?kN`zG(bySp3Pwr%6`gyBx^dPo=XM?^#*At3>Id3mU;tmOWPwsv)O zdBk+rA?^t~C@2WAv9U->N-?kXiQH}Zw1M1r<{^3 \ No newline at end of file diff --git a/_assets/infra/logoF2.svg b/_assets/infra/logoF2.svg new file mode 100644 index 0000000..3f61b33 --- /dev/null +++ b/_assets/infra/logoF2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_assets/infra/logoF_square.gif b/_assets/infra/logoF_square.gif new file mode 100644 index 0000000000000000000000000000000000000000..45916c303c90e378535ad64259cded47aa62b1ee GIT binary patch literal 1164 zcmV;71atdGNk%w1VVnS*0Q3L=000020s;dA0|W#FKTn}PPoh6hqCZcgK2V`QP@z6i zp+8ZfK2V}RP@+FkqCZfhKT)GVPoh9jp+HfgKv1GUP@_OmqW}N^000000000000000 z000000000000000A^8LW00000EC2ui0Gt4v000I4ARvxpX`X1Ru59bRa4gSs-3qv^ z?|ko%xM1){EE<0Up>l9+I-e?~GzYC(iPP+L%cW(%-LM$-EepnIvALXXTi0v1+?a%$ z=lEXTe$V@5e1U&$YfL49h-ZUpiH(ViU5=81kXMtJc9m6on4MFaP@bY%piQHvLZzmt zsD`Rotf;RKenv6J-V{IJHEfbHMPQ*#5TvL$zIE%%`?xUuF)>jqt-9j(AqcL zp4Hwb;MwD3<)`A~#_7A!?#t`5@z2Ti%lG)c&F%Y`+Wh@{bWY$vGxNM1kzZ(}fUNj&=CCbGyejV1n-#X^}QYNfMHEkMUs7Pm; zmpy&TnUYgzn4m_JDqYI7sne%C97J$nz(J*|4ydN2%C)N3u2`+|@cMx3fv#x3s^#i2 zty`~a;c}(=mF`>vb@9I48#n94tbOCI|w@_4@-5}7_wfhmLq3o z>~MnI%#Jr}9{p7@X1j>*l3u;}?`6OQ_J(Fn+wexfC>Enl-S}=_z`z5qO&WamU>lw# zt5y1YxRK(Y*%B9w_KDl-OI53_3MK9G?7Hh(*`_k#0Tt){s)p_@H|z*p{V?G<=zY1#dAaRE=O!m==sW zUdJPvE_S&BmLeuuVq7eo<=mMC-l*pa51i%{oB%edCR8shNaC1$LfQhO*PWIXf`D4; zf~5SNx0{%rmVl|2ka_23sV9KSDQ{iT$*Py3hDX?;v!b}1%wot_rLO zuKuUnuofI!rm%9IRhC>~{#JE>v#nYd>4>D}3YiR3MTe~kg&7*(xTX?zqqyjfP#}kS z8rUwc4^X&Pz3l?vr0itffB*EcVb zJij3AzwWYFG}1v=wlvcVYnda|JDe&r)q5g_wGJ51wY3fBeJy9qVmDoB**)`xcFUZt z-9lt;Q`%bD6;2uMXbC4b*VHfvEShk8JG<-OxBAR#v9+=IYpKH~PNa_-`|bF$DKkzo e;W2+Ec(L@U=C`H|eRq8|37JA3_vu@Q002A8eLaBy literal 0 HcmV?d00001 diff --git a/_assets/infra/logoF_square.svg b/_assets/infra/logoF_square.svg new file mode 100644 index 0000000..805eeb2 --- /dev/null +++ b/_assets/infra/logoF_square.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + diff --git a/_assets/infra/logoF_square2.svg b/_assets/infra/logoF_square2.svg new file mode 100644 index 0000000..0bfe528 --- /dev/null +++ b/_assets/infra/logoF_square2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_assets/infra/rndimg.jpg b/_assets/infra/rndimg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..98be38d7ab67b4c9a149370e4abc9a2932881c85 GIT binary patch literal 18569 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≻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 Opt(4DI@H_W&HNW`#j;QU literal 0 HcmV?d00001 diff --git a/_assets/jemdoc/jemdoc2.png b/_assets/jemdoc/jemdoc2.png new file mode 100644 index 0000000000000000000000000000000000000000..27e6b396ba16b44a00d848c0e9dc8d9cfd6b1a2a GIT binary patch literal 34877 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

aOEg$Y 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%0D5CzLE$!p@y5|Z>?U79I!;+5 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 Ro?GD03mIkU5=o +Some **really cool** maths: + +$$ \exp(i\pi) + 1 \quad = \quad 0 $$ + +We can show this with some code: + +```julia:ex1 +x = exp(im*π) + 1 +``` + +that looks close to zero but + +```julia:ex2 +x ≈ 0 +``` + +however + +```julia:ex3 +abs(x) < eps() +``` + +#### Conclusion + +The equation is proven thanks to our very rigorous proof. + diff --git a/_assets/literate/script_ee_script.jl b/_assets/literate/script_ee_script.jl new file mode 100644 index 0000000..c27ea40 --- /dev/null +++ b/_assets/literate/script_ee_script.jl @@ -0,0 +1,8 @@ +# This file was generated, do not modify it. + +x = exp(im*π) + 1 + +x ≈ 0 + +abs(x) < eps() + diff --git a/_assets/syntax/markdown/code/output/snippet1.out b/_assets/syntax/markdown/code/output/snippet1.out new file mode 100644 index 0000000..e69de29 diff --git a/_assets/syntax/markdown/code/output/snippet1.res b/_assets/syntax/markdown/code/output/snippet1.res new file mode 100644 index 0000000..dc61f02 --- /dev/null +++ b/_assets/syntax/markdown/code/output/snippet1.res @@ -0,0 +1 @@ +3.173 \ No newline at end of file diff --git a/_assets/syntax/markdown/code/snippet1.jl b/_assets/syntax/markdown/code/snippet1.jl new file mode 100644 index 0000000..10de34e --- /dev/null +++ b/_assets/syntax/markdown/code/snippet1.jl @@ -0,0 +1,5 @@ +# This file was generated, do not modify it. # hide +using LinearAlgebra, Random +Random.seed!(555) +a = randn(5) +round(norm(a), sigdigits=4) \ No newline at end of file diff --git a/_assets/syntax/markdown/ex1.jl b/_assets/syntax/markdown/ex1.jl new file mode 100644 index 0000000..318d265 --- /dev/null +++ b/_assets/syntax/markdown/ex1.jl @@ -0,0 +1,5 @@ +# This file was generated, do not modify it. # hide +using PyPlot +figure() +plot([0, 1], [0, 1]) +savefig(joinpath(@OUTPUT, "test.png")) \ No newline at end of file diff --git a/_assets/syntax/markdown/output/ex1.out b/_assets/syntax/markdown/output/ex1.out new file mode 100644 index 0000000..e69de29 diff --git a/_assets/syntax/markdown/output/ex1.res b/_assets/syntax/markdown/output/ex1.res new file mode 100644 index 0000000..97896a0 --- /dev/null +++ b/_assets/syntax/markdown/output/ex1.res @@ -0,0 +1 @@ +nothing \ No newline at end of file diff --git a/_assets/syntax/markdown/output/test.png b/_assets/syntax/markdown/output/test.png new file mode 100644 index 0000000000000000000000000000000000000000..0b9b33859853d06be53b9fa613813c63fef0e016 GIT binary patch literal 17387 zcmeIaXH-<{wkVtQogYWX#7arWmURZQA z>+9u+E-2{ao_#<-RybhcSiLhWtjuRbz^joGnt6%e*GNI^=nIiIU0?Th^gT=GGbZs$ zyx;Y$t%M7elv_ z|Ez(aA%Ss|HcQyalP5_@N$Gs+9ywe>5Nm3}S_Nn4(t%VR3PB!hwN- zhV`%?6jy|V^r(34*!a8{;H}FyZrtmv-pBs=?3t|G5d>-Vt{qo+{P;)uS_w}AqWdRJ zebvX0AJLtRIB(^#6Y6-n3bwl9{IN5z;mryN`hxI(@5SqS(i*GkJ+)eIV)dPk1%nS7 z>m#m9dp~cDx~=(rpO~0jTFTAQDW5Cs(=~gZ1Vf!#4ae6|RE!S~KcAeE64SR2-|Av6 z9!iK8^=4#Zk`55sFS#ZgkwnI%#%T@54zYFq>WD{tkz1zLi->P&PtSFM%l_v##oVgx z3_1ozMyZS3=IukJw)TBGj$A4-uvRgIwaar$^A`80^YNYHd$aGSK7anat7zD+OLpM> z!)K;uW^FDq_V$IBPS>08Ac(?2-m1UZw~C$tJ?)1Mqyaw)kG+5YUSWKEJk{b9F|oRi zPPC7&FMLHx%IEIgyK=)Ph2kyOpJ z&R<;-R+Ygb3snsbr-7n`gsWS>ex<2qsu>A$Z(_$Uk)mNWX5`tRFK@bdh^zz${k)XA2jgn^mvg4%y!*uAW^UuWf2>=EIGa z+s!6~FsYl)b*F2USjR)W=WeY{+nzX&Ae0}8U8OlqFrogpGYmFAnD#EXhd61{(T++y zy5+I^;|NPQ1o^#tFPoa0NH1M7M~}@=OqYRiM_)OviK5izf>LoWo|cnUluNNi#oCQ& zD`G7)i7jTQRY)m^8Je{$p2KwNJfT|u+E8V>C`n~v&Od=5aUZk$b+Q_z^Hkjuv|8LO zTnrx>gM2AIQ8~>H!Xj|Ph(v_d{`37&u1k= zt|c4Idb`)tVG>z=yOnEqGTz0u{CFIP;3HUC*MYUMjtP)RV4?ZERdtzJW!Mv4kHqncbh)ZyHR8NdYg&FKCqTtnWaI~jANKbI0I7X3R~IxJfJU#y9t3p|}&)|x&o*dJe=)6a_W zd1W5oed~h{p@pR-oAw!W1h-k8=|d=EL(^Nlo9HmagbN9hmUGNPG?|T!*71iUFv=cs z(+FT5Ou=XnU&u4cFC$|)sKK4BU)D2nVCqCCVPffPhJAnuts{}=FPre1u_dPyjL>C;mY!| zB{}8hYQFs)?KS8UIbEn_Ti@_<6Tp2`Q|&41zSfZAoT$%La-S(bF+LDog5|5%Gv+xb zhFe@%%Y}nD3nasJF_+?CERBur;fI%aWpV7Z?7imhk?$w_v&iX3zbO;z4$G=ZROx!7 zWAx@A6t&uWliE*Xp)4CMZSicc@G^s1nEh!kK1!Lp=qR6ssP~u-@I~TQQfh;e=3Rin7aVjE3$oLXwQi~8lep62E-QE3@o)s9 zkEg>-?`ox-rWRt*ixltj7N6x&cL=Tf)IgD%2$9nM`GQwGPxW9b8jp~C8`=$}s7O-7 z8^{eMpGBgv)c!m~t#@YJ;Li3V*Fd`2P!9{-kj@_2&$b4NX>=>%UJW>ng*WBZsNGbZr-ZrV8_=+C>TNYaxj7RgZ7?6EMS&2^f)7nf@U z*%@g+kGXI*8uHXoXyFVq}#{EIe&PU0A6wNq1HlG!fAtSEujpzp@eSR9~vb|AdI%Ndg z%zxtW11lDbin2Np*+D*(T$}kOtyFuQ?A)JzYAg$*XF*17+HQ98wKlU>p=3~Zxy2ju zk&CI8*+*a(<DdP_HyRtNie zbq_O|5-i{Nt%VlO}1H%T?|#=wg)Y#NI2_e@?g6fP^;2j0PHK!n1lN zu3G}qn$F2VNqWSyS+m9Kp~K#Rtdzv)7D}vc_1+c8b9>t)*UQ*2D#&5BpV~4k(`5_ zeJmYAj{Yg;dp^oyzJ}MXAK8BaTO=$npspQ%!sOk6*4P`mz5Tfym)r4SXf_)cL?_t& zme}Sbr+eKs)$ZG5lw+x3i?2EgD+j`|#!f0nWWiR?m(%S44v&BQy05w)=vT)ODSc1G|nO5ebg$hsje# zb3#QUE*8yO@d8?rRHuGvqFqY9Xt%e>v*QdbEONdStb&Ei019a({Z*u-nl9|fhqH+c z7F+d&>3KMt4vG>BB;n@!4t_R`2V6Ss4RB6HO)X_?Y)sk{J-hLFDRS~v)vC=r)WLK_ zivvuQST?~2i#(H4m`SYXMI^`Q#_1gA5ssklY5_@y? zSTO_Tj=5?%+UfVLDhofZ;Uf__L$s5Wfn^ftHG8hgR>r69KRLMEL=!<8a2}6>f}(lW zj*)+N-Pg>^+dK39`{k_q*VF=9k^$5`s_HuQwQMTt>Zt@YZVFu~vV7Bf@G7&cY`eSd zw0EKhHK6qcNN5HZPtP?H7o}zNCijXsw9rsxejL_%M@3ZffcgXeFIwL^n}Ig3hfyCE zBs0~rJM-HFGhsUzI5?D-D%Si3w`XVt*1mE~@9r@$Fq}Mb;*P!V>(^O*y9lzWqNtOa zE}f5?@sWiJYhoP0=FaYXW0F`lR5AoHDu)#l#~J8iGeO3BFy;__?98lwe6*X z6#B)32E~K(thbRG3s{c=oO1+joV%yHw43{z9zcP)RhD=|$s;W9BuRxaFoNE1AM{aZ zOhnDEVO6o>wYs{>X*qNo)9JoBoci+ROXb)b`t2ZI2TfsB|qx=Qn6o zt-~GJ^3@w3VbgS0%}%M#*QBxFy@@F+Qa7u#YeQZf|Mf14FpY*<86hDdQB_h(=+8Hr z2Yl<}@88=L!qk(ld>x~tt2<)C}J}p6j}~zK^N5r`(xHC3c&3t zvv(7xAhR-o6yv0R;Y?tp%k0y5oeNu^5}m%voa%)&n;9&N24=<6p7q{|U`0YBe zA~rtC_AxZ)8ef2+HLIv}SYh0Z4VPB$C#l!|kH!;c-^H!j6QN~TItWyL2r`6$OWU;@}{)7JeMS-G~} z?Y#rat!qScY1gghX+8B|j9cg!BZ6}sNg1{l%&Bs-RO5yvQPeT0KLBaeSn2Tl@x8O1 zLv0RoIIB&mpzR{!Ua0%_r%$onxzN6j27%?0!YoEsrdh>MHywJnXM85x%!;qwp8BHL zuB7m_h2;8j-ldS}EY&yF0lFob)m}I=BZr%D7_{aMDFJ3|bI%j?)XbL;BJH{&hQcD~ z0&LjhW)D9gxBo#3;HOIKM|Mo7Rqk9uz2)NXE&ypm>v~CuJU2~mA`^FdMTXp!7B>jt z*Oos?EFEsvBpwbg9?Iq&rsDaf`P27;zVjBf@80?_*B%tesxXRfaMuDWv;YM%7R=W7 zf;>F!)diy3rK`9ls)R++<&nXO$UUX@G|HD#=}R}T)vI)CLv#kq{h%lZptvhM;dcw5 zyuHnj=`@JGZwd#k@RW(64SUU+A}o)eWm^Xc<$+p?18HdUqrfkET{_B^GgqKb5>7;K zK-p8SNr3xYejhDknTSv&uM5^|!`K4GpNWp&@B3pvWvD*l&D?*hKAvyi;*FpP+}OHQ zvWaUyTV{cg_lhst1rW$#RD zY{lUH?gFp}=t^qmp^5DZv+|BKqd~sb`iyMldQE%IYd1U|6#i**LLcBcO4CjwG=S!` z1<_q-G~`yIwIZm9YUI(SWRdD`)RMjb0TXM^5KK3GhAgKvaXVAoR-y`9j>Zy;hMY(G zwIn0PgKwCvftwNBH>D124U9BzLbRr!)4Xlv^>BvOY-7Guz9_TTBu%v0P%E7DcOP)X z8V@}VYf6U+&7zZHFyLO0<>H`P+vuhYScmE226Mf;qNB$vHOk&k?LT4}7T=cNnT zd=tEYLxpMM5qvB~x^3C|97TD7b&n-*C(sEf0e4a<8`s}~a9)KOI=!kjxXyJ);Qst3 z&09LZ(u%|w$`Q%^DsDIu#^$hs%lLXrHsvT%1#0Nfw;uqvG38OE zoa>pd9@Jgz{vN#n{mq&mkCCsBx%h!TQ)6;Xz*d696d8@{M`}rzCjjb9I#-fwKpqygd zksw~S+Qfw0p3gP=_Wt2Okwql0!%wF#`&?XHWh-AU_N2&OWY(+F2C7!U!=viYKT9^q zuqmwigJ%UQZb}+lHzRwz*|Fxh*~h#$0OSBR^8I-!EKP3kK^x?yC&47M@#Z}vLOvA2Am9U!0u(ru?-OQXEIeEdYADRK_IXP$6>|YHAL1p|P=gp2U!D+V{Vo94>TPNMGID(X;CrtfrCKIRz~TA=RR-p`jfb9Jm152o0AzHc#3_4}?O$gGO3g+fr8jw*`k|1O%}TM-UFTaOJo` za<^1w?@OlrL+YMeIAPgpdZ{Yz04Gg?_8R`FkgIp@XnO9i#p1%Mcg4{jr#oFaBrGiT z$;20EJIj{@Wn%^Ry7!3%f5k~jNpU)_KAxPKnwtm^>W#W%%jvP}luwP1>}F+XrBZu3 z=3h%OniaE;W|<#SV!BS;V_(@OxPV~uSHd@uYuB!2BqfRE8@2V0*LsstQDp-~o1vU4 z7nD>{!LONpuviX4#5T$|+s~=smPYl?o;@4E@0>^N`t#P|O_Bs8K}jBhR(QgxFoSt=U%DQDyFu1kGK_7aTD00POL`-`rX zx6AvIo+|h)p_u1VFr7{Zm&%$%JtP0OQ8>{N?2s}_(siInLIEq4lxuhtcul8I^li@4 zl}Oyruws1d8k(4S3d}{T4584f7P1tc&NI{fju6dK8#>%XsQ-ktXPJ~xCdV;4igult zpqx4C6!miiY4&f1;TDJd#?a@D+C!o&CXp;pE9u8Y*E!-oyD*@!ur6qQdkZbdI&KSE z5H;1lQc`O3zTJ)wl--3Pkk*`Tz!<~RDl*gps>{V`rbzDvVS0UIHXc`R?KQ?fOlE^{NoY;7za@o4o}$O_h!uADI@YHdU}GB_5hs+;j#adu2~c{Q*Z5mAI#l;#jV()g7x=aq>juZoKjFl8|%TvD4vi=P`Pu(MEL z7232}L_PN{b9H~&rOs)4@fMoqbl-Y1*LUUfPh;dV3c7J~8sdJ`x}k}=4y2eM%Y{+7 zw&8wx6!PPh5W^6<-+C?zrNA8+?Nl1u>N8TkHWfQ3sV;2cTl2vjO2h#3*Ny({XueR2 zQgKA56aX@B7Z7vvQ6f=fu#zkyE3ZsZqN=CdhaN*qP|!!SGy_x|Yc4WGk*k1M2lg&7 zbo`*#WMuq}`v0pyTDzh*5Qa{rJJ-Q%Bn*`oHo2do1zy(zEs)4G%G6NAq2fa5W3z=A z5Es&ZosQs2$c@-pu{jwxJ4SX2Y3*_>_u(=y2}LX9yIk3}k+XkQNQ4Dd<2)pyyON#t z7M14u$_>sdEftAK$@(b6ji4*S`U2&NjaAT4O9ryA0J%Am4qrcTBtEfu?`xyVyoSglonEs`BA#>2SVf!-E zZD(J|JI=I?F1)3~EuBd~H~CveDTHF&Lx7Y{g}eG85pQCWAtC|y=lskvsdZ^ytc4p) z1Dm$26>G`RP1|g%qN|$vz>}u(HlqX&&cX~%tFblgfo>|O3&A0L>&1mY#(ki=Z~QS_ z!`>MBKCB}^#brk5o&jr0M-qo%f;={Tb6kF;=&lxO0*XWY09DtRxfP@fcd428z5;E* zd@&Ox%j_#_flWmGK;NjDQ0?Kx!AV>1C3X%T%^imDk}nZ7%34rc^TSJs3K?|CD_35hE8WVzYrBuvhm?m9`>QeN=26#yHM7L zH9fe+w4?S!>P2Knpnt4w@uf9^!EByPfaUI;b5V z!<5US?ppSc_6ycx-TGD$ZBWv4 z!Eu+B#q%#XH@RTnosOfI2nuo3Ch5$x15CJUt|s6iZMA25&j_-#LICXB(4PSRTb4Fv zx8xnu0RHP6+oF_1^=XvRKmvfseo!_+#^qwH>0dRVNQWsa^yEt(>X-kBrnk5&a5BP8 zYxngd!ef$a4~5>j#=-3wAj4rHg^$3=V0+PQV7$WPx^5$p6U8E`^9diFLe&ELz9{5h zW4pTR86mq4{#7jkj2OyWag{NZiLv+#6?AyQ`tKvC;slxh2hY34YuOk?pQmvX@a5wp z*N-mmjhq{1w<<(00a8TUXpemEwbOCCc*3+G&vyoW;5;ae!-;6a*!&W^?oXK##X5-Iu`>-qx9XNVw4!6jI3iLto?Zg z_YkNy5Zk-H*ZIm@`1<&CHU!d!1O?gj>PN|?=2UH)?oIJjcg*!|QI+ zox!!T*tt2=JD2>sED?`^h~c_2gAqrq{Bki+fFt-AC0K_^M7NG0B+j3ite-sj0E7Ef zTPr_EO--Hi>C>lt>U_f%%F3;&$fnj-!KEDx2GfzHna{$&G{y`pPRju*u2kL!apfd& z=O zikyP5q&+SMeH*e&^EXgiHsQ}FcL;1>o~3R5R_(YnGEm{XW-@5_H9UTG)uttqM;@Rd zQOt#9PE=-YZRq)~>Pm-ET==t)jX_Q4J^`QwWO)=WDy0OLfG_@3nGiUp%VQs1Cj5AU z{~67Si;3N!rx)Mf-v=sHaN!p@v(~-N3xjyO6{r9X$K;>u6TPQiBvcs0XyVo}wp+Ip z>FMbs1YCfhxhg!33wEQ%lb*)LokYx-YOwLiJB+2Nb`$WD2*$gmzC(FXkohzFf%m8K@D?ZJV) zpd`FN=7I+@Syx3PBQFvn)*m6Wc=SFEItlQwb4t`8D2c$!p@WtO7aB`UlZB5>fwq6_ zx_ia!dldftC6|Xu)Xi+Caj?EWjTrO71zIzJ$`bOZkUjV%C?CZ6URk<@h9q-?IRXU@ z*6HXc-fzyF@RM)u1f=`Brls?21n2re`gFpFF?LnNy59=`?wgED4jAv*kpC)b$lO^- zo^-RoW#tPFWzZjd4WlEPJD0Jg|A>tGr^agdfGwT3aVkMxERlIz7UTeGU zw_g4mq*ru&C`&K{y&MmrggGpq1HF9xb9p4r!{I62ECrAdA+C?Q8QX!eM1=KW4!RG_ zMBafCY-07~1(0ySm8Czaoa=RE67@BIEZPq9KuVOlZxR@&~-)8y-Bo;E3s)#(jW{j3GpvnHsW8B)(K(*ZM z$vA)5t3!;;c?D2le;#Pz>$Z-^fq$D+T`|I z#L~EB@sX@dD$KTtmJrpPcO+ItJJE1gpYJ@8B;`Vb8FAxMn zDjcVaqV%8jgE%0L-_U{nm5wGHu#li}{tIBGg8T-V`XL43@a+o5WjVr9s_Mg`0|*aU zgjTKl*=9cR?203IX2O^Bc3|h-Mt0Q)* z0Vp&_taWc-YmTM;Cl3%J+y$G|+SU5W26A%uVgd=!4gmbSpU;;y8y1FB5h2)9aM(S( z9-en`1^mDLATz^M$CTtT;QtSlL)j?vfRx-I6&|}Dm6p@>+L33z@+Ur~vz_`7|9`?? zKm&2?JB-ry+kb1afX+ov2yiV@3_mvb0g?0_M(KI$Z!VyPySs-1!2DrSL*|YhJM)Ve z1b~Q*RztK3(an~PSfJe9-6OkbkrdurNn`3|`5(a3c5x?FXb%HEL)GR`=AJwQ>0#?y zBCTo- zzoC`22RbM!eh;N8Zr>DQU$k$&>H9)e2*Dbyy~Nkh*1nnAmA<^Z+*RcL+g4EFQD0!v zMSAvZ{6))>@u;1oq$K0sEX}ZBvMJQp<2A!XYmsg8PJx3)~E}9MlEmNM>LFHJfamUr3?(P|syjwqn@XM{qTytGOEmX7}P>+Y`NO;rw|Lo9BsM=H#zIXXq%1Em%%bhc<~(IHQ( zPm2~h>|i32(1=Px(9ohPH)d{_``)P~Kjq?H?dr3j$cf;Iy|pR%nS{D&V|M~z{8ZhF z9Dj-2kfvE-0I&Zpa<>il$b+tC1(gVi0B&_i7b;z8>_Yea=wb++xa3hLdzmO+??blh zkUA)KSav$BbWFMbTIt3fDI()Vf}>h#;B!DL-DRMooE$xeFAcY%WrEY0RJbG>kRD1Z z{5HGJ0^OB#8|)H1Jm6qP>E+@eb)|H$Kn~cwmkF{vP}NzVY57N`Lt=nWD*o`_m5#LY zt2(QnPY03vCzOxE*2g2C?9e*2v*NHfx=BEXc>;u&h*H#5twTNvLERk6sMQs+!~f8^ zVT7b7FUzcf&YhC`Ey;&66_WCLr@$@nu3SXR(AdfitTB51mTl|E&c10(5X;gf6uI|s ze?|#*#0eb3ls!;?P_GEpi+?S1h@Th!ONsn{E^{-fK%N^L2lS%tP0hRl(lN$pHn;v` z=YFBvgb1c{EGL`OY8@#&VF(2VdjamR@J}N5zgS)2@e?fwp+8WOyB0+5kN*(4xBg*u zg*o7EVAC8yTq<`lt1V0BLmJ4u&_jzv%UCg(xxtA3x1lftIluY^0<&w9c z(7c^g0eK>lwD^&_P*WF&e82uLN!Zf2^BWWIEtp2!iA3ak z7LfQ>StFSgLW2yc%?i_MEg@ir{H<|=(NGNU^M(Ip+W|{5h~QC%dsQgOl}_t#+V7r) zT1f#P(?Jh~@B{V_+UHu;DKISt<{+f`4fx*M!IUCicnYQPku)Px;TdD+!l2RC-Z`DR zpd>zhT5#_hAN#hoh9EU0PrNp5{)24?Vwvq^To}j#C>t~7d1!StCP@_ z2|F$<4e}X0eV|of8bBzDCN!|U%#B=YM;o-bKt-goW<2k0L{v;RZs&k&RhF__QGTQs zByO}lT9zOcCf>yPqx60DL`dPuf*oU^@9kV=T+!o-kSHPoD*rj3A>n@bGfz*4#B_fy zkTIAF0rNgr$y@4bE-BQ!4<`YC<_U;5Xz!-tkf$cHFX%F!vrpNZ8;$na*o*Oq%S*^+ zF*}dF_wx*6=@?Q(;n{%iq!$K;&}2|Etbhmz|7X(_5>LWS}-sFxPH zOFzjLLJDTBBtVc2AoT;B(5iI7$uCwvsym6B?UDp2;=aA!QNC0)cn`z+H74;or_DGe zdab&vvL!|3oz&;WfCoe<>hw>JbtX%588nd!tb8VcXHYuZ<3+j5zp(+u6m5TCKi|s$ zG!#G#RXI6-l;(0>ER_`6T^6Oieqe&?p3BEZO(Y+de!|~d-#jSQCLZmU7DTyGM4Qg{ z;d!tAD|5ARBF{)EC{pWuDPjl6$;greX(buy=_gCq0*NWr<33ByFHNAbKY8;keIwgzjv}3= z{eOD4YCrjyptq5P*!<$J(^_{-(!A_WnZ4OT0NypzvK%4#OWU8*In?&ugiHsE7LF~j zVo<1AzSnu=;PsoSgKa5z8Vu_-c9sbX4{P}Z1gJ|$d@&j1U}xui-0&u!n!{;%jAP>f zWbU?7m>V_~IM)ANJ82B4;T|i#dNW(ov3g*v<;5z8W@w-NGs^-vS55(zvjGi0?MWW z#5qLTEqDO&7t5IRm`$mQf&x6EcvPlWA*dG^bob0_H-qCGq)5~_{TAgQy z?Ll0zxiU7=75(fE0Wk|cgfDW2aQ_$~{JeY~NMQK$5p}X5$REc+V})wNb_07wNl#DS ztT*dQw4CI%x39{|%MYG-nwc>rCnqaDeoTk{xPL!V1`{IRl(pc%XJBNcEF(i$_xZDe zr6o(H)5_g11x@t0sF>cNAsNOHpN*gWBtM>yi_Aq;dmhM<`@SGNeq`2;7arfE_pZI7 ztTh?LI}II(f|S%rP=a2bJ9jRvq9V#;f0sd7%fMyz#|bi0()JA1%zMd79Uv0yJISc4 zQ@oS8);Vhz92_jBo~s*j#U%XE8y#C)4l_>5qQQlq4&|i<1;L343BUGsHf0B)^4!;+`q4yd-|M=$I9XQ4>%bd5G&WxK`>eE-o5|HPhSL z7zFZ8NAg(Nz)Fpl+53)Gy4Dj@^FMg@u?DPA?AO)Fy=y;$BYkLKph@hrg@wgI$>_w& zGAK>xkcTaK1{WN9jX8%pJFhB#U;Y#SJbom%#rH(XfbHxHeiB7m*|v+UH*fw}7%bk& z2KB`jOjzygUZ>LY_oLgUCqPuF0tXe__ZNP`Q$N?XZgX(F&DE=J1>NBW_S9wjRw5#z zsNmqw`uh4dpHE#>nl}HS;RH{5dYE08kNJ_6l@(_|$a9JT3*F$O#EzL_haU}RM=G3c z*%Dtc@1D{ygzt6t^+`gX=rIrfbPo>lP2XyZ5r`}l5)$$p*<+)Bqj_LyXBYgXzTTui z&*05!vNAFaXEg)y z-`T3Ek>hZ<7B}tB6Dx1Pqz~JETp;(}lq<8_)+)VUK!Ep+5S#Jd0rrd3)G4oCo#=$J zG4E0t;^_`*chUwW+x|9c+~3=l5qC zq6Dak1zgr&ZY&H+p7wqQGZlpqxe3xl3%YChfAb+}hywL*X1*^sI3z^;tBhc5fIk(V z1Y`vNhEL&3h3(U89m~sX7YM!1&?{dftvREZuHvD`v6fZnnNPFN+TO2I;S?AV5s{Xk z|JIII=RIu8i&p2ykDqTWjmkTeM?ccnpY);NPKs)K`}Qr=RLQ;^9oj-ISvYlq?%QI8 zg@re;o|g?;qobo$baZ54O@Q=}d-m*^ik6nt@n=tg;hB8N^t#l8#WuS(HXdoZ$;}SdG6gHLX`FW?RZ zu#abwl~|%e*t<*%AG5zpOH8b_s!U9LR%G7KK79*}YWW+*#l>yqG$}{f&8{X43~2E> zE?ye0_Kf{%X!~BDF{b;@ML!96CWx$5JLg?JJlkyyyxI?&(i>nL%$e~y*RU1!?i~i! zisM-1%NckMvGFAHOOeWW5C4s@4t4p z*5X}G`oQ5-RaL!2Mb#oJEBkZBsid+p8ls{U)Ke9Ck+X2QZ?krJU9*p`es2zA&F`9x zDjoLkF`fMW{rkJUuHvT*tgN7%w!pAUh`v^1@y}nix3`Z94{y-Q4&|{NYS7Wq;TUah zY#a{?I#<0{Y&AL+983zC#+;L~w6IWh>T?slLGPh?bol{v3G2}V5pj@T~F@b#itSSh^ltq zA^-D7)5@=vi94R)mnuq1dJfN8@A}XF{P_dK`S)s>lRcU0wxXiXc0blW_qpI1dmO6I znG=F2O89@MP4Fi2C$P}yhY7*`0FdGVY6yq_1p`P6`0=018oc>`$XE9Xlrc@MPZd?l Q&@o}e<-~ICKKS#00j?Pv8vp li > ol {list-style-type: lower-alpha;} +.franklin-toc ol > li > ol > li > ol {list-style-type: lower-roman;} + +code.language-yaml .hljs-attr { color: #ca4418;} +code.language-yaml .hljs-string { color: green;} + +ul.menu-list-child-list { + padding-bottom: 0.5em; +} + +ul.menu-list-child-list li{ + padding-left: 1em; +} +ul.menu-list-child-list a.menu-list-link { + font-size: 14px !important; +} + + +/* LUNR */ +.result-title a { + /* font-size: 1.2em; */ + text-decoration: none; +} + +.result-title a:hover { + text-decoration: underline; +} + +.result-preview { + color: #808080; +} + +/* .search-input { + width: 250px; +} */ + +.resultCount { + color: #808080; +} + +.result-query { + font-weight: bold; +} + +#lunrSearchForm { + margin-top: 1em; +} + +/* .pagination { + text-align: center; + margin: 16px 8px 16px 8px; +} +.pagination a { + color: black; + padding: 8px 16px; + text-decoration: none; +} +.pagination a.active { + background-color: #4CAF50; + color: white; +} +.pagination a:hover:not(.active) { + background-color: #ddd; +} */ + +/* ================================================================== */ +/* PAGE-DIVS +- .flist = lists with a checkmark +- .note = highlight the background in light yellow +*/ +/* ================================================================== */ + +.blank { + height: 1.5em; +} + +.flist p { + display:inline; +} +.flist ul { + list-style: none; +} +.flist a#goto { + padding-right: 10px; + margin-left: -15px; +} +.flist a#goto #arrow{ + display:none; +} +.flist a#goto:hover #check { + display: none; +} +.flist a#goto:hover #arrow { + display: inline; +} +.tlist p { + display:inline; +} + +.note { + margin-top: 1.5em; + width: 95%; + margin-left:auto; + margin-right:auto; + background-color: aliceblue; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + margin-bottom: 1em; +} +.note .content { + padding: 10px; + padding-left: 12px; +} +.note .title{ + font-size: 105%; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + padding-left: 7px; + padding-top: 2px; + color: white; + background: cornflowerblue; +} + +.definition { + background-color: aliceblue; + border-left: 5px solid cornflowerblue; + border-radius: 10px; + padding: 10px; + margin-bottom: 1em; +} + +.important { + background-color: lemonchiffon; + padding: 0.5em; + margin-bottom: 1em; +} + +.silly-formatting { + width: 50%; + text-align: center; + color: magenta; + border: 1px solid black; +} + +.ccols { + margin-top:1.5em; + margin-bottom:1.5em; + margin-left:auto; + margin-right:auto; + width: 60%; + text-align: center;} +.ccols svg { + width:30px;} + +.lalign td { + text-align: left; +} +.lalign tr:first-of-type > td { + text-align: center; +} + +.lalignb td { + text-align: left; +} +.lalignb tr:first-of-type > td { + text-align: center; +} +.lalignb th:nth-child(1){ + width:100px; +} + +/* ================================================================== */ +/* Small additional divs */ +/* ================================================================== */ + +.small-img { + width: 50%; + margin-left: auto; + margin-right: auto; +} diff --git a/_libs/lunr/build_index.js b/_libs/lunr/build_index.js new file mode 100644 index 0000000..1e5b502 --- /dev/null +++ b/_libs/lunr/build_index.js @@ -0,0 +1,103 @@ +var path = require("path"); +var fs = require("fs"); +var lunr = require("lunr"); +var cheerio = require("cheerio"); + +// don't modify this, it'll be modified on the fly by lunr() in Franklin +const PATH_PREPEND = ".."; + +const HTML_FOLDER = "../../__site"; +const OUTPUT_INDEX = "lunr_index.js"; + +function isHtml(filename) { + lower = filename.toLowerCase(); + return (lower.endsWith(".htm") || lower.endsWith(".html")); +} + +function findHtml(folder) { + if (!fs.existsSync(folder)) { + console.log("Could not find folder: ", folder); + return; + } + var files = fs.readdirSync(folder); + var htmls = []; + for (var i = 0; i < files.length; i++) { + var filename = path.join(folder, files[i]); + var stat = fs.lstatSync(filename); + if (stat.isDirectory()) { + if (stat == "assets" || stat == "css" || stat == "libs" ) { + continue + } + var recursed = findHtml(filename); + for (var j = 0; j < recursed.length; j++) { + recursed[j] = path.join(files[i], recursed[j]).replace(/\\/g, "/"); + } + htmls.push.apply(htmls, recursed); + } + else if (isHtml(filename)){ + htmls.push(files[i]); + }; + }; + return htmls; +}; + +function readHtml(root, file, fileId) { + var filename = path.join(root, file); + var txt = fs.readFileSync(filename).toString(); + var $ = cheerio.load(txt); + var title = $("title").text(); + if (typeof title == 'undefined') title = file; + var body = $("body").text() + if (typeof body == 'undefined') body = ""; + + var data = { + "id": fileId, + "l": filename, + "t": title, + "b": body + } + return data; +} + +function buildIndex(docs) { + var idx = lunr(function () { + this.ref('id'); + this.field('t'); // title + this.field('b'); // body + docs.forEach(function (doc) { + this.add(doc); + }, this); + }); + return idx; +} + +function buildPreviews(docs) { + var result = {}; + for (var i = 0; i < docs.length; i++) { + var doc = docs[i]; + result[doc["id"]] = { + "t": doc["t"], + "l": doc["l"].replace(/^\.\.\/\.\.\/__site/gi, '/' + PATH_PREPEND) + } + } + return result; +} + +function main() { + files = findHtml(HTML_FOLDER); + var docs = []; + for (var i = 0; i < files.length; i++) { + docs.push(readHtml(HTML_FOLDER, files[i], i)); + } + var idx = buildIndex(docs); + var prev = buildPreviews(docs); + var js = "const LUNR_DATA = " + JSON.stringify(idx) + ";\n" + + "const PREVIEW_LOOKUP = " + JSON.stringify(prev) + ";"; + fs.writeFile(OUTPUT_INDEX, js, function(err) { + if(err) { + return console.log(err); + } + }); +} + +main(); diff --git a/_libs/lunr/lunr.min.js b/_libs/lunr/lunr.min.js new file mode 100644 index 0000000..fa6842a --- /dev/null +++ b/_libs/lunr/lunr.min.js @@ -0,0 +1 @@ +!function(){var t,l,c,e,r,h,d,f,p,y,m,g,x,v,w,Q,k,S,E,L,b,P,T,O,I,i,n,z=function(e){var t=new z.Builder;return t.pipeline.add(z.trimmer,z.stopWordFilter,z.stemmer),t.searchPipeline.add(z.stemmer),e.call(t,t),t.build()};function s(e){var t,r,i,n,s,o,a;if(e.length<3)return e;if("y"==(i=e.substr(0,1))&&(e=i.toUpperCase()+e.substr(1)),s=m,(n=y).test(e)?e=e.replace(n,"$1$2"):s.test(e)&&(e=e.replace(s,"$1$2")),s=x,(n=g).test(e)){var u=n.exec(e);(n=h).test(u[1])&&(n=v,e=e.replace(n,""))}else if(s.test(e)){t=(u=s.exec(e))[1],(s=p).test(t)&&(o=Q,a=k,(s=w).test(e=t)?e+="e":o.test(e)?(n=v,e=e.replace(n,"")):a.test(e)&&(e+="e"))}if((n=S).test(e)&&(e=(t=(u=n.exec(e))[1])+"i"),(n=E).test(e)&&(t=(u=n.exec(e))[1],r=u[2],(n=h).test(t)&&(e=t+l[r])),(n=L).test(e)&&(t=(u=n.exec(e))[1],r=u[2],(n=h).test(t)&&(e=t+c[r])),s=P,(n=b).test(e))t=(u=n.exec(e))[1],(n=d).test(t)&&(e=t);else if(s.test(e)){t=(u=s.exec(e))[1]+u[2],(s=d).test(t)&&(e=t)}return(n=T).test(e)&&(t=(u=n.exec(e))[1],s=f,o=I,((n=d).test(t)||s.test(t)&&!o.test(t))&&(e=t)),s=d,(n=O).test(e)&&s.test(e)&&(n=v,e=e.replace(n,"")),"y"==i&&(e=i.toLowerCase()+e.substr(1)),e}z.version="2.3.8",z.utils={},z.utils.warn=(t=this,function(e){t.console&&console.warn&&console.warn(e)}),z.utils.asString=function(e){return null==e?"":e.toString()},z.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i=this.length)return z.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},z.QueryLexer.prototype.width=function(){return this.pos-this.start},z.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},z.QueryLexer.prototype.backup=function(){--this.pos},z.QueryLexer.prototype.acceptDigitRun=function(){for(var e,t;47<(t=(e=this.next()).charCodeAt(0))&&t<58;);e!=z.QueryLexer.EOS&&this.backup()},z.QueryLexer.prototype.more=function(){return this.pos/,r:10,starts:{",{"_index":1670,"t":{},"b":{"15":{}}}],["6})/,sl:\"julia",{"_index":1671,"t":{},"b":{"15":{}}}],["6})/,sl:\"julia\"}},{cn:\"metas\",b:/^shell>/,r:10,starts:{",{"_index":1669,"t":{},"b":{"15":{}}}],["7",{"_index":1025,"t":{},"b":{"7":{}}}],["70",{"_index":1013,"t":{},"b":{"7":{}}}],["8",{"_index":941,"t":{},"b":{"6":{},"7":{},"13":{}}}],["8.125",{"_index":952,"t":{},"b":{"6":{}}}],["80",{"_index":1015,"t":{},"b":{"7":{}}}],["808080",{"_index":889,"t":{},"b":{"5":{}}}],["8918",{"_index":92,"t":{},"b":{"0":{}}}],["8px",{"_index":263,"t":{},"b":{"0":{}}}],["9019",{"_index":91,"t":{},"b":{"0":{}}}],["_!#1_",{"_index":1489,"t":{},"b":{"14":{}}}],["__dir__",{"_index":617,"t":{},"b":{"1":{}}}],["__site",{"_index":845,"t":{},"b":{"5":{},"18":{},"19":{}}}],["__site/[path/]index.html",{"_index":2004,"t":{},"b":{"19":{}}}],["__site/[path/]somepage/index.html",{"_index":2007,"t":{},"b":{"19":{}}}],["__site/assets/folder1/code/ex1.jl",{"_index":450,"t":{},"b":{"1":{}}}],["_asset",{"_index":1988,"t":{},"b":{"19":{}}}],["_average_",{"_index":500,"t":{},"b":{"1":{}}}],["_bold",{"_index":1597,"t":{},"b":{"15":{}}}],["_css",{"_index":1299,"t":{},"b":{"13":{},"19":{}}}],["_css/basic.css",{"_index":1304,"t":{},"b":{"13":{}}}],["_css/franklin.css",{"_index":1019,"t":{},"b":{"7":{}}}],["_css/jemdoc.css",{"_index":1305,"t":{},"b":{"13":{}}}],["_html_parts/head.html",{"_index":1302,"t":{},"b":{"13":{}}}],["_italic_",{"_index":1596,"t":{},"b":{"15":{}}}],["_layout",{"_index":1300,"t":{},"b":{"13":{},"19":{}}}],["_layout/*.html",{"_index":1779,"t":{},"b":{"16":{}}}],["_layout/foot.html",{"_index":2059,"t":{},"b":{"20":{}}}],["_layout/head.html",{"_index":871,"t":{},"b":{"5":{},"20":{}}}],["_layout/page_foot.html",{"_index":2058,"t":{},"b":{"20":{}}}],["_lib",{"_index":1989,"t":{},"b":{"19":{}}}],["_libs/highlight",{"_index":1652,"t":{},"b":{"15":{}}}],["_libs/lunr",{"_index":828,"t":{},"b":{"5":{}}}],["_libs/plotly/plotly.min.j",{"_index":926,"t":{},"b":{"6":{}}}],["_liter",{"_index":677,"t":{},"b":{"2":{}}}],["_string_n",{"_index":1078,"t":{},"b":{"8":{}}}],["a.fnref",{"_index":991,"t":{},"b":{"7":{}}}],["a:hov",{"_index":887,"t":{},"b":{"5":{}}}],["a](some/url",{"_index":1621,"t":{},"b":{"15":{}}}],["abov",{"_index":448,"t":{},"b":{"1":{},"2":{},"6":{},"8":{},"13":{},"14":{},"15":{},"16":{}}}],["abs(x",{"_index":714,"t":{},"b":{"2":{}}}],["accept",{"_index":1814,"t":{},"b":{"16":{},"19":{}}}],["access",{"_index":1773,"t":{},"b":{"16":{},"18":{}}}],["accordingli",{"_index":905,"t":{},"b":{"5":{}}}],["achiev",{"_index":1723,"t":{},"b":{"15":{}}}],["action",{"_index":1935,"t":{},"b":{"18":{},"19":{}}}],["activ",{"_index":523,"t":{},"b":{"1":{},"16":{}}}],["actual",{"_index":605,"t":{},"b":{"1":{}}}],["ad",{"_index":424,"t":{},"b":{"1":{},"3":{},"5":{},"6":{},"7":{},"15":{},"18":{}}}],["adapt",{"_index":192,"t":{},"b":{"0":{},"4":{},"5":{},"13":{}}}],["add",{"_index":327,"t":{"5":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"10":{},"12":{},"13":{},"14":{},"15":{},"16":{},"18":{},"19":{}}}],["addit",{"_index":1990,"t":{},"b":{"19":{},"20":{}}}],["address",{"_index":1987,"t":{},"b":{"19":{}}}],["adjust",{"_index":819,"t":{},"b":{"5":{},"7":{},"13":{}}}],["advantag",{"_index":194,"t":{},"b":{"0":{},"5":{},"10":{}}}],["afraid",{"_index":921,"t":{},"b":{"6":{}}}],["again",{"_index":606,"t":{},"b":{"1":{},"7":{},"14":{}}}],["agre",{"_index":1162,"t":{},"b":{"9":{}}}],["aim",{"_index":736,"t":{},"b":{"3":{},"9":{},"15":{}}}],["al",{"_index":1541,"t":{},"b":{"14":{}}}],["alia",{"_index":1900,"t":{},"b":{"16":{}}}],["aliceblu",{"_index":1490,"t":{},"b":{"14":{}}}],["align",{"_index":176,"t":{},"b":{"0":{},"7":{},"15":{}}}],["allow",{"_index":40,"t":{},"b":{"0":{},"2":{},"4":{},"5":{},"10":{},"14":{},"15":{},"16":{},"19":{}}}],["alreadi",{"_index":615,"t":{},"b":{"1":{},"3":{},"6":{},"13":{},"15":{}}}],["alt",{"_index":1043,"t":{},"b":{"7":{},"15":{}}}],["alt](full_path",{"_index":1711,"t":{},"b":{"15":{}}}],["alway",{"_index":1780,"t":{},"b":{"16":{}}}],["ambigu",{"_index":1499,"t":{},"b":{"14":{},"15":{},"16":{}}}],["american",{"_index":1201,"t":{},"b":{"9":{}}}],["analyt",{"_index":1316,"t":{},"b":{"13":{}}}],["anchor",{"_index":1510,"t":{},"b":{"14":{}}}],["anchor\">jemdoctopicscontacthome[1]xthi",{"_index":998,"t":{},"b":{"7":{}}}],["content\"nam",{"_index":1849,"t":{},"b":{"16":{}}}],["content.bibref",{"_index":1513,"t":{},"b":{"14":{}}}],["content.eqref",{"_index":1512,"t":{},"b":{"14":{}}}],["content=\"width=devic",{"_index":1344,"t":{},"b":{"13":{}}}],["contentfd_ctimedatetim",{"_index":1885,"t":{},"b":{"16":{}}}],["contentscodehighlightingevalu",{"_index":1574,"t":{},"b":{"15":{}}}],["contentsfnrefwrap",{"_index":1258,"t":{},"b":{"12":{}}}],["contentwrap",{"_index":1252,"t":{},"b":{"12":{}}}],["contour",{"_index":958,"t":{},"b":{"6":{}}}],["contrast",{"_index":1775,"t":{},"b":{"16":{}}}],["contribut",{"_index":1197,"t":{},"b":{"9":{}}}],["control",{"_index":1148,"t":{},"b":{"9":{},"15":{},"16":{},"20":{}}}],["conveni",{"_index":403,"t":{},"b":{"1":{},"2":{},"4":{},"6":{},"7":{},"15":{}}}],["convers",{"_index":1154,"t":{},"b":{"9":{},"20":{}}}],["convert",{"_index":669,"t":{},"b":{"2":{},"9":{},"12":{},"14":{}}}],["cool",{"_index":707,"t":{},"b":{"2":{},"14":{}}}],["copi",{"_index":827,"t":{},"b":{"5":{},"13":{},"16":{},"18":{},"19":{}}}],["coral",{"_index":137,"t":{},"b":{"0":{}}}],["cornflowerblu",{"_index":1491,"t":{},"b":{"14":{}}}],["correspond",{"_index":405,"t":{},"b":{"1":{},"14":{},"15":{},"16":{},"19":{},"20":{}}}],["cos(\\theta",{"_index":1478,"t":{},"b":{"14":{}}}],["couldn't",{"_index":977,"t":{},"b":{"7":{}}}],["counter",{"_index":1026,"t":{},"b":{"7":{}}}],["coupl",{"_index":39,"t":{},"b":{"0":{},"8":{},"10":{},"15":{},"18":{},"19":{}}}],["courier",{"_index":288,"t":{},"b":{"0":{}}}],["cours",{"_index":111,"t":{},"b":{"0":{},"1":{},"5":{},"9":{},"13":{},"15":{},"16":{},"20":{}}}],["crash",{"_index":1070,"t":{},"b":{"8":{}}}],["creat",{"_index":7,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["creation",{"_index":1886,"t":{},"b":{"16":{}}}],["crucial",{"_index":1957,"t":{},"b":{"18":{}}}],["css",{"_index":113,"t":{},"b":{"0":{},"6":{},"7":{},"10":{},"13":{},"14":{},"15":{},"19":{},"20":{}}}],["css.md",{"_index":2017,"t":{},"b":{"19":{}}}],["css_html_js_minifi",{"_index":1247,"t":{},"b":{"10":{}}}],["csv",{"_index":1731,"t":{},"b":{"15":{}}}],["ctrl+c",{"_index":1233,"t":{},"b":{"10":{},"19":{}}}],["ctrl>+c",{"_index":1065,"t":{},"b":{"8":{}}}],["current",{"_index":564,"t":{},"b":{"1":{},"10":{},"13":{},"14":{},"15":{},"16":{},"19":{}}}],["cursor",{"_index":298,"t":{},"b":{"0":{}}}],["custom",{"_index":1405,"t":{},"b":{"14":{},"15":{}}}],["customis",{"_index":1208,"t":{},"b":{"10":{},"15":{}}}],["cx=\"2",{"_index":126,"t":{},"b":{"0":{}}}],["cy=\"2",{"_index":127,"t":{},"b":{"0":{}}}],["dare",{"_index":1169,"t":{},"b":{"9":{}}}],["darkorang",{"_index":140,"t":{},"b":{"0":{}}}],["darth",{"_index":1864,"t":{},"b":{"16":{}}}],["darth.github.io",{"_index":1865,"t":{},"b":{"16":{}}}],["darth.github.io/vador",{"_index":1866,"t":{},"b":{"16":{}}}],["data",{"_index":108,"t":{},"b":{"0":{},"6":{}}}],["date",{"_index":1768,"t":{},"b":{"16":{}}}],["date)langstringjuliadefault",{"_index":1879,"t":{},"b":{"16":{}}}],["date_monthsvector{string}string[]nam",{"_index":1845,"t":{},"b":{"16":{}}}],["date_shortdaysvector{string}string[]short",{"_index":1844,"t":{},"b":{"16":{}}}],["date_shortmonthsvector{string}string[]short",{"_index":1847,"t":{},"b":{"16":{}}}],["dates.datelocal",{"_index":1858,"t":{},"b":{"16":{}}}],["dates.formatdate_daysvector{string}string[]nam",{"_index":1841,"t":{},"b":{"16":{}}}],["day",{"_index":1842,"t":{},"b":{"16":{}}}],["dd",{"_index":1837,"t":{},"b":{"16":{}}}],["dead",{"_index":2041,"t":{},"b":{"19":{}}}],["deal",{"_index":1056,"t":{},"b":{"8":{},"9":{},"15":{}}}],["decent",{"_index":1170,"t":{},"b":{"9":{}}}],["declar",{"_index":1526,"t":{},"b":{"14":{},"15":{},"19":{}}}],["decor",{"_index":886,"t":{},"b":{"5":{}}}],["dedic",{"_index":1802,"t":{},"b":{"16":{}}}],["deem",{"_index":1435,"t":{},"b":{"14":{}}}],["deeppink",{"_index":134,"t":{},"b":{"0":{}}}],["def",{"_index":390,"t":{},"b":{"1":{},"2":{},"5":{},"6":{},"15":{},"16":{},"19":{},"20":{}}}],["default",{"_index":398,"t":{},"b":{"1":{},"5":{},"6":{},"12":{},"13":{},"15":{},"16":{},"18":{},"19":{}}}],["defin",{"_index":150,"t":{},"b":{"0":{},"5":{},"6":{},"7":{},"9":{},"10":{},"12":{},"13":{},"14":{},"15":{},"16":{}}}],["defined{{isnotdef",{"_index":1809,"t":{},"b":{"16":{}}}],["definit",{"_index":304,"t":{},"b":{"0":{},"7":{},"9":{},"10":{},"12":{},"14":{},"15":{},"16":{},"19":{}}}],["definitionsfndef",{"_index":1260,"t":{},"b":{"12":{}}}],["definition{angl",{"_index":1470,"t":{},"b":{"14":{}}}],["degre",{"_index":72,"t":{},"b":{"0":{}}}],["denot",{"_index":1473,"t":{},"b":{"14":{},"16":{}}}],["depend",{"_index":589,"t":{},"b":{"1":{},"5":{},"10":{},"16":{},"19":{},"20":{}}}],["deploy",{"_index":11,"t":{"18":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["deriv",{"_index":760,"t":{},"b":{"4":{}}}],["descript",{"_index":1909,"t":{},"b":{"16":{}}}],["design",{"_index":222,"t":{},"b":{"0":{}}}],["desir",{"_index":972,"t":{},"b":{"6":{}}}],["desktop/mywebsite/project.toml",{"_index":535,"t":{},"b":{"1":{}}}],["detail",{"_index":118,"t":{},"b":{"0":{},"12":{},"19":{}}}],["detect",{"_index":1833,"t":{},"b":{"16":{}}}],["dev",{"_index":1136,"t":{},"b":{"9":{},"13":{},"18":{}}}],["dfrac",{"_index":1689,"t":{},"b":{"15":{}}}],["dfrac{1",{"_index":1691,"t":{},"b":{"15":{}}}],["didn't",{"_index":1117,"t":{},"b":{"9":{}}}],["differ",{"_index":188,"t":{},"b":{"0":{},"5":{},"9":{},"14":{},"15":{},"16":{},"18":{}}}],["dir",{"_index":457,"t":{},"b":{"1":{},"15":{}}}],["directli",{"_index":1295,"t":{},"b":{"13":{},"15":{}}}],["director",{"_index":220,"t":{},"b":{"0":{}}}],["directori",{"_index":613,"t":{},"b":{"1":{},"5":{},"10":{},"15":{},"16":{},"19":{}}}],["disabl",{"_index":983,"t":{},"b":{"7":{}}}],["discard",{"_index":829,"t":{},"b":{"5":{}}}],["discourag",{"_index":1702,"t":{},"b":{"15":{}}}],["discoveri",{"_index":1198,"t":{},"b":{"9":{}}}],["discuss",{"_index":1708,"t":{},"b":{"15":{}}}],["display",{"_index":156,"t":{},"b":{"0":{},"1":{},"2":{},"5":{},"6":{},"7":{},"14":{},"15":{}}}],["display::aft",{"_index":1017,"t":{},"b":{"7":{}}}],["display:block",{"_index":268,"t":{},"b":{"0":{}}}],["distinct",{"_index":1417,"t":{},"b":{"14":{}}}],["div",{"_index":14,"t":{"14":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["div_cont",{"_index":1263,"t":{},"b":{"12":{},"20":{}}}],["div_contentstring\"franklin",{"_index":1848,"t":{},"b":{"16":{}}}],["divnam",{"_index":1249,"t":{},"b":{"12":{},"14":{},"15":{}}}],["dna",{"_index":1199,"t":{},"b":{"9":{}}}],["do",{"_index":195,"t":{},"b":{"0":{},"4":{},"5":{},"8":{},"9":{},"13":{}}}],["doc",{"_index":857,"t":{},"b":{"5":{},"15":{},"18":{}}}],["docs.

\\n",{"_index":1588,"t":{},"b":{"15":{}}}],["docs](http://example.com",{"_index":1584,"t":{},"b":{"15":{}}}],["doctyp",{"_index":872,"t":{},"b":{"5":{},"13":{},"20":{}}}],["document",{"_index":1432,"t":{},"b":{"14":{}}}],["document.getelementbyid('test",{"_index":939,"t":{},"b":{"6":{}}}],["documenter.jl'",{"_index":859,"t":{},"b":{"5":{}}}],["documenter=fals",{"_index":779,"t":{},"b":{"4":{}}}],["doe",{"_index":205,"t":{},"b":{"0":{}}}],["doesn't",{"_index":566,"t":{},"b":{"1":{},"15":{}}}],["dollar",{"_index":1632,"t":{},"b":{"15":{}}}],["don't",{"_index":399,"t":{},"b":{"1":{},"3":{},"7":{},"13":{},"15":{},"16":{},"18":{},"19":{}}}],["donald",{"_index":1034,"t":{},"b":{"7":{}}}],["done",{"_index":421,"t":{},"b":{"1":{},"3":{},"5":{},"13":{},"15":{},"18":{}}}],["dot(a",{"_index":470,"t":{},"b":{"1":{}}}],["dots.png",{"_index":1610,"t":{},"b":{"15":{}}}],["doubl",{"_index":374,"t":{},"b":{"1":{},"14":{},"15":{}}}],["down",{"_index":1235,"t":{},"b":{"10":{},"19":{}}}],["download",{"_index":753,"t":{},"b":{"4":{},"6":{}}}],["due",{"_index":1628,"t":{},"b":{"15":{}}}],["e",{"_index":794,"t":{},"b":{"4":{}}}],["e.g",{"_index":663,"t":{},"b":{"1":{},"6":{},"15":{},"16":{},"18":{}}}],["each",{"_index":159,"t":{},"b":{"0":{},"2":{}}}],["earlier",{"_index":588,"t":{},"b":{"1":{},"5":{},"14":{}}}],["easi",{"_index":353,"t":{},"b":{"1":{},"4":{},"9":{},"10":{}}}],["easier",{"_index":202,"t":{},"b":{"0":{},"9":{},"12":{}}}],["easiest",{"_index":1978,"t":{},"b":{"19":{}}}],["easili",{"_index":769,"t":{},"b":{"4":{},"5":{},"7":{},"14":{}}}],["edelman",{"_index":1544,"t":{},"b":{"14":{}}}],["edit",{"_index":8,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["editor",{"_index":1238,"t":{},"b":{"10":{},"15":{},"18":{}}}],["effect",{"_index":105,"t":{},"b":{"0":{},"1":{},"13":{},"16":{}}}],["effici",{"_index":1167,"t":{},"b":{"9":{}}}],["eget",{"_index":209,"t":{},"b":{"0":{}}}],["element",{"_index":681,"t":{},"b":{"2":{},"5":{},"9":{},"13":{},"14":{},"16":{}}}],["elseif",{"_index":1798,"t":{},"b":{"16":{}}}],["elsewher",{"_index":1993,"t":{},"b":{"19":{}}}],["email",{"_index":231,"t":{},"b":{"0":{}}}],["email=\"example@example.com",{"_index":242,"t":{},"b":{"0":{}}}],["empti",{"_index":1931,"t":{},"b":{"18":{},"20":{}}}],["encount",{"_index":1055,"t":{},"b":{"8":{}}}],["end",{"_index":252,"t":{},"b":{"0":{},"1":{},"2":{},"4":{},"6":{},"7":{},"9":{},"13":{},"14":{},"16":{},"18":{}}}],["end{align",{"_index":1698,"t":{},"b":{"15":{}}}],["end{array",{"_index":1700,"t":{},"b":{"15":{}}}],["end{eqnarray",{"_index":1696,"t":{},"b":{"15":{}}}],["english",{"_index":1195,"t":{},"b":{"9":{},"16":{}}}],["englob",{"_index":1850,"t":{},"b":{"16":{}}}],["enim",{"_index":210,"t":{},"b":{"0":{}}}],["enough",{"_index":1375,"t":{},"b":{"13":{}}}],["ensur",{"_index":604,"t":{},"b":{"1":{},"5":{},"15":{},"19":{}}}],["enter",{"_index":849,"t":{},"b":{"5":{}}}],["entir",{"_index":518,"t":{},"b":{"1":{},"7":{}}}],["entiti",{"_index":1630,"t":{},"b":{"15":{}}}],["entitiest",{"_index":1573,"t":{},"b":{"15":{}}}],["entri",{"_index":1667,"t":{},"b":{"15":{}}}],["environ",{"_index":522,"t":{},"b":{"1":{},"6":{},"10":{},"12":{},"14":{},"15":{}}}],["ep",{"_index":715,"t":{},"b":{"2":{}}}],["eps()tru",{"_index":726,"t":{},"b":{"2":{}}}],["eqnarray",{"_index":1701,"t":{},"b":{"15":{}}}],["eqref",{"_index":1514,"t":{},"b":{"14":{}}}],["eqref{a",{"_index":1522,"t":{},"b":{"14":{}}}],["eqref{som",{"_index":1520,"t":{},"b":{"14":{}}}],["equat",{"_index":717,"t":{},"b":{"2":{},"7":{},"14":{}}}],["equip",{"_index":816,"t":{},"b":{"5":{}}}],["equival",{"_index":1729,"t":{},"b":{"15":{}}}],["eras",{"_index":2027,"t":{},"b":{"19":{}}}],["error",{"_index":573,"t":{},"b":{"1":{},"8":{}}}],["escap",{"_index":1634,"t":{},"b":{"15":{}}}],["especi",{"_index":1925,"t":{},"b":{"18":{}}}],["essenti",{"_index":1776,"t":{},"b":{"16":{},"19":{},"20":{}}}],["et",{"_index":1540,"t":{},"b":{"14":{}}}],["etc",{"_index":110,"t":{},"b":{"0":{},"1":{},"4":{},"5":{},"9":{},"13":{},"14":{},"15":{},"19":{},"20":{}}}],["eu",{"_index":211,"t":{},"b":{"0":{}}}],["eval_all=fals",{"_index":2037,"t":{},"b":{"19":{}}}],["evalu",{"_index":2,"t":{"0":{},"1":{}},"b":{"0":{},"1":{},"2":{},"9":{},"10":{},"15":{},"16":{},"19":{}}}],["evaluationrss",{"_index":1764,"t":{},"b":{"16":{}}}],["even",{"_index":434,"t":{},"b":{"1":{}}}],["eventu",{"_index":869,"t":{},"b":{"5":{}}}],["everyth",{"_index":560,"t":{},"b":{"1":{},"13":{},"14":{}}}],["exact",{"_index":443,"t":{},"b":{"1":{},"19":{}}}],["exactli",{"_index":475,"t":{},"b":{"1":{}}}],["exampl",{"_index":68,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"8":{},"10":{},"12":{},"14":{},"15":{},"16":{},"18":{}}}],["example@example.com",{"_index":215,"t":{},"b":{"0":{}}}],["examplesnest",{"_index":1409,"t":{},"b":{"14":{}}}],["examplestext",{"_index":1408,"t":{},"b":{"14":{}}}],["exampleswhitespacesdefin",{"_index":1410,"t":{},"b":{"14":{}}}],["excel",{"_index":1378,"t":{},"b":{"13":{}}}],["exclam",{"_index":1607,"t":{},"b":{"15":{}}}],["execut",{"_index":99,"t":{},"b":{"0":{},"1":{}}}],["execute=fals",{"_index":778,"t":{},"b":{"4":{}}}],["exist",{"_index":1291,"t":{},"b":{"13":{},"14":{},"15":{}}}],["exp(i\\pi",{"_index":709,"t":{},"b":{"2":{},"14":{}}}],["exp(i\\pi)+1",{"_index":1695,"t":{},"b":{"15":{}}}],["exp(im",{"_index":711,"t":{},"b":{"2":{}}}],["expect",{"_index":672,"t":{},"b":{"2":{},"5":{},"16":{}}}],["experi",{"_index":912,"t":{},"b":{"5":{},"15":{}}}],["experimentingbasicsheaderstext",{"_index":1571,"t":{},"b":{"15":{}}}],["explain",{"_index":1936,"t":{},"b":{"18":{}}}],["explan",{"_index":119,"t":{},"b":{"0":{},"3":{}}}],["explicitli",{"_index":587,"t":{},"b":{"1":{},"15":{}}}],["exploit",{"_index":50,"t":{},"b":{"0":{}}}],["explor",{"_index":1582,"t":{},"b":{"15":{}}}],["export",{"_index":907,"t":{},"b":{"5":{},"6":{},"19":{}}}],["ext",{"_index":652,"t":{},"b":{"1":{}}}],["extend",{"_index":744,"t":{},"b":{"3":{},"9":{}}}],["extens",{"_index":1130,"t":{},"b":{"9":{},"15":{}}}],["extern",{"_index":2044,"t":{},"b":{"19":{}}}],["extra",{"_index":23,"t":{"3":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["f",{"_index":1943,"t":{},"b":{"18":{}}}],["f(s)\\psi(s)\\mathrm{d}",{"_index":1448,"t":{},"b":{"14":{},"15":{}}}],["f,\\psi",{"_index":1452,"t":{},"b":{"14":{}}}],["f:\\mathbb",{"_index":1441,"t":{},"b":{"14":{}}}],["f:\\r\\to\\r",{"_index":1440,"t":{},"b":{"14":{}}}],["fact",{"_index":51,"t":{},"b":{"0":{},"9":{},"12":{},"14":{},"15":{}}}],["fail",{"_index":1095,"t":{},"b":{"8":{}}}],["fairli",{"_index":731,"t":{},"b":{"3":{},"4":{},"5":{},"8":{},"9":{},"13":{},"16":{}}}],["fals",{"_index":929,"t":{},"b":{"6":{},"15":{},"16":{}}}],["famili",{"_index":287,"t":{},"b":{"0":{}}}],["familiar",{"_index":1589,"t":{},"b":{"15":{}}}],["fancier",{"_index":854,"t":{},"b":{"5":{}}}],["faq",{"_index":29,"t":{"7":{},"8":{},"9":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["fast",{"_index":1212,"t":{},"b":{"10":{}}}],["faster",{"_index":2046,"t":{},"b":{"19":{}}}],["father",{"_index":1203,"t":{},"b":{"9":{}}}],["faucibu",{"_index":213,"t":{},"b":{"0":{}}}],["fd2html",{"_index":1583,"t":{},"b":{"15":{}}}],["fd_",{"_index":1871,"t":{},"b":{"16":{}}}],["fd_mtime",{"_index":1398,"t":{},"b":{"13":{}}}],["fdplotli",{"_index":965,"t":{},"b":{"6":{}}}],["fdplotly(json(plt",{"_index":963,"t":{},"b":{"6":{}}}],["featur",{"_index":1213,"t":{},"b":{"10":{}}}],["februari",{"_index":727,"t":{},"b":{"2":{},"3":{},"4":{},"5":{},"9":{},"11":{}}}],["feed",{"_index":1907,"t":{},"b":{"16":{}}}],["feel",{"_index":740,"t":{},"b":{"3":{},"7":{},"9":{}}}],["fenc",{"_index":332,"t":{},"b":{"0":{},"1":{},"15":{},"16":{}}}],["few",{"_index":67,"t":{},"b":{"0":{},"1":{},"2":{},"5":{},"9":{},"13":{},"15":{},"16":{},"18":{},"19":{}}}],["fig",{"_index":565,"t":{},"b":{"1":{}}}],["figalt{alt}{path",{"_index":1709,"t":{},"b":{"15":{}}}],["figur",{"_index":569,"t":{},"b":{"1":{},"15":{}}}],["figure(figsize=(8",{"_index":549,"t":{},"b":{"1":{}}}],["figureinsert",{"_index":1580,"t":{},"b":{"15":{}}}],["fig{./output/test",{"_index":1718,"t":{},"b":{"15":{}}}],["fig{./test",{"_index":1719,"t":{},"b":{"15":{}}}],["fig{path",{"_index":1710,"t":{},"b":{"15":{}}}],["fig{sinc",{"_index":557,"t":{},"b":{"1":{}}}],["file",{"_index":109,"t":{"4":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"8":{},"10":{},"13":{},"14":{},"15":{},"16":{},"18":{},"19":{},"20":{}}}],["file(",{"_index":904,"t":{},"b":{"5":{}}}],["file.md",{"_index":2056,"t":{},"b":{"20":{}}}],["filefd_mtimedatetim",{"_index":1887,"t":{},"b":{"16":{}}}],["filefd_rpathstringrel",{"_index":1888,"t":{},"b":{"16":{}}}],["filenam",{"_index":2001,"t":{},"b":{"19":{}}}],["filesmak",{"_index":1284,"t":{},"b":{"13":{}}}],["fill",{"_index":154,"t":{},"b":{"0":{},"13":{},"16":{}}}],["fill=\"#1\"/>#1angelachristinedonaldshinzomenu",{"_index":1328,"t":{},"b":{"13":{}}}],["href=\"/menu1/#fndef:1",{"_index":989,"t":{},"b":{"7":{}}}],["href=\"/menu1/#fnref:blah\">[2]menu",{"_index":1330,"t":{},"b":{"13":{}}}],["href=\"/menu3/\">menu",{"_index":1332,"t":{},"b":{"13":{}}}],["href=\"http://example.com\">th",{"_index":1587,"t":{},"b":{"15":{}}}],["href=\"http://jemdoc.jaboc.net/\">jemdocfranklin.jldot(a",{"_index":479,"t":{},"b":{"1":{}}}],["julia'",{"_index":1840,"t":{},"b":{"16":{}}}],["julia)mor",{"_index":359,"t":{},"b":{"1":{}}}],["julia:!#1",{"_index":334,"t":{},"b":{"0":{}}}],["julia:./code/ex1",{"_index":437,"t":{},"b":{"1":{}}}],["julia:./code_pg1/ex1",{"_index":467,"t":{},"b":{"1":{}}}],["julia:./code_pg1/ex2",{"_index":490,"t":{},"b":{"1":{}}}],["julia:./ex",{"_index":1032,"t":{},"b":{"7":{}}}],["julia:./ex1",{"_index":1715,"t":{},"b":{"15":{}}}],["julia:./tableinput/gen",{"_index":1733,"t":{},"b":{"15":{}}}],["julia:circl",{"_index":130,"t":{},"b":{"0":{}}}],["julia:ex1",{"_index":945,"t":{},"b":{"6":{}}}],["julia:ex_show",{"_index":508,"t":{},"b":{"1":{}}}],["julia:path/to/script",{"_index":427,"t":{},"b":{"1":{}}}],["julia:pyplot1",{"_index":548,"t":{},"b":{"1":{}}}],["julia:snippet1",{"_index":1673,"t":{},"b":{"15":{}}}],["julia:t",{"_index":78,"t":{},"b":{"0":{}}}],["julia:teamcard",{"_index":237,"t":{},"b":{"0":{}}}],["juliaslack",{"_index":1964,"t":{},"b":{"18":{}}}],["juno",{"_index":1066,"t":{},"b":{"8":{}}}],["junoiostream",{"_index":1061,"t":{},"b":{"8":{}}}],["jupyt",{"_index":670,"t":{},"b":{"2":{}}}],["k",{"_index":1429,"t":{},"b":{"14":{}}}],["karpinski",{"_index":1545,"t":{},"b":{"14":{}}}],["katex",{"_index":1016,"t":{},"b":{"7":{},"10":{},"15":{},"16":{},"19":{}}}],["keep",{"_index":597,"t":{},"b":{"1":{},"15":{},"16":{}}}],["key",{"_index":758,"t":{},"b":{"4":{},"10":{},"18":{}}}],["keygen",{"_index":1941,"t":{},"b":{"18":{}}}],["keyword",{"_index":803,"t":{},"b":{"4":{},"5":{},"6":{},"19":{}}}],["kill",{"_index":1093,"t":{},"b":{"8":{}}}],["kindli",{"_index":1188,"t":{},"b":{"9":{}}}],["know",{"_index":1183,"t":{},"b":{"9":{},"12":{}}}],["known",{"_index":1054,"t":{},"b":{"8":{}}}],["korper",{"_index":1534,"t":{},"b":{"14":{}}}],["label",{"_index":1518,"t":{},"b":{"14":{}}}],["label{a",{"_index":1521,"t":{},"b":{"14":{}}}],["label{nam",{"_index":1561,"t":{},"b":{"14":{}}}],["label{som",{"_index":1519,"t":{},"b":{"14":{}}}],["lack",{"_index":1139,"t":{},"b":{"9":{}}}],["land",{"_index":1996,"t":{},"b":{"19":{}}}],["lang",{"_index":396,"t":{},"b":{"1":{},"15":{},"16":{}}}],["lang=\"en",{"_index":1341,"t":{},"b":{"13":{}}}],["languag",{"_index":379,"t":{},"b":{"1":{},"15":{},"16":{}}}],["language)insert",{"_index":363,"t":{},"b":{"1":{}}}],["last",{"_index":165,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["latex",{"_index":1153,"t":{},"b":{"9":{},"10":{},"14":{},"15":{}}}],["latter",{"_index":1098,"t":{},"b":{"8":{},"15":{}}}],["launch",{"_index":2024,"t":{},"b":{"19":{}}}],["layout",{"_index":186,"t":{},"b":{"0":{},"6":{},"13":{},"15":{},"19":{},"20":{}}}],["layout.md",{"_index":2018,"t":{},"b":{"19":{}}}],["le",{"_index":1461,"t":{},"b":{"14":{}}}],["lead",{"_index":1482,"t":{},"b":{"14":{},"19":{}}}],["learn",{"_index":1172,"t":{},"b":{"9":{}}}],["leav",{"_index":1389,"t":{},"b":{"13":{}}}],["lectu",{"_index":212,"t":{},"b":{"0":{}}}],["left",{"_index":1008,"t":{},"b":{"7":{},"13":{},"14":{},"16":{},"20":{}}}],["left:0",{"_index":277,"t":{},"b":{"0":{}}}],["left:auto",{"_index":171,"t":{},"b":{"0":{}}}],["left\\langl",{"_index":1451,"t":{},"b":{"14":{}}}],["lego",{"_index":2054,"t":{},"b":{"20":{}}}],["lemonchiffon",{"_index":1415,"t":{},"b":{"14":{}}}],["len(x",{"_index":322,"t":{},"b":{"0":{}}}],["length",{"_index":1754,"t":{},"b":{"15":{}}}],["length=500",{"_index":551,"t":{},"b":{"1":{}}}],["less",{"_index":70,"t":{},"b":{"0":{},"16":{}}}],["let'",{"_index":446,"t":{},"b":{"1":{},"13":{},"18":{}}}],["letter",{"_index":1425,"t":{},"b":{"14":{}}}],["level",{"_index":1381,"t":{},"b":{"13":{},"15":{},"16":{},"19":{},"20":{}}}],["li",{"_index":1641,"t":{},"b":{"15":{},"16":{}}}],["librari",{"_index":737,"t":{},"b":{"3":{},"5":{},"6":{},"10":{},"19":{}}}],["libuv",{"_index":1107,"t":{},"b":{"8":{}}}],["license.md",{"_index":2022,"t":{},"b":{"19":{}}}],["lienart",{"_index":346,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["light",{"_index":1211,"t":{},"b":{"10":{},"14":{}}}],["lightgray",{"_index":1011,"t":{},"b":{"7":{}}}],["lightpink",{"_index":132,"t":{},"b":{"0":{}}}],["like",{"_index":1132,"t":{},"b":{"9":{}}}],["limit",{"_index":1629,"t":{},"b":{"15":{}}}],["line",{"_index":100,"t":{},"b":{"0":{},"1":{},"2":{},"5":{},"15":{},"16":{},"18":{},"19":{}}}],["linearalgebra",{"_index":468,"t":{},"b":{"1":{},"15":{}}}],["linesproject.tomlplotstroubleshootingofflin",{"_index":362,"t":{},"b":{"1":{}}}],["link",{"_index":798,"t":{},"b":{"4":{},"5":{},"13":{},"14":{},"15":{},"16":{},"19":{}}}],["link(",{"_index":1557,"t":{},"b":{"14":{}}}],["link](https:://www.wikipedia.org",{"_index":1602,"t":{},"b":{"15":{}}}],["link][reflink",{"_index":1603,"t":{},"b":{"15":{}}}],["linkspr",{"_index":1976,"t":{},"b":{"19":{}}}],["list",{"_index":747,"t":{},"b":{"3":{},"15":{},"16":{},"19":{}}}],["listen",{"_index":1231,"t":{},"b":{"10":{},"19":{}}}],["liter",{"_index":27,"t":{"4":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["literate.jl",{"_index":22,"t":{"2":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["literate.md",{"_index":2019,"t":{},"b":{"19":{}}}],["literate.notebook",{"_index":780,"t":{},"b":{"4":{}}}],["literate.notebook(script",{"_index":777,"t":{},"b":{"4":{}}}],["literate{/_literate/script.jl",{"_index":671,"t":{},"b":{"2":{}}}],["littl",{"_index":814,"t":{},"b":{"5":{},"13":{}}}],["live",{"_index":408,"t":{},"b":{"1":{},"4":{},"6":{},"8":{},"9":{},"10":{},"19":{}}}],["liveserv",{"_index":1230,"t":{},"b":{"10":{},"19":{}}}],["liveserver.jl",{"_index":1096,"t":{},"b":{"8":{}}}],["load",{"_index":934,"t":{},"b":{"6":{},"10":{},"13":{},"19":{}}}],["local",{"_index":395,"t":{},"b":{"1":{},"5":{},"14":{},"15":{},"16":{},"18":{},"19":{}}}],["logo",{"_index":1609,"t":{},"b":{"15":{}}}],["long",{"_index":419,"t":{},"b":{"1":{},"14":{}}}],["look",{"_index":481,"t":{},"b":{"1":{},"2":{},"13":{},"14":{},"15":{},"18":{},"19":{},"20":{}}}],["loop",{"_index":157,"t":{},"b":{"0":{},"7":{},"16":{}}}],["loopsglob",{"_index":1760,"t":{},"b":{"16":{}}}],["lot",{"_index":1134,"t":{},"b":{"9":{},"13":{},"14":{}}}],["lower",{"_index":1426,"t":{},"b":{"14":{}}}],["lowercase(name)).jpg",{"_index":1037,"t":{},"b":{"7":{}}}],["lunr",{"_index":25,"t":{"5":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["lunr(prepath",{"_index":915,"t":{},"b":{"5":{}}}],["lunr.j",{"_index":748,"t":{},"b":{"3":{},"5":{}}}],["lunr.min.j",{"_index":839,"t":{},"b":{"5":{}}}],["lunr_index.j",{"_index":830,"t":{},"b":{"5":{}}}],["lunrclient",{"_index":903,"t":{},"b":{"5":{}}}],["lunrclient.j",{"_index":821,"t":{},"b":{"5":{}}}],["lunrsearchform",{"_index":893,"t":{},"b":{"5":{}}}],["machin",{"_index":1939,"t":{},"b":{"18":{}}}],["machineri",{"_index":542,"t":{},"b":{"1":{}}}],["macro",{"_index":1714,"t":{},"b":{"15":{}}}],["made",{"_index":1424,"t":{},"b":{"14":{}}}],["main",{"_index":1303,"t":{},"b":{"13":{}}}],["mainli",{"_index":1436,"t":{},"b":{"14":{}}}],["maintain",{"_index":203,"t":{},"b":{"0":{},"2":{},"9":{},"12":{},"14":{}}}],["make",{"_index":199,"t":{},"b":{"0":{},"1":{},"3":{},"5":{},"7":{},"9":{},"12":{},"13":{},"14":{},"15":{},"16":{},"18":{},"19":{},"20":{}}}],["mandatori",{"_index":1980,"t":{},"b":{"19":{}}}],["mani",{"_index":1158,"t":{},"b":{"9":{}}}],["manifest.toml",{"_index":2023,"t":{},"b":{"19":{}}}],["manipul",{"_index":768,"t":{},"b":{"4":{}}}],["manual",{"_index":729,"t":{},"b":{"3":{},"5":{}}}],["march",{"_index":974,"t":{},"b":{"6":{}}}],["margin",{"_index":168,"t":{},"b":{"0":{},"5":{},"6":{},"7":{},"13":{},"14":{}}}],["maria",{"_index":83,"t":{},"b":{"0":{}}}],["mark",{"_index":370,"t":{},"b":{"1":{},"15":{}}}],["markdow",{"_index":58,"t":{},"b":{"0":{}}}],["markdown",{"_index":13,"t":{"15":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["markdowninsert",{"_index":1581,"t":{},"b":{"15":{}}}],["master",{"_index":796,"t":{},"b":{"4":{},"18":{}}}],["match",{"_index":818,"t":{},"b":{"5":{},"15":{},"16":{},"19":{}}}],["math",{"_index":708,"t":{},"b":{"2":{},"7":{},"9":{},"10":{},"14":{},"15":{},"16":{},"19":{}}}],["mathbb",{"_index":1483,"t":{},"b":{"14":{}}}],["mathcal",{"_index":1445,"t":{},"b":{"14":{},"15":{}}}],["mathjax",{"_index":1131,"t":{},"b":{"9":{}}}],["mathsalign",{"_index":1576,"t":{},"b":{"15":{}}}],["mathsraw",{"_index":1577,"t":{},"b":{"15":{}}}],["mattingley'",{"_index":1124,"t":{},"b":{"9":{}}}],["matur",{"_index":1120,"t":{},"b":{"9":{}}}],["max",{"_index":265,"t":{},"b":{"0":{}}}],["maximum",{"_index":1643,"t":{},"b":{"15":{}}}],["maxtoclevel=3",{"_index":1645,"t":{},"b":{"15":{}}}],["md",{"_index":1730,"t":{},"b":{"15":{}}}],["mean",{"_index":660,"t":{},"b":{"1":{},"14":{},"15":{},"20":{}}}],["mean(temps))°c",{"_index":502,"t":{},"b":{"1":{}}}],["meant",{"_index":739,"t":{},"b":{"3":{},"9":{},"16":{},"19":{}}}],["media",{"_index":264,"t":{},"b":{"0":{}}}],["mediumvioletr",{"_index":135,"t":{},"b":{"0":{}}}],["mention",{"_index":858,"t":{},"b":{"5":{},"8":{},"13":{},"19":{}}}],["menu",{"_index":3,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["menu1.md",{"_index":1240,"t":{},"b":{"10":{}}}],["menu3",{"_index":2043,"t":{},"b":{"19":{}}}],["messag",{"_index":2035,"t":{},"b":{"19":{}}}],["meta",{"_index":32,"t":{"9":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["mike",{"_index":217,"t":{},"b":{"0":{}}}],["mind",{"_index":1683,"t":{},"b":{"15":{},"19":{}}}],["minierror",{"_index":1087,"t":{},"b":{"8":{}}}],["minif",{"_index":1242,"t":{},"b":{"10":{}}}],["minifi",{"_index":832,"t":{},"b":{"5":{},"19":{}}}],["minimum",{"_index":1642,"t":{},"b":{"15":{}}}],["minji",{"_index":86,"t":{},"b":{"0":{}}}],["mintoclevel=2",{"_index":1644,"t":{},"b":{"15":{}}}],["mintoclevelint1minimum",{"_index":1882,"t":{},"b":{"16":{}}}],["minut",{"_index":1960,"t":{},"b":{"18":{},"19":{}}}],["mirror",{"_index":1910,"t":{},"b":{"16":{}}}],["mkpath(nbpath",{"_index":775,"t":{},"b":{"4":{}}}],["mlj",{"_index":540,"t":{},"b":{"1":{},"2":{}}}],["mljtutori",{"_index":756,"t":{},"b":{"4":{}}}],["mode",{"_index":678,"t":{},"b":{"2":{},"7":{},"14":{},"15":{},"16":{}}}],["mode?codehow",{"_index":984,"t":{},"b":{"7":{}}}],["modif",{"_index":1217,"t":{},"b":{"10":{},"13":{},"16":{},"19":{}}}],["modifi",{"_index":347,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["modular",{"_index":2060,"t":{},"b":{"20":{}}}],["month",{"_index":1846,"t":{},"b":{"16":{}}}],["more",{"_index":69,"t":{},"b":{"0":{},"1":{},"2":{},"7":{},"10":{},"12":{},"13":{},"14":{},"15":{},"16":{},"18":{},"19":{},"20":{}}}],["mostli",{"_index":1143,"t":{},"b":{"9":{},"16":{}}}],["much",{"_index":1125,"t":{},"b":{"9":{},"12":{},"13":{},"15":{}}}],["multipl",{"_index":189,"t":{},"b":{"0":{},"1":{},"14":{},"15":{},"16":{}}}],["multitud",{"_index":1115,"t":{},"b":{"9":{}}}],["mypage.md",{"_index":1254,"t":{},"b":{"12":{}}}],["mysit",{"_index":1228,"t":{},"b":{"10":{}}}],["mysteri",{"_index":1104,"t":{},"b":{"8":{}}}],["mywebsit",{"_index":533,"t":{},"b":{"1":{},"6":{},"18":{}}}],["n",{"_index":1942,"t":{},"b":{"18":{}}}],["nalign{3+3",{"_index":1030,"t":{},"b":{"7":{}}}],["name",{"_index":80,"t":{},"b":{"0":{},"1":{},"6":{},"7":{},"9":{},"12":{},"13":{},"14":{},"15":{},"16":{},"18":{},"19":{},"20":{}}}],["name=\"jan",{"_index":238,"t":{},"b":{"0":{}}}],["name=\"john",{"_index":246,"t":{},"b":{"0":{}}}],["name=\"lunrsearchform",{"_index":878,"t":{},"b":{"5":{}}}],["name=\"mik",{"_index":243,"t":{},"b":{"0":{}}}],["name=\"q",{"_index":880,"t":{},"b":{"5":{}}}],["name=\"viewport",{"_index":1343,"t":{},"b":{"13":{}}}],["name](some/url",{"_index":1623,"t":{},"b":{"15":{}}}],["name][1",{"_index":1619,"t":{},"b":{"15":{}}}],["name][link",{"_index":1615,"t":{},"b":{"15":{}}}],["namedefault",{"_index":1901,"t":{},"b":{"16":{}}}],["namefunctionfranklin",{"_index":1251,"t":{},"b":{"12":{}}}],["namenumbertaimur1525catherine5134maria4214arvind9019jose8918minjie5757",{"_index":76,"t":{},"b":{"0":{}}}],["namesedit",{"_index":1973,"t":{},"b":{"19":{}}}],["nametype(s)default",{"_index":1829,"t":{},"b":{"16":{}}}],["nametypedefault",{"_index":1872,"t":{},"b":{"16":{}}}],["narrow",{"_index":1373,"t":{},"b":{"13":{}}}],["natur",{"_index":38,"t":{},"b":{"0":{}}}],["navbar",{"_index":1365,"t":{},"b":{"13":{}}}],["navig",{"_index":1236,"t":{},"b":{"10":{},"16":{},"19":{}}}],["nbpath",{"_index":772,"t":{},"b":{"4":{}}}],["neat",{"_index":41,"t":{},"b":{"0":{},"5":{},"9":{}}}],["need",{"_index":257,"t":{},"b":{"0":{},"5":{},"10":{},"13":{},"15":{},"16":{},"18":{},"19":{}}}],["nest",{"_index":1416,"t":{},"b":{"14":{},"15":{}}}],["netlifi",{"_index":1921,"t":{},"b":{"18":{}}}],["never",{"_index":1151,"t":{},"b":{"9":{}}}],["new",{"_index":486,"t":{},"b":{"1":{},"13":{},"16":{},"18":{},"19":{}}}],["newcommand",{"_index":1494,"t":{},"b":{"14":{}}}],["newcommand{\\anorm}[1]{\\norm{#1}{1",{"_index":1457,"t":{},"b":{"14":{}}}],["newcommand{\\blurb}[1",{"_index":1266,"t":{},"b":{"12":{}}}],["newcommand{\\bnorm}[1]{\\norm{#1}{2",{"_index":1458,"t":{},"b":{"14":{}}}],["newcommand{\\card}[5",{"_index":224,"t":{},"b":{"0":{}}}],["newcommand{\\circle}[1",{"_index":121,"t":{},"b":{"0":{}}}],["newcommand{\\definition}[2",{"_index":1488,"t":{},"b":{"14":{}}}],["newcommand{\\nam",{"_index":1421,"t":{},"b":{"14":{}}}],["newcommand{\\norm}[2]{\\left\\|#1\\right\\|_{#2",{"_index":1456,"t":{},"b":{"14":{}}}],["newcommand{\\note}[1]{@@not",{"_index":1270,"t":{},"b":{"12":{}}}],["newcommand{\\pathwithout}[1]{`/usr/local/bin/!#1",{"_index":1502,"t":{},"b":{"14":{}}}],["newcommand{\\pathwith}[1]{`/usr/local/bin/#1",{"_index":1501,"t":{},"b":{"14":{}}}],["newcommand{\\pycode}[2",{"_index":333,"t":{},"b":{"0":{}}}],["newcommand{\\r}{\\mathbb",{"_index":1439,"t":{},"b":{"14":{}}}],["newcommand{\\scal}[1]{\\left\\langl",{"_index":1443,"t":{},"b":{"14":{}}}],["newcommand{\\spstyle}[2]{~~~set",{"_index":1585,"t":{},"b":{"15":{}}}],["p]/script",{"_index":453,"t":{},"b":{"1":{}}}],["packag",{"_index":524,"t":{},"b":{"1":{},"2":{},"4":{},"8":{},"9":{},"10":{}}}],["pad",{"_index":276,"t":{},"b":{"0":{},"7":{},"13":{},"14":{}}}],["padding:0",{"_index":262,"t":{},"b":{"0":{}}}],["page",{"_index":9,"t":{"16":{},"20":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["page.md",{"_index":2009,"t":{},"b":{"19":{}}}],["page_foot",{"_index":1394,"t":{},"b":{"13":{},"20":{}}}],["pagebuilding/upd",{"_index":812,"t":{},"b":{"5":{}}}],["pagedatestr",{"_index":1877,"t":{},"b":{"16":{}}}],["pagehascodeboolfalsewheth",{"_index":1876,"t":{},"b":{"16":{}}}],["pagereflinksbooltruewheth",{"_index":1880,"t":{},"b":{"16":{}}}],["pages/notebooks/thenotebook.ipynb",{"_index":800,"t":{},"b":{"4":{}}}],["pages/page1.md",{"_index":1997,"t":{},"b":{"19":{}}}],["pageshowallboolfalsenotebook",{"_index":1892,"t":{},"b":{"16":{}}}],["pair",{"_index":1938,"t":{},"b":{"18":{}}}],["palevioletr",{"_index":136,"t":{},"b":{"0":{}}}],["pandoc",{"_index":1149,"t":{},"b":{"9":{}}}],["parenthes",{"_index":1556,"t":{},"b":{"14":{}}}],["pars",{"_index":1163,"t":{},"b":{"9":{}}}],["parselunrresult",{"_index":866,"t":{},"b":{"5":{}}}],["parser",{"_index":824,"t":{},"b":{"5":{},"9":{},"15":{},"16":{}}}],["part",{"_index":149,"t":{},"b":{"0":{},"1":{},"9":{},"13":{},"16":{}}}],["partial",{"_index":1433,"t":{},"b":{"14":{}}}],["particular",{"_index":1173,"t":{},"b":{"9":{},"16":{}}}],["particularli",{"_index":538,"t":{},"b":{"1":{},"8":{},"14":{},"15":{}}}],["pass",{"_index":804,"t":{},"b":{"4":{},"6":{},"10":{},"12":{},"19":{}}}],["past",{"_index":1370,"t":{},"b":{"13":{}}}],["path",{"_index":431,"t":{},"b":{"1":{},"5":{},"14":{},"15":{},"16":{},"19":{}}}],["path/]index.html",{"_index":2003,"t":{},"b":{"19":{}}}],["path/]index.md",{"_index":2002,"t":{},"b":{"19":{}}}],["path/]somepage.html",{"_index":2006,"t":{},"b":{"19":{}}}],["path/]somepage.md",{"_index":2005,"t":{},"b":{"19":{}}}],["path/to/dir",{"_index":1862,"t":{},"b":{"16":{}}}],["path/to/file.md",{"_index":1861,"t":{},"b":{"16":{}}}],["path/to/page}}opposit",{"_index":1806,"t":{},"b":{"16":{}}}],["path/to/page}}wheth",{"_index":1804,"t":{},"b":{"16":{}}}],["path/to/script",{"_index":428,"t":{},"b":{"1":{}}}],["path]/output/script.out",{"_index":462,"t":{},"b":{"1":{}}}],["path_prepend",{"_index":860,"t":{},"b":{"5":{}}}],["pathsinsert",{"_index":360,"t":{},"b":{"1":{}}}],["pathwithout{hello",{"_index":1505,"t":{},"b":{"14":{}}}],["pathwith{hello",{"_index":1503,"t":{},"b":{"14":{}}}],["path{{isnotpag",{"_index":1805,"t":{},"b":{"16":{}}}],["per",{"_index":368,"t":{},"b":{"1":{}}}],["person",{"_index":236,"t":{},"b":{"0":{},"18":{}}}],["phasellu",{"_index":208,"t":{},"b":{"0":{}}}],["philosophi",{"_index":596,"t":{},"b":{"1":{}}}],["pic=\"beth",{"_index":239,"t":{},"b":{"0":{}}}],["pic=\"meseek",{"_index":247,"t":{},"b":{"0":{}}}],["pic=\"rick",{"_index":244,"t":{},"b":{"0":{}}}],["pictur",{"_index":1144,"t":{},"b":{"9":{}}}],["pip3",{"_index":1248,"t":{},"b":{"10":{}}}],["pkg",{"_index":532,"t":{},"b":{"1":{},"6":{},"10":{}}}],["place",{"_index":562,"t":{},"b":{"1":{},"2":{},"5":{},"6":{},"10":{},"15":{},"19":{}}}],["placeholder=\"ent",{"_index":881,"t":{},"b":{"5":{}}}],["plain",{"_index":643,"t":{},"b":{"1":{},"15":{},"19":{}}}],["plaintext",{"_index":1650,"t":{},"b":{"15":{}}}],["platform",{"_index":2047,"t":{},"b":{"19":{}}}],["pleas",{"_index":1287,"t":{},"b":{"13":{},"15":{}}}],["plot",{"_index":541,"t":{},"b":{"1":{},"3":{},"6":{},"7":{}}}],["plot([0",{"_index":1716,"t":{},"b":{"15":{}}}],["plot(data",{"_index":962,"t":{},"b":{"6":{}}}],["plot(x",{"_index":553,"t":{},"b":{"1":{}}}],["plot:id",{"_index":656,"t":{},"b":{"1":{}}}],["plotli",{"_index":28,"t":{"6":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["plotly.min.j",{"_index":925,"t":{},"b":{"6":{}}}],["plotly.plot",{"_index":940,"t":{},"b":{"6":{}}}],["plotlyj",{"_index":943,"t":{},"b":{"6":{}}}],["plotlyjs.jl",{"_index":924,"t":{},"b":{"6":{}}}],["plt",{"_index":961,"t":{},"b":{"6":{}}}],["plug",{"_index":602,"t":{},"b":{"1":{},"20":{}}}],["png",{"_index":654,"t":{},"b":{"1":{}}}],["point",{"_index":307,"t":{},"b":{"0":{},"13":{},"14":{},"18":{},"19":{}}}],["pointer",{"_index":299,"t":{},"b":{"0":{}}}],["pollut",{"_index":795,"t":{},"b":{"4":{}}}],["polymath",{"_index":1202,"t":{},"b":{"9":{}}}],["poptaskref(::base.invasivelinkedlistsynchronized{task",{"_index":1088,"t":{},"b":{"8":{}}}],["port",{"_index":1297,"t":{},"b":{"13":{}}}],["possibl",{"_index":63,"t":{},"b":{"0":{},"7":{},"15":{}}}],["post",{"_index":401,"t":{},"b":{"1":{},"4":{},"5":{},"10":{},"16":{},"19":{}}}],["pr",{"_index":1285,"t":{},"b":{"13":{}}}],["practic",{"_index":101,"t":{},"b":{"0":{},"15":{},"20":{}}}],["pre",{"_index":751,"t":{},"b":{"4":{},"5":{},"6":{},"10":{},"12":{},"13":{},"14":{},"15":{},"19":{}}}],["pre>/,r:10,starts:{",{"_index":1668,"t":{},"b":{"15":{}}}],["replac",{"_index":607,"t":{},"b":{"1":{},"14":{}}}],["replace(\"\"\"!#2",{"_index":336,"t":{},"b":{"0":{}}}],["repo",{"_index":797,"t":{},"b":{"4":{},"5":{},"13":{},"18":{}}}],["repositori",{"_index":35,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["reprocess",{"_index":104,"t":{},"b":{"0":{}}}],["reproduc",{"_index":1147,"t":{},"b":{"9":{},"14":{}}}],["requir",{"_index":911,"t":{},"b":{"5":{},"6":{},"9":{},"10":{},"14":{},"19":{},"20":{}}}],["require('gh",{"_index":790,"t":{},"b":{"4":{}}}],["requisit",{"_index":822,"t":{},"b":{"5":{},"6":{}}}],["requisiteslibrariesfilesindex",{"_index":807,"t":{},"b":{"5":{}}}],["reserv",{"_index":2013,"t":{},"b":{"19":{}}}],["resolv",{"_index":1174,"t":{},"b":{"9":{},"14":{},"20":{}}}],["respect",{"_index":2057,"t":{},"b":{"20":{}}}],["respons",{"_index":182,"t":{},"b":{"0":{},"13":{},"16":{}}}],["rest",{"_index":735,"t":{},"b":{"3":{},"16":{},"19":{}}}],["restart",{"_index":1094,"t":{},"b":{"8":{}}}],["result",{"_index":354,"t":{},"b":{"1":{},"2":{},"5":{},"6":{},"11":{},"13":{},"15":{},"20":{}}}],["resultcount",{"_index":890,"t":{},"b":{"5":{}}}],["review",{"_index":1552,"t":{},"b":{"14":{}}}],["rgba(0,0,0,0.2",{"_index":274,"t":{},"b":{"0":{}}}],["ridicul",{"_index":1363,"t":{},"b":{"13":{}}}],["right",{"_index":908,"t":{},"b":{"5":{},"9":{},"10":{},"13":{},"18":{}}}],["right:auto",{"_index":172,"t":{},"b":{"0":{}}}],["right\\rangl",{"_index":1444,"t":{},"b":{"14":{}}}],["right\\rangle\\ov",{"_index":1485,"t":{},"b":{"14":{}}}],["rigor",{"_index":720,"t":{},"b":{"2":{}}}],["root",{"_index":650,"t":{},"b":{"1":{},"2":{},"5":{},"16":{},"19":{}}}],["rosalind",{"_index":1194,"t":{},"b":{"9":{}}}],["ross",{"_index":218,"t":{},"b":{"0":{}}}],["round(norm(a",{"_index":1676,"t":{},"b":{"15":{}}}],["row",{"_index":249,"t":{},"b":{"0":{}}}],["row::aft",{"_index":281,"t":{},"b":{"0":{}}}],["rpath",{"_index":1789,"t":{},"b":{"16":{}}}],["rpath}}sam",{"_index":1788,"t":{},"b":{"16":{}}}],["rss",{"_index":1868,"t":{},"b":{"16":{}}}],["rss_descript",{"_index":1899,"t":{},"b":{"16":{}}}],["rss_description\"\"rss_titlecurr",{"_index":1903,"t":{},"b":{"16":{}}}],["rubi",{"_index":1655,"t":{},"b":{"15":{}}}],["rule",{"_index":1600,"t":{},"b":{"15":{},"19":{}}}],["run",{"_index":329,"t":{},"b":{"0":{},"1":{},"19":{}}}],["run(`$(nodejs_cmd",{"_index":793,"t":{},"b":{"4":{}}}],["run(`sudo",{"_index":1244,"t":{},"b":{"10":{}}}],["s",{"_index":628,"t":{},"b":{"1":{}}}],["s\"\\1re",{"_index":338,"t":{},"b":{"0":{}}}],["safe",{"_index":1109,"t":{},"b":{"8":{}}}],["saint",{"_index":1185,"t":{},"b":{"9":{}}}],["same",{"_index":185,"t":{},"b":{"0":{},"1":{},"14":{},"15":{},"19":{}}}],["save",{"_index":414,"t":{},"b":{"1":{},"6":{}}}],["savefig(joinpath(@__dir__",{"_index":633,"t":{},"b":{"1":{}}}],["savefig(joinpath(@output",{"_index":555,"t":{},"b":{"1":{},"15":{}}}],["scaffold",{"_index":1255,"t":{},"b":{"12":{},"16":{},"19":{}}}],["scale=1",{"_index":1345,"t":{},"b":{"13":{}}}],["scal{\\cdot",{"_index":1471,"t":{},"b":{"14":{}}}],["scal{f,\\psi",{"_index":1449,"t":{},"b":{"14":{}}}],["scal{x,x",{"_index":1480,"t":{},"b":{"14":{}}}],["scal{x,y}\\ov",{"_index":1479,"t":{},"b":{"14":{}}}],["scal{y,i",{"_index":1481,"t":{},"b":{"14":{}}}],["scientist",{"_index":1160,"t":{},"b":{"9":{}}}],["scope",{"_index":1895,"t":{},"b":{"16":{}}}],["screenshot",{"_index":1962,"t":{},"b":{"18":{}}}],["script",{"_index":410,"t":{},"b":{"1":{},"2":{},"4":{},"5":{},"6":{},"13":{},"15":{}}}],["script.jl",{"_index":464,"t":{},"b":{"1":{}}}],["script1.jl",{"_index":629,"t":{},"b":{"1":{}}}],["script2.jl",{"_index":632,"t":{},"b":{"1":{}}}],["script2.png",{"_index":634,"t":{},"b":{"1":{}}}],["script_1_p1.jl",{"_index":664,"t":{},"b":{"1":{}}}],["script_1_p2.jl",{"_index":665,"t":{},"b":{"1":{}}}],["script_dir",{"_index":1712,"t":{},"b":{"15":{}}}],["script_dir]/output",{"_index":1713,"t":{},"b":{"15":{}}}],["scrub",{"_index":755,"t":{},"b":{"4":{}}}],["seamlessli",{"_index":666,"t":{},"b":{"2":{}}}],["search",{"_index":26,"t":{"5":{},"11":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["second",{"_index":155,"t":{},"b":{"0":{},"14":{},"16":{},"19":{}}}],["secret",{"_index":1946,"t":{},"b":{"18":{}}}],["section",{"_index":642,"t":{},"b":{"1":{},"3":{},"5":{},"7":{},"14":{},"15":{},"16":{},"18":{},"19":{},"20":{}}}],["see",{"_index":117,"t":{},"b":{"0":{},"1":{},"2":{},"4":{},"5":{},"7":{},"8":{},"9":{},"10":{},"13":{},"15":{},"16":{},"18":{},"19":{},"20":{}}}],["seem",{"_index":1075,"t":{},"b":{"8":{},"19":{}}}],["select",{"_index":673,"t":{},"b":{"2":{},"15":{},"18":{}}}],["sens",{"_index":1265,"t":{},"b":{"12":{},"20":{}}}],["sensit",{"_index":516,"t":{},"b":{"1":{}}}],["separ",{"_index":198,"t":{},"b":{"0":{},"1":{},"14":{},"15":{}}}],["septimia",{"_index":1766,"t":{},"b":{"16":{}}}],["serv",{"_index":534,"t":{},"b":{"1":{},"4":{},"5":{},"8":{},"10":{},"13":{},"15":{},"16":{},"19":{}}}],["server",{"_index":530,"t":{},"b":{"1":{},"8":{},"10":{},"19":{}}}],["servic",{"_index":1924,"t":{},"b":{"18":{}}}],["set",{"_index":389,"t":{},"b":{"1":{},"9":{},"12":{},"14":{},"15":{},"16":{},"18":{},"19":{}}}],["settingscod",{"_index":1763,"t":{},"b":{"16":{}}}],["setup",{"_index":1927,"t":{},"b":{"18":{}}}],["sever",{"_index":658,"t":{},"b":{"1":{},"14":{},"16":{}}}],["shadow",{"_index":272,"t":{},"b":{"0":{}}}],["shah",{"_index":1546,"t":{},"b":{"14":{}}}],["share",{"_index":1402,"t":{},"b":{"13":{}}}],["sheet",{"_index":1994,"t":{},"b":{"19":{}}}],["shell",{"_index":1663,"t":{},"b":{"15":{}}}],["shin'",{"_index":1129,"t":{},"b":{"9":{}}}],["shinzo",{"_index":1033,"t":{},"b":{"7":{}}}],["short",{"_index":1528,"t":{},"b":{"14":{},"16":{}}}],["short2",{"_index":1554,"t":{},"b":{"14":{}}}],["short5",{"_index":1559,"t":{},"b":{"14":{}}}],["shot",{"_index":1523,"t":{},"b":{"14":{}}}],["shouldn't",{"_index":765,"t":{},"b":{"4":{}}}],["show",{"_index":309,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"5":{},"7":{},"13":{},"14":{},"19":{}}}],["showal",{"_index":674,"t":{},"b":{"2":{}}}],["shown",{"_index":65,"t":{},"b":{"0":{},"1":{},"2":{},"15":{},"16":{}}}],["show{ex_show",{"_index":511,"t":{},"b":{"1":{}}}],["show{snippet1",{"_index":1678,"t":{},"b":{"15":{}}}],["shut",{"_index":1234,"t":{},"b":{"10":{},"19":{}}}],["siam",{"_index":1551,"t":{},"b":{"14":{}}}],["side",{"_index":1727,"t":{},"b":{"15":{}}}],["sigdigits=4",{"_index":1677,"t":{},"b":{"15":{}}}],["sign",{"_index":1633,"t":{},"b":{"15":{}}}],["significantli",{"_index":1156,"t":{},"b":{"9":{}}}],["silent",{"_index":1992,"t":{},"b":{"19":{}}}],["silent=fals",{"_index":2034,"t":{},"b":{"19":{}}}],["silli",{"_index":1418,"t":{},"b":{"14":{}}}],["similar",{"_index":545,"t":{},"b":{"1":{},"9":{},"14":{},"15":{},"16":{}}}],["simpl",{"_index":191,"t":{},"b":{"0":{},"5":{},"7":{},"9":{},"10":{},"12":{},"13":{},"15":{},"16":{},"19":{},"20":{}}}],["simpler",{"_index":1126,"t":{},"b":{"9":{}}}],["simpli",{"_index":1638,"t":{},"b":{"15":{}}}],["simplifi",{"_index":1318,"t":{},"b":{"13":{}}}],["sinc",{"_index":554,"t":{},"b":{"1":{}}}],["sinc.svg",{"_index":556,"t":{},"b":{"1":{}}}],["singl",{"_index":372,"t":{},"b":{"1":{},"15":{},"16":{},"19":{}}}],["single=fals",{"_index":2030,"t":{},"b":{"19":{}}}],["site",{"_index":1018,"t":{},"b":{"7":{},"9":{},"10":{},"13":{},"14":{},"16":{},"18":{},"19":{}}}],["site'",{"_index":1995,"t":{},"b":{"19":{}}}],["situat",{"_index":1722,"t":{},"b":{"15":{}}}],["size",{"_index":853,"t":{},"b":{"5":{},"7":{}}}],["size:14px;}{format",{"_index":1455,"t":{},"b":{"14":{}}}],["size:15px;color:cornflowerblue}{format",{"_index":1276,"t":{},"b":{"12":{}}}],["size:24px;font",{"_index":1268,"t":{},"b":{"12":{}}}],["skill",{"_index":1137,"t":{},"b":{"9":{}}}],["skip",{"_index":733,"t":{},"b":{"3":{},"15":{}}}],["slate",{"_index":2029,"t":{},"b":{"19":{}}}],["slice",{"_index":659,"t":{},"b":{"1":{}}}],["slightli",{"_index":1662,"t":{},"b":{"15":{}}}],["sm",{"_index":1227,"t":{},"b":{"10":{}}}],["small",{"_index":619,"t":{},"b":{"1":{},"14":{}}}],["snippet",{"_index":598,"t":{},"b":{"1":{},"19":{}}}],["solid",{"_index":1010,"t":{},"b":{"7":{},"14":{}}}],["solut",{"_index":1091,"t":{},"b":{"8":{}}}],["some/url",{"_index":1616,"t":{},"b":{"15":{}}}],["some_str",{"_index":1769,"t":{},"b":{"16":{}}}],["someth",{"_index":196,"t":{},"b":{"0":{},"1":{},"5":{},"8":{},"9":{},"15":{},"16":{},"20":{}}}],["sometim",{"_index":515,"t":{},"b":{"1":{},"8":{},"9":{}}}],["somewhat",{"_index":1103,"t":{},"b":{"8":{}}}],["somewher",{"_index":935,"t":{},"b":{"6":{},"15":{},"19":{}}}],["soon",{"_index":1264,"t":{},"b":{"12":{}}}],["sophist",{"_index":73,"t":{},"b":{"0":{},"9":{},"14":{}}}],["sort",{"_index":1108,"t":{},"b":{"8":{}}}],["sourc",{"_index":33,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["space",{"_index":384,"t":{},"b":{"1":{},"13":{},"14":{},"15":{}}}],["span",{"_index":899,"t":{},"b":{"5":{},"12":{},"15":{},"16":{}}}],["specif",{"_index":371,"t":{},"b":{"1":{},"2":{},"14":{},"15":{},"16":{},"20":{}}}],["specifi",{"_index":394,"t":{},"b":{"1":{},"6":{},"7":{},"14":{},"15":{},"16":{},"19":{},"20":{}}}],["speed",{"_index":1141,"t":{},"b":{"9":{}}}],["splitext(s)[1]).out",{"_index":623,"t":{},"b":{"1":{}}}],["spstyle{font",{"_index":1273,"t":{},"b":{"12":{}}}],["src",{"_index":455,"t":{},"b":{"1":{}}}],["src/_html_parts/index.html",{"_index":868,"t":{},"b":{"5":{}}}],["src/_layout/head.html",{"_index":930,"t":{},"b":{"6":{}}}],["src/search.md",{"_index":896,"t":{},"b":{"5":{}}}],["src=\"/libs/lunr/lunr.min.js\">#2coloured{{fil",{"_index":1354,"t":{},"b":{"13":{}}}],["titlerss_authorcurr",{"_index":1904,"t":{},"b":{"16":{}}}],["title}}pag",{"_index":1822,"t":{},"b":{"16":{}}}],["variant:smal",{"_index":1274,"t":{},"b":{"12":{}}}],["variou",{"_index":1591,"t":{},"b":{"15":{}}}],["varnam",{"_index":1765,"t":{},"b":{"16":{}}}],["vector",{"_index":484,"t":{},"b":{"1":{},"14":{}}}],["verb=fals",{"_index":2033,"t":{},"b":{"19":{}}}],["veri",{"_index":675,"t":{},"b":{"2":{},"8":{},"9":{},"16":{},"19":{}}}],["verifi",{"_index":2038,"t":{},"b":{"19":{}}}],["verify_link",{"_index":2039,"t":{},"b":{"19":{}}}],["version",{"_index":833,"t":{},"b":{"5":{}}}],["vertic",{"_index":1012,"t":{},"b":{"7":{},"13":{}}}],["vestibulum",{"_index":214,"t":{},"b":{"0":{}}}],["via",{"_index":841,"t":{},"b":{"5":{},"7":{},"10":{},"15":{},"16":{},"19":{}}}],["view",{"_index":1286,"t":{},"b":{"13":{}}}],["viewbox=\"0",{"_index":123,"t":{},"b":{"0":{}}}],["virtual",{"_index":1968,"t":{},"b":{"18":{}}}],["vita",{"_index":230,"t":{},"b":{"0":{}}}],["vitae=\"phasellu",{"_index":241,"t":{},"b":{"0":{}}}],["vname",{"_index":1785,"t":{},"b":{"16":{}}}],["vname2",{"_index":1799,"t":{},"b":{"16":{}}}],["vname{{fil",{"_index":1787,"t":{},"b":{"16":{}}}],["vname}}insert",{"_index":1793,"t":{},"b":{"16":{}}}],["vname}}opposit",{"_index":1810,"t":{},"b":{"16":{}}}],["vname}}plac",{"_index":1786,"t":{},"b":{"16":{}}}],["vname}}wheth",{"_index":1808,"t":{},"b":{"16":{}}}],["w",{"_index":624,"t":{},"b":{"1":{}}}],["w_\\psi[f",{"_index":1446,"t":{},"b":{"14":{},"15":{}}}],["wait",{"_index":417,"t":{},"b":{"1":{},"8":{}}}],["want",{"_index":181,"t":{},"b":{"0":{},"1":{},"2":{},"4":{},"5":{},"6":{},"7":{},"9":{},"12":{},"13":{},"14":{},"15":{},"16":{},"18":{},"19":{},"20":{}}}],["warn",{"_index":1926,"t":{},"b":{"18":{}}}],["way",{"_index":190,"t":{},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"7":{},"8":{},"15":{},"16":{}}}],["we'll",{"_index":1388,"t":{},"b":{"13":{}}}],["web",{"_index":1135,"t":{},"b":{"9":{}}}],["webpag",{"_index":1496,"t":{},"b":{"14":{}}}],["websit",{"_index":350,"t":{"10":{},"18":{}},"b":{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{}}}],["website]/folder/subpag",{"_index":2012,"t":{},"b":{"19":{}}}],["website]/pag",{"_index":2011,"t":{},"b":{"19":{}}}],["website]/page1",{"_index":1999,"t":{},"b":{"19":{}}}],["website]synchronis",{"_index":1916,"t":{},"b":{"18":{}}}],["website]troubleshootingdeploy",{"_index":1917,"t":{},"b":{"18":{}}}],["website_",{"_index":1908,"t":{},"b":{"16":{}}}],["website_descrstring\"\"(rss)website_urlstring\"\"(rss)generate_rssbooltruefolder_structureversionnumberv\"0.2\"onli",{"_index":1854,"t":{},"b":{"16":{}}}],["website_titlestring\"\"(rss",{"_index":1853,"t":{},"b":{"16":{}}}],["websitefold",{"_index":1970,"t":{},"b":{"19":{}}}],["websitepost",{"_index":1974,"t":{},"b":{"19":{}}}],["week",{"_index":1843,"t":{},"b":{"16":{}}}],["weight",{"_index":891,"t":{},"b":{"5":{}}}],["weight:300;\">!#1' + + title + ''); + html.push(result); + } + if (html.length) { + html.join(""); + return '
    '+html+'
' + } + else { + return ""; + } +} + + +function escapeHtml(unsafe) { + return unsafe + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); +} + + +function showResultCount(total) { + var element = document.getElementById(LUNR_CONFIG["countElementId"]) + if (element !== null) { + element.innerHTML = total + "."; + } +} + + +function searchLunr(query) { + var idx = lunr.Index.load(LUNR_DATA); + // Write results to page + var results = idx.search(query); + var resultHtml = parseLunrResults(results); + var elementId = LUNR_CONFIG["resultsElementId"]; + document.getElementById(elementId).innerHTML = resultHtml; + // Write the number of results + showResultCount(results.length); +} + + +// When the window loads, read query parameters and perform search +window.onload = function() { + var query = getParameterByName("q"); + if (query != "" && query != null) { + document.forms.lunrSearchForm.q.value = query; + searchLunr(query); + } else { + // empty query: show 0 results (no query) + showResultCount("0 (empty query)"); + } + document.getElementById("focus").focus(); +}; diff --git a/_libs/lunr/lunrclient.min.js b/_libs/lunr/lunrclient.min.js new file mode 100644 index 0000000..0b71842 --- /dev/null +++ b/_libs/lunr/lunrclient.min.js @@ -0,0 +1 @@ +"use strict";var LUNR_CONFIG={"resultsElementId":"searchResults","countElementId":"resultCount"};function getParameterByName(name){var url=window.location.href;name=name.replace(/[\[\]]/g,"\\$&");var regex=new RegExp("[?&]"+name+"(=([^&#]*)|&|#|$)"),results=regex.exec(url);if(!results){return null}if(!results[2]){return ""}return decodeURIComponent(results[2].replace(/\+/g," "))}function parseLunrResults(results){var html=[];for(var i=0;i'+title+'');html.push(result)}if(html.length){html.join("");return '
    '+html+'
'}else{return ""}}function escapeHtml(unsafe){return unsafe.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function showResultCount(total){var element=document.getElementById(LUNR_CONFIG["countElementId"]);if(element!==null){element.innerHTML=total+"."}}function searchLunr(query){var idx=lunr.Index.load(LUNR_DATA);var results=idx.search(query);var resultHtml=parseLunrResults(results);var elementId=LUNR_CONFIG["resultsElementId"];document.getElementById(elementId).innerHTML=resultHtml;showResultCount(results.length)}window.onload=function(){var query=getParameterByName("q");if(query!=""&&query!=null){document.forms.lunrSearchForm.q.value=query;searchLunr(query)}else{showResultCount("0 (empty query)")}document.getElementById("focus").focus()}; diff --git a/_libs/plotly/plotly.min.js b/_libs/plotly/plotly.min.js new file mode 100644 index 0000000..0d8b2ce --- /dev/null +++ b/_libs/plotly/plotly.min.js @@ -0,0 +1,7 @@ +/** +* plotly.js v1.51.3 +* Copyright 2012-2019, Plotly, Inc. +* All rights reserved. +* Licensed under the MIT license +*/ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function a(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){return a(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o:not(.watermark)":"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.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:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;","X [data-title]:after":"content:attr(data-title);background:#69738a;color:white;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 transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:white;","X .select-outline-2":"stroke:black;stroke-dasharray:2px 2px;",Y:"font-family:'Open Sans';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,0.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:0.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 i in a){var o=i.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,a[i])}},{"../src/lib":716}],2:[function(t,e,r){"use strict";e.exports=t("../src/transforms/aggregate")},{"../src/transforms/aggregate":1294}],3:[function(t,e,r){"use strict";e.exports=t("../src/traces/bar")},{"../src/traces/bar":863}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/barpolar")},{"../src/traces/barpolar":875}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/box")},{"../src/traces/box":885}],6:[function(t,e,r){"use strict";e.exports=t("../src/components/calendars")},{"../src/components/calendars":589}],7:[function(t,e,r){"use strict";e.exports=t("../src/traces/candlestick")},{"../src/traces/candlestick":894}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/carpet")},{"../src/traces/carpet":913}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/choropleth")},{"../src/traces/choropleth":927}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/choroplethmapbox")},{"../src/traces/choroplethmapbox":934}],11:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":940}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/contour")},{"../src/traces/contour":955}],13:[function(t,e,r){"use strict";e.exports=t("../src/traces/contourcarpet")},{"../src/traces/contourcarpet":966}],14:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":694}],15:[function(t,e,r){"use strict";e.exports=t("../src/traces/densitymapbox")},{"../src/traces/densitymapbox":974}],16:[function(t,e,r){"use strict";e.exports=t("../src/transforms/filter")},{"../src/transforms/filter":1295}],17:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnel")},{"../src/traces/funnel":984}],18:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnelarea")},{"../src/traces/funnelarea":993}],19:[function(t,e,r){"use strict";e.exports=t("../src/transforms/groupby")},{"../src/transforms/groupby":1296}],20:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmap")},{"../src/traces/heatmap":1006}],21:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmapgl")},{"../src/traces/heatmapgl":1015}],22:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram")},{"../src/traces/histogram":1027}],23:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2d")},{"../src/traces/histogram2d":1033}],24:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":1037}],25:[function(t,e,r){"use strict";e.exports=t("../src/traces/image")},{"../src/traces/image":1044}],26:[function(t,e,r){"use strict";var n=t("./core");n.register([t("./bar"),t("./box"),t("./heatmap"),t("./histogram"),t("./histogram2d"),t("./histogram2dcontour"),t("./contour"),t("./scatterternary"),t("./violin"),t("./funnel"),t("./waterfall"),t("./image"),t("./pie"),t("./sunburst"),t("./treemap"),t("./funnelarea"),t("./scatter3d"),t("./surface"),t("./isosurface"),t("./volume"),t("./mesh3d"),t("./cone"),t("./streamtube"),t("./scattergeo"),t("./choropleth"),t("./scattergl"),t("./splom"),t("./pointcloud"),t("./heatmapgl"),t("./parcoords"),t("./parcats"),t("./scattermapbox"),t("./choroplethmapbox"),t("./densitymapbox"),t("./sankey"),t("./indicator"),t("./table"),t("./carpet"),t("./scattercarpet"),t("./contourcarpet"),t("./ohlc"),t("./candlestick"),t("./scatterpolar"),t("./scatterpolargl"),t("./barpolar")]),n.register([t("./aggregate"),t("./filter"),t("./groupby"),t("./sort")]),n.register([t("./calendars")]),e.exports=n},{"./aggregate":2,"./bar":3,"./barpolar":4,"./box":5,"./calendars":6,"./candlestick":7,"./carpet":8,"./choropleth":9,"./choroplethmapbox":10,"./cone":11,"./contour":12,"./contourcarpet":13,"./core":14,"./densitymapbox":15,"./filter":16,"./funnel":17,"./funnelarea":18,"./groupby":19,"./heatmap":20,"./heatmapgl":21,"./histogram":22,"./histogram2d":23,"./histogram2dcontour":24,"./image":25,"./indicator":27,"./isosurface":28,"./mesh3d":29,"./ohlc":30,"./parcats":31,"./parcoords":32,"./pie":33,"./pointcloud":34,"./sankey":35,"./scatter3d":36,"./scattercarpet":37,"./scattergeo":38,"./scattergl":39,"./scattermapbox":40,"./scatterpolar":41,"./scatterpolargl":42,"./scatterternary":43,"./sort":44,"./splom":45,"./streamtube":46,"./sunburst":47,"./surface":48,"./table":49,"./treemap":50,"./violin":51,"./volume":52,"./waterfall":53}],27:[function(t,e,r){"use strict";e.exports=t("../src/traces/indicator")},{"../src/traces/indicator":1052}],28:[function(t,e,r){"use strict";e.exports=t("../src/traces/isosurface")},{"../src/traces/isosurface":1058}],29:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":1063}],30:[function(t,e,r){"use strict";e.exports=t("../src/traces/ohlc")},{"../src/traces/ohlc":1068}],31:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcats")},{"../src/traces/parcats":1077}],32:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcoords")},{"../src/traces/parcoords":1087}],33:[function(t,e,r){"use strict";e.exports=t("../src/traces/pie")},{"../src/traces/pie":1098}],34:[function(t,e,r){"use strict";e.exports=t("../src/traces/pointcloud")},{"../src/traces/pointcloud":1107}],35:[function(t,e,r){"use strict";e.exports=t("../src/traces/sankey")},{"../src/traces/sankey":1113}],36:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":1150}],37:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattercarpet")},{"../src/traces/scattercarpet":1157}],38:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergeo")},{"../src/traces/scattergeo":1165}],39:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergl")},{"../src/traces/scattergl":1177}],40:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattermapbox")},{"../src/traces/scattermapbox":1187}],41:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolar")},{"../src/traces/scatterpolar":1195}],42:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolargl")},{"../src/traces/scatterpolargl":1202}],43:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterternary")},{"../src/traces/scatterternary":1210}],44:[function(t,e,r){"use strict";e.exports=t("../src/transforms/sort")},{"../src/transforms/sort":1298}],45:[function(t,e,r){"use strict";e.exports=t("../src/traces/splom")},{"../src/traces/splom":1219}],46:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":1227}],47:[function(t,e,r){"use strict";e.exports=t("../src/traces/sunburst")},{"../src/traces/sunburst":1235}],48:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":1244}],49:[function(t,e,r){"use strict";e.exports=t("../src/traces/table")},{"../src/traces/table":1252}],50:[function(t,e,r){"use strict";e.exports=t("../src/traces/treemap")},{"../src/traces/treemap":1261}],51:[function(t,e,r){"use strict";e.exports=t("../src/traces/violin")},{"../src/traces/violin":1273}],52:[function(t,e,r){"use strict";e.exports=t("../src/traces/volume")},{"../src/traces/volume":1281}],53:[function(t,e,r){"use strict";e.exports=t("../src/traces/waterfall")},{"../src/traces/waterfall":1289}],54:[function(t,e,r){"use strict";e.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],c=t.mode||"turntable",u=n(),h=a(),f=i();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=t("turntable-camera-controller"),a=t("orbit-camera-controller"),i=t("matrix-camera-controller");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;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n1||a>1)}function E(t,e,r){return t.sort(C),t.forEach(function(n,a){var i,o,s=0;if(Y(n,r)&&S(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}}),t}function L(t,r,a,i){var o=e.min(t.links,function(t){return t.source.y0});t.links.forEach(function(t){t.circular&&(t.circularPathData={})}),E(t.links.filter(function(t){return"top"==t.circularLinkType}),r,i),E(t.links.filter(function(t){return"bottom"==t.circularLinkType}),r,i),t.links.forEach(function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+w,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,Y(e,i)&&S(e))e.circularPathData.leftSmallArcRadius=w+e.width/2,e.circularPathData.leftLargeArcRadius=w+e.width/2,e.circularPathData.rightSmallArcRadius=w+e.width/2,e.circularPathData.rightLargeArcRadius=w+e.width/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter(function(t){return t.source.column==s&&t.circularLinkType==l});"bottom"==e.circularLinkType?c.sort(O):c.sort(P);var u=0;c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=w+e.width/2+u,e.circularPathData.leftLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),s=e.target.column,c=t.links.filter(function(t){return t.target.column==s&&t.circularLinkType==l}),"bottom"==e.circularLinkType?c.sort(I):c.sort(z),u=0,c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=w+e.width/2+u,e.circularPathData.rightLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(a,e.source.y1,e.target.y1)+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e="";e="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;return e}(e);else{var h=n.linkHorizontal().source(function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]}).target(function(t){return[t.target.x0,t.y1]});e.path=h(e)}})}function C(t,e){return D(t)==D(e)?"bottom"==t.circularLinkType?O(t,e):P(t,e):D(e)-D(t)}function P(t,e){return t.y0-e.y0}function O(t,e){return e.y0-t.y0}function z(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function D(t){return t.target.column-t.source.column}function R(t){return t.target.x0-t.source.x1}function F(t,e){var r=A(t),n=R(e)/Math.tan(r);return"up"==G(t)?t.y1+n:t.y1-n}function B(t,e){var r=A(t),n=R(e)/Math.tan(r);return"up"==G(t)?t.y1-n:t.y1+n}function N(t,e,r,n){t.links.forEach(function(a){if(!a.circular&&a.target.column-a.source.column>1){var i=a.source.column+1,o=a.target.column-1,s=1,l=o-i+1;for(s=1;i<=o;i++,s++)t.nodes.forEach(function(o){if(o.column==i){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),g=h*a.y0+f*a.y0+p*a.y1+d*a.y1,v=g-a.width/2,m=g+a.width/2;v>o.y0&&vo.y0&&mo.y1&&V(t,c,e,r)})):vo.y1&&(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0o.y1&&V(t,c,e,r)}))}})}})}function j(t,e){return t.y0>e.y0&&t.y0e.y0&&t.y1e.y1)}function V(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 U(t,e,r,n){t.nodes.forEach(function(a){n&&a.y+(a.y1-a.y0)>e&&(a.y=a.y-(a.y+(a.y1-a.y0)-e));var i=t.links.filter(function(t){return b(t.source,r)==b(a,r)}),o=i.length;o>1&&i.sort(function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!H(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=B(e,t);return t.y1-r}if(e.target.column>t.target.column)return B(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=a.y0;i.forEach(function(t){t.y0=s+t.width/2,s+=t.width}),i.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(!H(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function Y(t,e){return b(t.source,e)==b(t.target,e)}t.sankeyCircular=function(){var t,n,i=0,b=0,A=1,S=1,E=24,C=v,P=o,O=m,z=y,I=32,D=2,R=null;function F(){var o={nodes:O.apply(null,arguments),links:z.apply(null,arguments)};!function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,C);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;"object"!==("undefined"==typeof n?"undefined":l(n))&&(n=t.source=x(e,n)),"object"!==("undefined"==typeof a?"undefined":l(a))&&(a=t.target=x(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(o),function(t,e,r){var n=0;if(null===r){for(var i=[],o=0;o0?r+_+w:r,bottom:n=n>0?n+_+w:n,left:i=i>0?i+_+w:i,right:a=a>0?a+_+w:a}}(a),u=function(t,r){var n=e.max(t.nodes,function(t){return t.column}),a=A-i,o=S-b,s=a+r.right+r.left,l=o+r.top+r.bottom,c=a/s,u=o/l;return i=i*c+r.left,A=0==r.right?A:A*c,b=b*u+r.top,S*=u,t.nodes.forEach(function(t){t.x0=i+t.column*((A-i-E)/n),t.x1=t.x0+E}),u}(a,c);s*=u,a.links.forEach(function(t){t.width=t.value*s}),l.forEach(function(t){var e=t.length;t.forEach(function(t,n){t.depth==l.length-1&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):0==t.depth&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):t.partOfCycle?0==M(t,r)?(t.y0=S/2+n,t.y1=t.y0+t.value*s):"top"==t.circularLinkType?(t.y0=b+n,t.y1=t.y0+t.value*s):(t.y0=S-t.value*s-n,t.y1=t.y0+t.value*s):0==c.top||0==c.bottom?(t.y0=(S-b)/e*n,t.y1=t.y0+t.value*s):(t.y0=(S-b)/2-e/2+n,t.y1=t.y0+t.value*s)})})})(s),m();for(var c=1,u=o;u>0;--u)v(c*=.99,s),m();function v(t,r){var n=l.length;l.forEach(function(a){var i=a.length,o=a[0].depth;a.forEach(function(a){var s;if(a.sourceLinks.length||a.targetLinks.length)if(a.partOfCycle&&M(a,r)>0);else if(0==o&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else if(o==n-1&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else{var l=e.mean(a.sourceLinks,g),c=e.mean(a.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(a))*t;a.y0+=u,a.y1+=u}})})}function m(){l.forEach(function(e){var r,n,a,i=b,o=e.length;for(e.sort(h),a=0;a0&&(r.y0+=n,r.y1+=n),i=r.y1+t;if((n=i-t-S)>0)for(i=r.y0-=n,r.y1-=n,a=o-2;a>=0;--a)r=e[a],(n=r.y1+t-i)>0&&(r.y0-=n,r.y1-=n),i=r.y0})}}(o,I,C),B(o);for(var s=0;s<4;s++)U(o,S,C),q(o,0,C),N(o,b,S,C),U(o,S,C),q(o,0,C);return function(t,r,n){var a=t.nodes,i=t.links,o=!1,s=!1;if(i.forEach(function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)}),0==o||0==s){var l=e.min(a,function(t){return t.y0}),c=e.max(a,function(t){return t.y1}),u=c-l,h=n-r,f=h/u;a.forEach(function(t){var e=(t.y1-t.y0)*f;t.y0=(t.y0-l)*f,t.y1=t.y0+e}),i.forEach(function(t){t.y0=(t.y0-l)*f,t.y1=(t.y1-l)*f,t.width=t.width*f})}}(o,b,S),L(o,D,S,C),o}function B(t){t.nodes.forEach(function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)}),t.nodes.forEach(function(t){var e=t.y0,r=e,n=t.y1,a=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=a-t.width/2,a-=t.width):(t.y1=r+t.width/2,r+=t.width)})})}return F.nodeId=function(t){return arguments.length?(C="function"==typeof t?t:s(t),F):C},F.nodeAlign=function(t){return arguments.length?(P="function"==typeof t?t:s(t),F):P},F.nodeWidth=function(t){return arguments.length?(E=+t,F):E},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(O="function"==typeof t?t:s(t),F):O},F.links=function(t){return arguments.length?(z="function"==typeof t?t:s(t),F):z},F.size=function(t){return arguments.length?(i=b=0,A=+t[0],S=+t[1],F):[A-i,S-b]},F.extent=function(t){return arguments.length?(i=+t[0][0],A=+t[1][0],b=+t[0][1],S=+t[1][1],F):[[i,b],[A,S]]},F.iterations=function(t){return arguments.length?(I=+t,F):I},F.circularLinkGap=function(t){return arguments.length?(D=+t,F):D},F.nodePaddingRatio=function(t){return arguments.length?(n=+t,F):n},F.sortNodes=function(t){return arguments.length?(R=t,F):R},F.update=function(t){return T(t,C),B(t),t.links.forEach(function(t){t.circular&&(t.circularLinkType=t.y0+t.y1i&&(b=i);var o=e.min(a,function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)});a.forEach(function(t){t.forEach(function(t,e){t.y1=(t.y0=e)+t.value*o})}),t.links.forEach(function(t){t.width=t.value*o})})(),d();for(var i=1,o=A;o>0;--o)l(i*=.99),d(),s(i),d();function s(t){a.forEach(function(r){r.forEach(function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,f)/e.sum(r.targetLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function l(t){a.slice().reverse().forEach(function(r){r.forEach(function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function d(){a.forEach(function(t){var e,r,a,i=n,o=t.length;for(t.sort(c),a=0;a0&&(e.y0+=r,e.y1+=r),i=e.y1+b;if((r=i-b-y)>0)for(i=e.y0-=r,e.y1-=r,a=o-2;a>=0;--a)e=t[a],(r=e.y1+b-i)>0&&(e.y0-=r,e.y1-=r),i=e.y0})}}(i),E(i),i}function E(t){t.nodes.forEach(function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)}),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 S.update=function(t){return E(t),t},S.nodeId=function(t){return arguments.length?(_="function"==typeof t?t:o(t),S):_},S.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:o(t),S):w},S.nodeWidth=function(t){return arguments.length?(x=+t,S):x},S.nodePadding=function(t){return arguments.length?(b=+t,S):b},S.nodes=function(t){return arguments.length?(k="function"==typeof t?t:o(t),S):k},S.links=function(t){return arguments.length?(T="function"==typeof t?t:o(t),S):T},S.size=function(e){return arguments.length?(t=n=0,a=+e[0],y=+e[1],S):[a-t,y-n]},S.extent=function(e){return arguments.length?(t=+e[0][0],a=+e[1][0],n=+e[0][1],y=+e[1][1],S):[[t,n],[a,y]]},S.iterations=function(t){return arguments.length?(A=+t,S):A},S},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=i,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-array"),t("d3-collection"),t("d3-shape")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{"d3-array":153,"d3-collection":154,"d3-shape":162}],57:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta"),a=6378137;function i(t){var e=0;if(t&&t.length>0){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},r.radiansToLength=h,r.lengthToRadians=f,r.lengthToDegrees=function(t,e){return p(f(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.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 h(f(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var a=r.areaFactors[e];if(!a)throw new Error("invalid original units");var i=r.areaFactors[n];if(!i)throw new Error("invalid final units");return t/a*i},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.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(!d(t))throw new Error("bbox must only contain numbers")})},r.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")},r.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},r.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},r.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},r.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},r.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},r.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},r.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},{}],60:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/helpers");function a(t,e,r){if(null!==t)for(var n,i,o,s,l,c,u,h,f=0,p=0,d=t.type,g="FeatureCollection"===d,v="Feature"===d,m=g?t.features.length:1,y=0;yc||p>u||d>h)return l=a,c=r,u=p,h=d,void(o=0);var g=n.lineString([l,a],t.properties);if(!1===e(g,r,i,d,o))return!1;o++,l=a})&&void 0}}})}function u(t,e){if(!t)throw new Error("geojson is required");l(t,function(t,r,a){if(null!==t.geometry){var i=t.geometry.type,o=t.geometry.coordinates;switch(i){case"LineString":if(!1===e(t,r,a,0,0))return!1;break;case"Polygon":for(var s=0;sa&&(a=t[o]),t[o]=0;c--)if(u[c]!==h[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!a&&m(a,r,"Missing expected exception"+n);var i="string"==typeof n,s=!t&&a&&!r;if((!t&&o.isError(a)&&i&&_(a,r)||s)&&m(a,r,"Got unwanted exception"+n),t&&a&&r&&!_(a,r)||!t&&a)throw a}f.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=g(v((e=this).actual),128)+" "+e.operator+" "+g(v(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var a=n.stack,i=d(r),o=a.indexOf("\n"+i);if(o>=0){var s=a.indexOf("\n",o+1);a=a.substring(s+1)}this.stack=a}}},o.inherits(f.AssertionError,Error),f.fail=m,f.ok=y,f.equal=function(t,e,r){t!=e&&m(t,e,r,"==",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",f.notEqual)},f.deepEqual=function(t,e,r){x(t,e,!1)||m(t,e,r,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,r){x(t,e,!0)||m(t,e,r,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){x(t,e,!1)&&m(t,e,r,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&m(e,r,n,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",f.notStrictEqual)},f.throws=function(t,e,r){w(!0,t,e,r)},f.doesNotThrow=function(t,e,r){w(!1,t,e,r)},f.ifError=function(t){if(t)throw t},f.strict=n(function t(e,r){e||m(e,!0,r,"==",t)},f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var k=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"object-assign":455,"util/":72}],70:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],71:[function(t,e,r){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],72:[function(t,e,r){(function(e,n){var a=/%[sdj%]/g;r.format=function(t){if(!m(t)){for(var e=[],r=0;r=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}}),l=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?"\x1b["+s.colors[r][0]+"m"+t+"\x1b["+s.colors[r][1]+"m":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var a=e.inspect(n,t);return m(a)||(a=u(t,a,n)),a}var i=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(v(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,e);if(i)return i;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(e);if(0===o.length){if(k(e)){var l=e.name?": "+e.name:"";return t.stylize("[Function"+l+"]","special")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return h(e)}var c,b="",T=!1,A=["{","}"];(p(e)&&(T=!0,A=["[","]"]),k(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return x(e)&&(b=" "+RegExp.prototype.toString.call(e)),_(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+h(e)),0!==o.length||T&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=T?function(t,e,r,n,a){for(var i=[],o=0,s=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(c,b,A)):A[0]+b+A[1]}function h(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,r,n,a,i){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),S(n,a)||(o="["+a+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return" "+t}).join("\n")):s=t.stylize("[Circular]","special")),y(o)){if(i&&a.match(/^\d+$/))return s;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function v(t){return"number"==typeof t}function m(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===T(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===T(t)}function w(t){return b(t)&&("[object Error]"===T(t)||t instanceof Error)}function k(t){return"function"==typeof t}function T(t){return Object.prototype.toString.call(t)}function A(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(i)&&(i=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.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]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=v,r.isString=m,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t},r.isBuffer=t("./support/isBuffer");var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),M[t.getMonth()],e].join(" ")),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":71,_process:483,inherits:70}],73:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],74:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,i=new Array(r+1),o=0;o0?o-4:o;for(r=0;r>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,a=r%3,i=[],o=0,s=r-a;os?s:o+16383));1===a?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+"==")):2===a&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return i.join("")};for(var n=[],a=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s0)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,r){for(var a,i,o=[],s=e;s>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},{}],76:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":86}],77:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],78:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":86}],79:[function(t,e,r){"use strict";var n=t("./is-rat"),a=t("./lib/is-bn"),i=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,h;if(a(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[i(0),i(1)];if(e===Math.floor(e))u=i(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=i(e)}}if(n(r))u.mul(r[1]),h=r[0].clone();else if(a(r))h=r.clone();else if("string"==typeof r)h=o(r);else if(r)if(r===Math.floor(r))h=i(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;h=i(r)}else h=i(1);c>0?u=u.ushln(c):c<0&&(h=h.ushln(-c));return s(u,h)}},{"./div":78,"./is-rat":80,"./lib/is-bn":84,"./lib/num-to-bn":85,"./lib/rationalize":86,"./lib/str-to-bn":87}],80:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":84}],81:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":95}],82:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,a=0;if(1===e)a=r[0];else if(2===e)a=r[0]+67108864*r[1];else for(var i=0;i20)return 52;return r+32}},{"bit-twiddle":93,"double-bits":168}],84:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":95}],85:[function(t,e,r){"use strict";var n=t("bn.js"),a=t("double-bits");e.exports=function(t){var e=a.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":95,"double-bits":168}],86:[function(t,e,r){"use strict";var n=t("./num-to-bn"),a=t("./bn-sign");e.exports=function(t,e){var r=a(t),i=a(e);if(0===r)return[n(0),n(1)];if(0===i)return[n(0),n(0)];i<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":81,"./num-to-bn":85}],87:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":95}],88:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":86}],89:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":81}],90:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":86}],91:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),a=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var i=e.abs().divmod(r.abs()),o=i.div,s=n(o),l=i.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=a(s)+4,h=n(l.ushln(u).divRound(r));return c*(s+h*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{"./lib/bn-to-num":82,"./lib/ctz":83}],92:[function(t,e,r){"use strict";function n(t,e,r,n,a,i){var o=["function ",t,"(a,l,h,",n.join(","),"){",i?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",a?".get(m)":"[m]"];return i?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),i?o.push("return -1};"):o.push("return i};"),o.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],!1,a),n("B","x"+t+"y",e,["y"],!0,a),n("P","c(x,y)"+t+"0",e,["y","c"],!1,a),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,a),"function dispatchBsearch",r,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],93:[function(t,e,r){"use strict";function n(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}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.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},r.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},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var a=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,a=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--a;t[e]=n<>>8&255]<<16|a[t>>>16&255]<<8|a[t>>>24&255]},r.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},r.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},r.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},r.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},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],94:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,g,v=null==e.cutoff?.25:e.cutoff,m=null==e.radius?8:e.radius,y=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,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(h=(f=t).getContext("2d"),r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t.canvas,h=t,r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var a=0,i=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return a}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.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 a=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&a++,16===e?this._parseHex(t,a):this._parseBase(t,e,a),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var a=0;a=0;a-=3)o=t[a]|t[a-1]<<8|t[a-2]<<16,this.words[i]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===r)for(a=0,i=0;a>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)a=s(t,r,r+6),this.words[n]|=a<>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==e&&(a=s(t,e,r+6),this.words[n]|=a<>>26-i&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=e)n++;n--,a=a/e|0;for(var i=t.length-r,o=i%n,s=Math.min(i,i-o)+r,c=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.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"],u=[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 f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var a=0|t.words[0],i=0|e.words[0],o=a*i,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,h=67108863&l,f=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=f;p++){var d=c-p|0;u+=(o=(a=0|t.words[d])*(i=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var a=0,i=0,o=0;o>>24-a&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(a+=2)>=26&&(a-=26,o--)}for(0!==i&&(r=i.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 f=u[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[f-g.length]+g+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")},i.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},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return n("undefined"!=typeof o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,"byte array longer than desired length"),n(i>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(i),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[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},i.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},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.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)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.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)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.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 a=0;a0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,a=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 a=0,i=0;i>>26;for(;0!==a&&i>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;it.length?this.clone().iadd(t):t.clone().iadd(this)},i.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,a=this.cmp(t);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==i&&o>26,this.words[o]=67108863&e;if(0===i&&o>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,T=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,z=P>>>13,I=0|o[8],D=8191&I,R=I>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Y=0|s[2],W=8191&Y,X=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,at=0|s[6],it=8191&at,ot=at>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ht=8191&ut,ft=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(c+(n=Math.imul(h,V))|0)+((8191&(a=(a=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;c=((i=Math.imul(f,U))+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),a=(a=Math.imul(d,U))+Math.imul(g,V)|0,i=Math.imul(g,U);var mt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(a=(a=a+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((i=i+Math.imul(f,G)|0)+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),a=(a=Math.imul(m,U))+Math.imul(y,V)|0,i=Math.imul(y,U),n=n+Math.imul(d,H)|0,a=(a=a+Math.imul(d,G)|0)+Math.imul(g,H)|0,i=i+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(a=(a=a+Math.imul(h,X)|0)+Math.imul(f,W)|0))<<13)|0;c=((i=i+Math.imul(f,X)|0)+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),a=(a=Math.imul(b,U))+Math.imul(_,V)|0,i=Math.imul(_,U),n=n+Math.imul(m,H)|0,a=(a=a+Math.imul(m,G)|0)+Math.imul(y,H)|0,i=i+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,a=(a=a+Math.imul(d,X)|0)+Math.imul(g,W)|0,i=i+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(h,J)|0)|0)+((8191&(a=(a=a+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;c=((i=i+Math.imul(f,K)|0)+(a>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),a=(a=Math.imul(k,U))+Math.imul(T,V)|0,i=Math.imul(T,U),n=n+Math.imul(b,H)|0,a=(a=a+Math.imul(b,G)|0)+Math.imul(_,H)|0,i=i+Math.imul(_,G)|0,n=n+Math.imul(m,W)|0,a=(a=a+Math.imul(m,X)|0)+Math.imul(y,W)|0,i=i+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,a=(a=a+Math.imul(d,K)|0)+Math.imul(g,J)|0,i=i+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(a=(a=a+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;c=((i=i+Math.imul(f,tt)|0)+(a>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,V),a=(a=Math.imul(M,U))+Math.imul(S,V)|0,i=Math.imul(S,U),n=n+Math.imul(k,H)|0,a=(a=a+Math.imul(k,G)|0)+Math.imul(T,H)|0,i=i+Math.imul(T,G)|0,n=n+Math.imul(b,W)|0,a=(a=a+Math.imul(b,X)|0)+Math.imul(_,W)|0,i=i+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,a=(a=a+Math.imul(m,K)|0)+Math.imul(y,J)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,a=(a=a+Math.imul(d,tt)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(a=(a=a+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((i=i+Math.imul(f,nt)|0)+(a>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,V),a=(a=Math.imul(L,U))+Math.imul(C,V)|0,i=Math.imul(C,U),n=n+Math.imul(M,H)|0,a=(a=a+Math.imul(M,G)|0)+Math.imul(S,H)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(k,W)|0,a=(a=a+Math.imul(k,X)|0)+Math.imul(T,W)|0,i=i+Math.imul(T,X)|0,n=n+Math.imul(b,J)|0,a=(a=a+Math.imul(b,K)|0)+Math.imul(_,J)|0,i=i+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,a=(a=a+Math.imul(m,tt)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,a=(a=a+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(h,it)|0)|0)+((8191&(a=(a=a+Math.imul(h,ot)|0)+Math.imul(f,it)|0))<<13)|0;c=((i=i+Math.imul(f,ot)|0)+(a>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,V),a=(a=Math.imul(O,U))+Math.imul(z,V)|0,i=Math.imul(z,U),n=n+Math.imul(L,H)|0,a=(a=a+Math.imul(L,G)|0)+Math.imul(C,H)|0,i=i+Math.imul(C,G)|0,n=n+Math.imul(M,W)|0,a=(a=a+Math.imul(M,X)|0)+Math.imul(S,W)|0,i=i+Math.imul(S,X)|0,n=n+Math.imul(k,J)|0,a=(a=a+Math.imul(k,K)|0)+Math.imul(T,J)|0,i=i+Math.imul(T,K)|0,n=n+Math.imul(b,$)|0,a=(a=a+Math.imul(b,tt)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,a=(a=a+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,i=i+Math.imul(y,nt)|0,n=n+Math.imul(d,it)|0,a=(a=a+Math.imul(d,ot)|0)+Math.imul(g,it)|0,i=i+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(a=(a=a+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((i=i+Math.imul(f,ct)|0)+(a>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,V),a=(a=Math.imul(D,U))+Math.imul(R,V)|0,i=Math.imul(R,U),n=n+Math.imul(O,H)|0,a=(a=a+Math.imul(O,G)|0)+Math.imul(z,H)|0,i=i+Math.imul(z,G)|0,n=n+Math.imul(L,W)|0,a=(a=a+Math.imul(L,X)|0)+Math.imul(C,W)|0,i=i+Math.imul(C,X)|0,n=n+Math.imul(M,J)|0,a=(a=a+Math.imul(M,K)|0)+Math.imul(S,J)|0,i=i+Math.imul(S,K)|0,n=n+Math.imul(k,$)|0,a=(a=a+Math.imul(k,tt)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,tt)|0,n=n+Math.imul(b,rt)|0,a=(a=a+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,i=i+Math.imul(_,nt)|0,n=n+Math.imul(m,it)|0,a=(a=a+Math.imul(m,ot)|0)+Math.imul(y,it)|0,i=i+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,a=(a=a+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,i=i+Math.imul(g,ct)|0;var Tt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(a=(a=a+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((i=i+Math.imul(f,ft)|0)+(a>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,V),a=(a=Math.imul(B,U))+Math.imul(N,V)|0,i=Math.imul(N,U),n=n+Math.imul(D,H)|0,a=(a=a+Math.imul(D,G)|0)+Math.imul(R,H)|0,i=i+Math.imul(R,G)|0,n=n+Math.imul(O,W)|0,a=(a=a+Math.imul(O,X)|0)+Math.imul(z,W)|0,i=i+Math.imul(z,X)|0,n=n+Math.imul(L,J)|0,a=(a=a+Math.imul(L,K)|0)+Math.imul(C,J)|0,i=i+Math.imul(C,K)|0,n=n+Math.imul(M,$)|0,a=(a=a+Math.imul(M,tt)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,a=(a=a+Math.imul(k,nt)|0)+Math.imul(T,rt)|0,i=i+Math.imul(T,nt)|0,n=n+Math.imul(b,it)|0,a=(a=a+Math.imul(b,ot)|0)+Math.imul(_,it)|0,i=i+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,a=(a=a+Math.imul(m,ct)|0)+Math.imul(y,lt)|0,i=i+Math.imul(y,ct)|0,n=n+Math.imul(d,ht)|0,a=(a=a+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,i=i+Math.imul(g,ft)|0;var At=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(a=(a=a+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((i=i+Math.imul(f,gt)|0)+(a>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),a=(a=Math.imul(B,G))+Math.imul(N,H)|0,i=Math.imul(N,G),n=n+Math.imul(D,W)|0,a=(a=a+Math.imul(D,X)|0)+Math.imul(R,W)|0,i=i+Math.imul(R,X)|0,n=n+Math.imul(O,J)|0,a=(a=a+Math.imul(O,K)|0)+Math.imul(z,J)|0,i=i+Math.imul(z,K)|0,n=n+Math.imul(L,$)|0,a=(a=a+Math.imul(L,tt)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,a=(a=a+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,i=i+Math.imul(S,nt)|0,n=n+Math.imul(k,it)|0,a=(a=a+Math.imul(k,ot)|0)+Math.imul(T,it)|0,i=i+Math.imul(T,ot)|0,n=n+Math.imul(b,lt)|0,a=(a=a+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,i=i+Math.imul(_,ct)|0,n=n+Math.imul(m,ht)|0,a=(a=a+Math.imul(m,ft)|0)+Math.imul(y,ht)|0,i=i+Math.imul(y,ft)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(a=(a=a+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((i=i+Math.imul(g,gt)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),a=(a=Math.imul(B,X))+Math.imul(N,W)|0,i=Math.imul(N,X),n=n+Math.imul(D,J)|0,a=(a=a+Math.imul(D,K)|0)+Math.imul(R,J)|0,i=i+Math.imul(R,K)|0,n=n+Math.imul(O,$)|0,a=(a=a+Math.imul(O,tt)|0)+Math.imul(z,$)|0,i=i+Math.imul(z,tt)|0,n=n+Math.imul(L,rt)|0,a=(a=a+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,i=i+Math.imul(C,nt)|0,n=n+Math.imul(M,it)|0,a=(a=a+Math.imul(M,ot)|0)+Math.imul(S,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,a=(a=a+Math.imul(k,ct)|0)+Math.imul(T,lt)|0,i=i+Math.imul(T,ct)|0,n=n+Math.imul(b,ht)|0,a=(a=a+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,i=i+Math.imul(_,ft)|0;var St=(c+(n=n+Math.imul(m,dt)|0)|0)+((8191&(a=(a=a+Math.imul(m,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((i=i+Math.imul(y,gt)|0)+(a>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),a=(a=Math.imul(B,K))+Math.imul(N,J)|0,i=Math.imul(N,K),n=n+Math.imul(D,$)|0,a=(a=a+Math.imul(D,tt)|0)+Math.imul(R,$)|0,i=i+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,a=(a=a+Math.imul(O,nt)|0)+Math.imul(z,rt)|0,i=i+Math.imul(z,nt)|0,n=n+Math.imul(L,it)|0,a=(a=a+Math.imul(L,ot)|0)+Math.imul(C,it)|0,i=i+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,a=(a=a+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,i=i+Math.imul(S,ct)|0,n=n+Math.imul(k,ht)|0,a=(a=a+Math.imul(k,ft)|0)+Math.imul(T,ht)|0,i=i+Math.imul(T,ft)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(a=(a=a+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((i=i+Math.imul(_,gt)|0)+(a>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),a=(a=Math.imul(B,tt))+Math.imul(N,$)|0,i=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,a=(a=a+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,i=i+Math.imul(R,nt)|0,n=n+Math.imul(O,it)|0,a=(a=a+Math.imul(O,ot)|0)+Math.imul(z,it)|0,i=i+Math.imul(z,ot)|0,n=n+Math.imul(L,lt)|0,a=(a=a+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,i=i+Math.imul(C,ct)|0,n=n+Math.imul(M,ht)|0,a=(a=a+Math.imul(M,ft)|0)+Math.imul(S,ht)|0,i=i+Math.imul(S,ft)|0;var Lt=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(a=(a=a+Math.imul(k,gt)|0)+Math.imul(T,dt)|0))<<13)|0;c=((i=i+Math.imul(T,gt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),a=(a=Math.imul(B,nt))+Math.imul(N,rt)|0,i=Math.imul(N,nt),n=n+Math.imul(D,it)|0,a=(a=a+Math.imul(D,ot)|0)+Math.imul(R,it)|0,i=i+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,a=(a=a+Math.imul(O,ct)|0)+Math.imul(z,lt)|0,i=i+Math.imul(z,ct)|0,n=n+Math.imul(L,ht)|0,a=(a=a+Math.imul(L,ft)|0)+Math.imul(C,ht)|0,i=i+Math.imul(C,ft)|0;var Ct=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(a=(a=a+Math.imul(M,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((i=i+Math.imul(S,gt)|0)+(a>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,it),a=(a=Math.imul(B,ot))+Math.imul(N,it)|0,i=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,a=(a=a+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,i=i+Math.imul(R,ct)|0,n=n+Math.imul(O,ht)|0,a=(a=a+Math.imul(O,ft)|0)+Math.imul(z,ht)|0,i=i+Math.imul(z,ft)|0;var Pt=(c+(n=n+Math.imul(L,dt)|0)|0)+((8191&(a=(a=a+Math.imul(L,gt)|0)+Math.imul(C,dt)|0))<<13)|0;c=((i=i+Math.imul(C,gt)|0)+(a>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),a=(a=Math.imul(B,ct))+Math.imul(N,lt)|0,i=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,a=(a=a+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,i=i+Math.imul(R,ft)|0;var Ot=(c+(n=n+Math.imul(O,dt)|0)|0)+((8191&(a=(a=a+Math.imul(O,gt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((i=i+Math.imul(z,gt)|0)+(a>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ht),a=(a=Math.imul(B,ft))+Math.imul(N,ht)|0,i=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(a=(a=a+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((i=i+Math.imul(R,gt)|0)+(a>>>13)|0)+(zt>>>26)|0,zt&=67108863;var It=(c+(n=Math.imul(B,dt))|0)+((8191&(a=(a=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((i=Math.imul(N,gt))+(a>>>13)|0)+(It>>>26)|0,It&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Tt,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]=zt,l[18]=It,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,a=0,i=0;i>>26)|0)>>>26,o&=67108863}r.words[i]=s,n=o,o=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,a,i){for(var o=0;o>>=1)a++;return 1<>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o>=26,e+=a/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>a}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,r=t%26,a=(t-r)/26,i=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!==a){for(e=this.length-1;e>=0;e--)this.words[e+a]=this.words[e];for(e=0;e=0),a=e?(e-e%26)/26:0;var i=t%26,o=Math.min((t-i)/26,this.length),s=67108863^67108863>>>i<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=a);c--){var h=0|this.words[c];this.words[c]=u<<26-i|h>>>i,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,a=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 a=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},i.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[a+r]=67108863&i}for(;a>26,this.words[a+r]=67108863&i;if(0===s)return this.strip();for(n(-1===s),s=0,a=0;a>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if("mod"!==e){(s=new i(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;h--){var f=67108864*(0|n.words[a.length+h])+(0|n.words[a.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(a,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(a=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(a=s.div.neg()),{div:a,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 i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var a,o,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.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),a=t.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,a=this.length-1;a>=0;a--)r=(e*r+(0|this.words[a]))%t;return r},i.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*e;this.words[r]=a/t|0,e=a%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.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 a=new i(1),o=new i(0),s=new i(0),l=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s),o.isub(l)):(r.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},i.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 a,o=new i(1),s=new i(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >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(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.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 a=e.cmp(r);if(a<0){var i=e;e=r,r=i}else if(0===a||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,a=1<>>26,s&=67108863,this.words[o]=s}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.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 a=0|this.words[0];e=a===t?0:at.length)return 1;if(this.length=0;r--){var n=0|this.words[r],a=0|t.words[r];if(n!==a){na&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new w(t)},i.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)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=i._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){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(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 i(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):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)},a(y,m),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,a=i}a>>>=22,t.words[n-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},y.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]=a,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new x;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return v[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.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")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.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)},w.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},w.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)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.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 i(1)).iushrn(2);return this.pow(t,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,a),f=this.pow(t,a.addn(1).iushrn(1)),p=this.pow(t,a),d=o;0!==p.cmp(s);){for(var g=p,v=0;0!==g.cmp(s);v++)g=g.redSqr();n(v=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===u)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new k(t)},a(k,w),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),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof e||e,this)},{buffer:104}],96:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,a=t.length,i=0;for(e=0;e>>1;if(!(u<=0)){var h,f=a.mallocDouble(2*u*s),p=a.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)i.init(s),h=i.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=a.mallocDouble(2*u*c),g=a.mallocInt32(c);(c=l(e,u,d,g))>0&&(i.init(s+c),h=1===u?i.sweepBipartite(u,r,0,s,f,p,0,c,d,g):o(u,r,n,s,f,p,c,d,g),a.free(d),a.free(g))}a.free(f),a.free(p)}return h}}}function u(t,e){n.push([t,e])}},{"./lib/intersect":99,"./lib/sweep":103,"typedarray-pool":543}],98:[function(t,e,r){"use strict";var n="d",a="ax",i="vv",o="fp",s="es",l="rs",c="re",u="rb",h="ri",f="rp",p="bs",d="be",g="bb",v="bi",m="bp",y="rv",x="Q",b=[n,a,i,l,c,u,h,p,d,g,v];function _(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],_=b.slice();t||_.splice(3,0,o);var w=["function "+e+"("+_.join()+"){"];function k(e,o){var _=function(t,e,r){var o="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),_=["function ",o,"(",b.join(),"){","var ",s,"=2*",n,";"],w="for(var i="+l+","+f+"="+s+"*"+l+";i<"+c+";++i,"+f+"+="+s+"){var x0="+u+"["+a+"+"+f+"],x1="+u+"["+a+"+"+f+"+"+n+"],xi="+h+"[i];",k="for(var j="+p+","+m+"="+s+"*"+p+";j<"+d+";++j,"+m+"+="+s+"){var y0="+g+"["+a+"+"+m+"],"+(r?"y1="+g+"["+a+"+"+m+"+"+n+"],":"")+"yi="+v+"[j];";return t?_.push(w,x,":",k):_.push(k,x,":",w),r?_.push("if(y1"+d+"-"+p+"){"),t?(k(!0,!1),w.push("}else{"),k(!1,!1)):(w.push("if("+o+"){"),k(!0,!0),w.push("}else{"),k(!0,!1),w.push("}}else{if("+o+"){"),k(!1,!0),w.push("}else{"),k(!1,!1),w.push("}")),w.push("}}return "+e);var T=r.join("")+w.join("");return new Function(T)()}r.partial=_(!1),r.full=_(!0)},{}],99:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,u,S,E,L,C){!function(t,e){var r=8*a.log2(e+1)*(t+1)|0,i=a.nextPow2(b*r);w.length0;){var I=(O-=1)*b,D=w[I],R=w[I+1],F=w[I+2],B=w[I+3],N=w[I+4],j=w[I+5],V=O*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),Y=u,W=S,X=L,Z=C;if(H&&(Y=L,W=C,X=u,Z=S),!(2&j&&(F=v(t,D,R,F,Y,W,q),R>=F)||4&j&&(R=m(t,D,R,F,Y,W,U))>=F)){var J=F-R,K=N-B;if(G){if(t*J*(J+K)=p0)&&!(p1>=hi)",["p0","p1"]),g=u("lo===p0",["p0"]),v=u("lo>>1,f=2*t,p=h,d=s[f*h+e];for(;c=x?(p=y,d=x):m>=_?(p=v,d=m):(p=b,d=_):x>=_?(p=y,d=x):_>=m?(p=v,d=m):(p=b,d=_);for(var w=f*(u-1),k=f*p,T=0;Tr&&a[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;d=0&&a.push("lo=e[k+n]");t.indexOf("hi")>=0&&a.push("hi=e[k+o]");return r.push(n.replace("_",a.join()).replace("$",t)),Function.apply(void 0,r)};var n="for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m"},{}],102:[function(t,e,r){"use strict";e.exports=function(t,e){e<=4*n?a(0,e-1,t):function t(e,r,h){var f=(r-e+1)/6|0,p=e+f,d=r-f,g=e+r>>1,v=g-f,m=g+f,y=p,x=v,b=g,_=m,w=d,k=e+1,T=r-1,A=0;c(y,x,h)&&(A=y,y=x,x=A);c(_,w,h)&&(A=_,_=w,w=A);c(y,b,h)&&(A=y,y=b,b=A);c(x,b,h)&&(A=x,x=b,b=A);c(y,_,h)&&(A=y,y=_,_=A);c(b,_,h)&&(A=b,b=_,_=A);c(x,w,h)&&(A=x,x=w,w=A);c(x,b,h)&&(A=x,x=b,b=A);c(_,w,h)&&(A=_,_=w,w=A);var M=h[2*x];var S=h[2*x+1];var E=h[2*_];var L=h[2*_+1];var C=2*y;var P=2*b;var O=2*w;var z=2*p;var I=2*g;var D=2*d;for(var R=0;R<2;++R){var F=h[C+R],B=h[P+R],N=h[O+R];h[z+R]=F,h[I+R]=B,h[D+R]=N}o(v,e,h);o(m,r,h);for(var j=k;j<=T;++j)if(u(j,M,S,h))j!==k&&i(j,k,h),++k;else if(!u(j,E,L,h))for(;;){if(u(T,E,L,h)){u(T,M,S,h)?(s(j,k,T,h),++k,--T):(i(j,T,h),--T);break}if(--Tt;){var c=r[l-2],u=r[l-1];if(cr[e+1])}function u(t,e,r,n){var a=n[t*=2];return a>>1;i(p,S);for(var E=0,L=0,k=0;k=o)d(c,u,L--,C=C-o|0);else if(C>=0)d(s,l,E--,C);else if(C<=-o){C=-C-o|0;for(var P=0;P>>1;i(p,E);for(var L=0,C=0,P=0,T=0;T>1==p[2*T+3]>>1&&(z=2,T+=1),O<0){for(var I=-(O>>1)-1,D=0;D>1)-1;0===z?d(s,l,L--,I):1===z?d(c,u,C--,I):2===z&&d(h,f,P--,I)}}},scanBipartite:function(t,e,r,n,a,c,u,h,f,v,m,y){var x=0,b=2*t,_=e,w=e+t,k=1,T=1;n?T=o:k=o;for(var A=a;A>>1;i(p,L);for(var C=0,A=0;A=o?(O=!n,M-=o):(O=!!n,M-=1),O)g(s,l,C++,M);else{var z=y[M],I=b*M,D=m[I+e+1],R=m[I+e+1+t];t:for(var F=0;F>>1;i(p,k);for(var T=0,x=0;x=o)s[T++]=b-o;else{var M=d[b-=1],S=v*b,E=f[S+e+1],L=f[S+e+1+t];t:for(var C=0;C=0;--C)if(s[C]===b){for(var I=C+1;I0&&s.length>i){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function f(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled "error" event. ('+e+")");throw l.context=e,l}if(!(r=o[t]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,a=v(t,n),i=0;i=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(var r=e,n=r+1,a=t.length;n=0;i--)this.removeListener(t,e[i]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],106:[function(t,e,r){(function(e){"use strict";var n=t("base64-js"),a=t("ieee754"),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;r.Buffer=e,r.SlowBuffer=function(t){+t!=t&&(t=0);return e.alloc(+t)},r.INSPECT_MAX_BYTES=50;var o=2147483647;function s(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');var r=new Uint8Array(t);return Object.setPrototypeOf(r,e.prototype),r}function e(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 u(t)}return l(t,e,r)}function l(t,r,n){if("string"==typeof t)return function(t,r){"string"==typeof r&&""!==r||(r="utf8");if(!e.isEncoding(r))throw new TypeError("Unknown encoding: "+r);var n=0|p(t,r),a=s(n),i=a.write(t,r);i!==n&&(a=a.slice(0,i));return a}(t,r);if(ArrayBuffer.isView(t))return h(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 "+typeof t);if(j(t,ArrayBuffer)||t&&j(t.buffer,ArrayBuffer))return function(t,r,n){if(r<0||t.byteLength=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function p(t,r){if(e.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(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 '+typeof t);var n=t.length,a=arguments.length>2&&!0===arguments[2];if(!a&&0===n)return 0;for(var i=!1;;)switch(r){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return F(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return B(t).length;default:if(i)return a?-1:F(t).length;r=(""+r).toLowerCase(),i=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,r,n,a,i){if(0===t.length)return-1;if("string"==typeof n?(a=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof r&&(r=e.from(r,a)),e.isBuffer(r))return 0===r.length?-1:v(t,r,n,a,i);if("number"==typeof r)return r&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,n):Uint8Array.prototype.lastIndexOf.call(t,r,n):v(t,[r],n,a,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,r,n,a){var i,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 c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(a){var u=-1;for(i=r;is&&(r=s-l),i=r;i>=0;i--){for(var h=!0,f=0;fa&&(n=a):n=a;var i=e.length;n>i/2&&(n=i/2);for(var o=0;o>8,a=r%256,i.push(a),i.push(n);return i}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],a=e;a239?4:c>223?3:c>191?2:1;if(a+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=t[a+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&(l=(15&c)<<12|(63&i)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&i)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),a+=h}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r="",n=0;for(;nthis.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 E(this,e,r);case"utf8":case"utf-8":return T(this,e,r);case"ascii":return M(this,e,r);case"latin1":case"binary":return S(this,e,r);case"base64":return k(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},e.prototype.toLocaleString=e.prototype.toString,e.prototype.equals=function(t){if(!e.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===e.compare(this,t)},e.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),""},i&&(e.prototype[i]=e.prototype.inspect),e.prototype.compare=function(t,r,n,a,i){if(j(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),!e.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===r&&(r=0),void 0===n&&(n=t?t.length:0),void 0===a&&(a=0),void 0===i&&(i=this.length),r<0||n>t.length||a<0||i>this.length)throw new RangeError("out of range index");if(a>=i&&r>=n)return 0;if(a>=i)return-1;if(r>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(a>>>=0),s=(n>>>=0)-(r>>>=0),l=Math.min(o,s),c=this.slice(a,i),u=t.slice(r,n),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var a=this.length-e;if((void 0===r||r>a)&&(r=a),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return m(this,t,e,r);case"utf8":case"utf-8":return y(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return _(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,t,e,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function M(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;an)&&(r=n);for(var a="",i=e;ir)throw new RangeError("Trying to access beyond buffer length")}function P(t,r,n,a,i,o){if(!e.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||rt.length)throw new RangeError("Index out of range")}function O(t,e,r,n,a,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function z(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,0,r,4),a.write(t,e,r,n,23,4),r+4}function I(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,0,r,8),a.write(t,e,r,n,52,8),r+8}e.prototype.slice=function(t,r){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t],a=1,i=0;++i>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t+--e],a=1;e>0&&(a*=256);)n+=this[t+--e]*a;return n},e.prototype.readUInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),this[t]},e.prototype.readUInt16LE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]|this[t+1]<<8},e.prototype.readUInt16BE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]<<8|this[t+1]},e.prototype.readUInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},e.prototype.readUInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},e.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t],a=1,i=0;++i=(a*=128)&&(n-=Math.pow(2,8*e)),n},e.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=e,a=1,i=this[t+--n];n>0&&(a*=256);)i+=this[t+--n]*a;return i>=(a*=128)&&(i-=Math.pow(2,8*e)),i},e.prototype.readInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},e.prototype.readInt16LE=function(t,e){t>>>=0,e||C(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt16BE=function(t,e){t>>>=0,e||C(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},e.prototype.readInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},e.prototype.readFloatLE=function(t,e){return t>>>=0,e||C(t,4,this.length),a.read(this,t,!0,23,4)},e.prototype.readFloatBE=function(t,e){return t>>>=0,e||C(t,4,this.length),a.read(this,t,!1,23,4)},e.prototype.readDoubleLE=function(t,e){return t>>>=0,e||C(t,8,this.length),a.read(this,t,!0,52,8)},e.prototype.readDoubleBE=function(t,e){return t>>>=0,e||C(t,8,this.length),a.read(this,t,!1,52,8)},e.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var a=1,i=0;for(this[e]=255&t;++i>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var a=r-1,i=1;for(this[e+a]=255&t;--a>=0&&(i*=256);)this[e+a]=t/i&255;return e+r},e.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,255,0),this[e]=255&t,e+1},e.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(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},e.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(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},e.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);P(this,t,e,r,a-1,-a)}var i=0,o=1,s=0;for(this[e]=255&t;++i>0)-s&255;return e+r},e.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);P(this,t,e,r,a-1,-a)}var i=r-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},e.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(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},e.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(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},e.prototype.writeFloatLE=function(t,e,r){return z(this,t,e,!0,r)},e.prototype.writeFloatBE=function(t,e,r){return z(this,t,e,!1,r)},e.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},e.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},e.prototype.copy=function(t,r,n,a){if(!e.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),a||0===a||(a=this.length),r>=t.length&&(r=t.length),r||(r=0),a>0&&a=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),t.length-r=0;--o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,a),r);return i},e.prototype.fill=function(t,r,n,a){if("string"==typeof t){if("string"==typeof r?(a=r,r=0,n=this.length):"string"==typeof n&&(a=n,n=this.length),void 0!==a&&"string"!=typeof a)throw new TypeError("encoding must be a string");if("string"==typeof a&&!e.isEncoding(a))throw new TypeError("Unknown encoding: "+a);if(1===t.length){var i=t.charCodeAt(0);("utf8"===a&&i<128||"latin1"===a)&&(t=i)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(r<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=r;o55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(e-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.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;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function B(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var a=0;a=e.length||a>=t.length);++a)e[a+r]=t[a];return a}function j(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this,t("buffer").Buffer)},{"base64-js":75,buffer:106,ieee754:413}],107:[function(t,e,r){"use strict";var n=t("./lib/monotone"),a=t("./lib/triangulation"),i=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,"delaunay",!0),h=!!c(r,"interior",!0),f=!!c(r,"exterior",!0),p=!!c(r,"infinity",!1);if(!h&&!f||0===t.length)return[];var d=n(t,e);if(u||h!==f||p){for(var g=a(t.length,function(t){return t.map(s).sort(l)}(e)),v=0;v0;){for(var u=r.pop(),s=r.pop(),h=-1,f=-1,l=o[s],d=1;d=0||(e.flip(s,u),a(t,e,r,h,s,f),a(t,e,r,s,f,h),a(t,e,r,f,u,h),a(t,e,r,u,h,f)))}}},{"binary-search-bounds":112,"robust-in-sphere":506}],109:[function(t,e,r){"use strict";var n,a=t("binary-search-bounds");function i(t,e,r,n,a,i,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=a,this.next=i,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,a=0;a0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-a){c[p]=a;u[p];for(var d=0;d<3;++d){var g=f[3*p+d];g>=0&&0===c[g]&&(h[3*p+d]?l.push(g):(s.push(g),c[g]=a))}}}var v=l;l=s,s=v,l.length=0,a=-a}var m=function(t,e,r){for(var n=0,a=0;a1&&a(r[f[p-2]],r[f[p-1]],i)>0;)t.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=u.upperIds;for(p=d.length;p>1&&a(r[d[p-2]],r[d[p-1]],i)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]m[0]&&a.push(new c(m,v,s,h),new c(v,m,o,h))}a.sort(u);for(var y=a[0].a[0]-(1+Math.abs(a[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],h=0,_=a.length;h<_;++h){var w=a[h],k=w.type;k===i?f(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{"binary-search-bounds":112,"robust-orientation":508}],111:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function a(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n=0}}(),i.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},i.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},i.opposite=function(t,e){for(var r=this.stars[e],n=1,a=r.length;n>>1,x=a[m]"];return a?e.indexOf("c")<0?i.push(";if(x===y){return m}else if(x<=y){"):i.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):i.push(";if(",e,"){i=m;"),r?i.push("l=m+1}else{h=m-1}"):i.push("h=m-1}else{l=m+1}"),i.push("}"),a?i.push("return -1};"):i.push("return i};"),i.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],a),n("P","c(x,y)"+t+"0",e,["y","c"],a),"function dispatchBsearch",r,"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],113:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1,r=1;rr?r:t:te?e:t}},{}],117:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var a=new Array(e.length),i=0;ie[2]?1:0)}function m(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--i){var x=e[u=(S=n[i])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var T=b;b=_,_=T}x[0]=b;var A,M=x[1]=S[1];for(a&&(A=x[2]);i>0&&n[i-1][0]===u;){var S,E=(S=n[--i])[1];a?e.push([M,E,A]):e.push([M,E]),M=E}a?e.push([M,_,A]):e.push([M,_])}return f}(t,e,f,v,r));return m(e,y,r),!!y||(f.length>0||v.length>0)}},{"./lib/rat-seg-intersect":118,"big-rat":79,"big-rat/cmp":77,"big-rat/to-float":91,"box-intersect":97,nextafter:452,"rat-vec":487,"robust-segment-intersect":511,"union-find":544}],118:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=s(e,t),h=s(n,r),f=u(i,h);if(0===o(f))return null;var p=s(t,r),d=u(h,p),g=a(d,f),v=c(i,g);return l(t,v)};var n=t("big-rat/mul"),a=t("big-rat/div"),i=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),c=t("rat-vec/muls");function u(t,e){return i(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":78,"big-rat/mul":88,"big-rat/sign":89,"big-rat/sub":90,"rat-vec/add":486,"rat-vec/muls":488,"rat-vec/sub":489}],119:[function(t,e,r){"use strict";var n=t("clamp");function a(t,e){null==e&&(e=!0);var r=t[0],a=t[1],i=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,a*=255,i*=255,o*=255),16777216*(r=255&n(r,0,255))+((a=255&n(a,0,255))<<16)+((i=255&n(i,0,255))<<8)+(o=255&n(o,0,255))}e.exports=a,e.exports.to=a,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,a=(65280&t)>>>8,i=255&t;return!1===e?[r,n,a,i]:[r/255,n/255,a/255,i/255]}},{clamp:116}],120:[function(t,e,r){"use strict";e.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]}},{}],121:[function(t,e,r){"use strict";var n=t("color-rgba"),a=t("clamp"),i=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(i(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]=a(Math.floor(255*t[0]),0,255),r[1]=a(Math.floor(255*t[1]),0,255),r[2]=a(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:a(Math.floor(255*t[3]),0,255)),r)}},{clamp:116,"color-rgba":123,dtype:170}],122:[function(t,e,r){(function(r){"use strict";var n=t("color-name"),a=t("is-plain-obj"),i=t("defined");e.exports=function(t){var e,s,l=[],c=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)c=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),h=u.length,f=h<=4;c=1,f?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===h&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===h&&(c=parseInt(u[6]+u[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 p=e[1],d="rgb"===p,u=p.replace(/a$/,"");s=u;var h="cmyk"===u?4:"gray"===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===h?parseFloat(t)/100:"rgb"===u?255*parseFloat(t)/100:parseFloat(t);if("h"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=d?1:void 0===l[h]?1:l[h],l=l.slice(0,h)}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(a(t)){var g=i(t.r,t.red,t.R,null);null!==g?(s="rgb",l=[g,i(t.g,t.green,t.G),i(t.b,t.blue,t.B)]):(s="hsl",l=[i(t.h,t.hue,t.H),i(t.s,t.saturation,t.S),i(t.l,t.lightness,t.L,t.b,t.brightness)]),c=i(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",c=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":120,defined:165,"is-plain-obj":423}],123:[function(t,e,r){"use strict";var n=t("color-parse"),a=t("color-space/hsl"),i=t("clamp");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=i(r.values[0],0,255),e[1]=i(r.values[1],0,255),e[2]=i(r.values[2],0,255),"h"===r.space[0]&&(e=a.rgb(e)),e.push(i(r.alpha,0,1)),e):[]}},{clamp:116,"color-parse":122,"color-space/hsl":124}],124:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,a,i,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[i=255*l,i,i];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,i=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,a[c]=255*i;return a}},n.hsl=function(t){var e,r,n=t[0]/255,a=t[1]/255,i=t[2]/255,o=Math.min(n,a,i),s=Math.max(n,a,i),l=s-o;return s===o?e=0:n===s?e=(a-i)/l:a===s?e=2+(i-n)/l:i===s&&(e=4+(n-a)/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]}},{"./rgb":125}],125:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],126:[function(t,e,r){e.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]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,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]}]}},{}],127:[function(t,e,r){"use strict";var n=t("./colorScale"),a=t("lerp");function i(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(",")+")"}e.exports=function(t){var e,r,l,c,u,h,f,p,d,g;t||(t={});p=(t.nshades||72)-1,f=t.format||"hex",(h=t.colormap)||(h="jet");if("string"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+" not a supported colorscale");u=n[h]}else{if(!Array.isArray(h))throw Error("unsupported colormap option",h);u=h.slice()}if(u.length>p+1)throw new Error(h+" map requires nshades to be at least size "+u.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=u.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 v=u.map(function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=d[0]+(d[1]-d[0])*r,n)}),m=[];for(g=0;g0?-1:l(t,e,i)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:a(c-s)}var f=n(t,e,r);if(f>0)return o>0&&n(t,e,i)>0?1:-1;if(f<0)return o>0||n(t,e,i)>0?1:-1;var p=n(t,e,i);return p>0?1:l(t,e,r)?1:-1};var n=t("robust-orientation"),a=t("signum"),i=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=i(t[0],-e[0]),a=i(t[1],-e[1]),l=i(r[0],-e[0]),c=i(r[1],-e[1]),u=s(o(n,l),o(a,c));return u[u.length-1]>=0}},{"robust-orientation":508,"robust-product":509,"robust-sum":513,signum:514,"two-sum":542}],129:[function(t,e,r){e.exports=function(t,e){var r=t.length,i=t.length-e.length;if(i)return i;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(i=o+t[2]-(s+e[2]))return i;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],h=t[1],f=t[2],p=t[3],d=e[0],g=e[1],v=e[2],m=e[3];return u+h+f+p-(d+g+v+m)||n(u,h,f,p)-n(d,g,v,m,d)||n(u+h,u+f,u+p,h+f,h+p,f+p)-n(d+g,d+v,d+m,g+v,g+m,v+m)||n(u+h+f,u+h+p,u+f+p,h+f+p)-n(d+g+v,d+g+m,d+v+m,g+v+m);default:for(var y=t.slice().sort(a),x=e.slice().sort(a),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},{}],133:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var a=new Array(r),i=e[r-1],o=0;o=e[l]&&(s+=1);i[o]=s}}return t}(o,r)}};var n=t("incremental-convex-hull"),a=t("affine-hull")},{"affine-hull":64,"incremental-convex-hull":414}],135:[function(t,e,r){e.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|\xe7)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|\xe9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xe9)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|\xe3)o.?tom(e|\xe9)",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"}},{}],136:[function(t,e,r){e.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]},{}],137:[function(t,e,r){e.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]},{}],138:[function(t,e,r){e.exports=["normal","italic","oblique"]},{}],139:[function(t,e,r){e.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]},{}],140:[function(t,e,r){"use strict";e.exports={parse:t("./parse"),stringify:t("./stringify")}},{"./parse":142,"./stringify":143}],141:[function(t,e,r){"use strict";var n=t("css-font-size-keywords");e.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},{"css-font-size-keywords":136}],142:[function(t,e,r){"use strict";var n=t("unquote"),a=t("css-global-keywords"),i=t("css-system-font-keywords"),o=t("css-font-weight-keywords"),s=t("css-font-style-keywords"),l=t("css-font-stretch-keywords"),c=t("string-split-by"),u=t("./lib/util").isSize;e.exports=f;var h=f.cache={};function f(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(h[t])return h[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==i.indexOf(t))return h[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},f=c(t,/\s+/);e=f.shift();){if(-1!==a.indexOf(e))return["style","variant","weight","stretch"].forEach(function(t){r[t]=e}),h[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===f[0]&&(f.shift(),r.lineHeight=p(f.shift())),!f.length)throw new Error("Missing required font-family.");return r.family=c(f.join(" "),/\s*,\s*/).map(n),h[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}},{"./lib/util":141,"css-font-stretch-keywords":137,"css-font-style-keywords":138,"css-font-weight-keywords":139,"css-global-keywords":144,"css-system-font-keywords":145,"string-split-by":527,unquote:546}],143:[function(t,e,r){"use strict";var n=t("pick-by-alias"),a=t("./lib/util").isSize,i=g(t("css-global-keywords")),o=g(t("css-system-font-keywords")),s=g(t("css-font-weight-keywords")),l=g(t("css-font-style-keywords")),c=g(t("css-font-stretch-keywords")),u={normal:1,"small-caps":1},h={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},f="1rem",p="serif";function d(t,e){if(t&&!e[t]&&!i[t])throw Error("Unknown keyword `"+t+"`");return t}function g(t){for(var e={},r=0;r=0;--p)i[p]=c*t[p]+u*e[p]+h*r[p]+f*n[p];return i}return c*t+u*e+h*r+f*n},e.exports.derivative=function(t,e,r,n,a,i){var o=6*a*a-6*a,s=3*a*a-4*a+1,l=-6*a*a+6*a,c=3*a*a-2*a;if(t.length){i||(i=new Array(t.length));for(var u=t.length-1;u>=0;--u)i[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return i}return o*t+s*e+l*r[u]+c*n}},{}],147:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");function a(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new a;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i0)throw new Error("cwise: pre() block may not reference array args");if(i0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===o){if(e.indexArgs.push(i),i0)throw new Error("cwise: pre() block may not reference array index");if(i0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(i),ir.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":149}],148:[function(t,e,r){"use strict";var n=t("uniq");function a(t,e,r){var n,a,i=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,h=0;for(n=0;n0&&l.push("var "+c.join(",")),n=i-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",n,"0&&l.push(["index[",h,"]-=s",h].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function i(t,e,r){for(var n=t.body,a=[],i=[],o=0;o0&&y.push("shape=SS.slice(0)"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l0&&m.push("var "+y.join(",")),l=0;l3&&m.push(i(t.pre,t,s));var k=i(t.body,t,s),T=function(t){for(var e=0,r=t[0].length;e0,c=[],u=0;u0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",e[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",e[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",e[u],"]=j",u].join(""));for(u=0;u3&&m.push(i(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+m.join("\n")+"\n----------");var A=[t.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",T,function(t){for(var e=new Array(t.length),r=!0,n=0;n0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}(s)].join("");return new Function(["function ",A,"(",v.join(","),"){",m.join("\n"),"} return ",A].join(""))()}},{uniq:545}],149:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],a=t.funcName+"_cwise_thunk";e.push(["return function ",a,"(",t.shimArgs.join(","),"){"].join(""));for(var i=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+h+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+h+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[u])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),u=0;ue?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}var n=r(e),a=n.right,i=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,a=t.length,i=0,o=-1,l=0,c=0;if(null==e)for(;++o1)return c/(i-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,a,i=t.length,o=-1;if(null==e){for(;++o=r)for(n=a=r;++or&&(n=r),a=r)for(n=a=r;++or&&(n=r),a=0?(i>=m?10:i>=y?5:i>=x?2:1)*Math.pow(10,a):-Math.pow(10,-a)/(i>=m?10:i>=y?5:i>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),a=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/a;return i>=m?a*=10:i>=y?a*=5:i>=x&&(a*=2),e=1)return+r(t[n-1],n-1,t);var n,a=(n-1)*e,i=Math.floor(a),o=+r(t[i],i,t);return o+(+r(t[i+1],i+1,t)-o)*(a-i)}}function T(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i=r)for(n=r;++ir&&(n=r)}else for(;++i=r)for(n=r;++ir&&(n=r);return n}function A(t){if(!(a=t.length))return[];for(var e=-1,r=T(t,M),n=new Array(r);++et?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var i,o,s=n.length,l=new Array(s);for(i=0;ih;)f.pop(),--p;var d,g=new Array(p+1);for(i=0;i<=p;++i)(d=g[i]=[]).x0=i>0?f[i-1]:u,d.x1=i=r)for(n=r;++in&&(n=r)}else for(;++i=r)for(n=r;++in&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,a=n,i=-1,o=0;if(null==e)for(;++i=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r},t.min=T,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,a=t[0],i=new Array(n<0?0:n);r0)return[t];if((n=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),i=new Array(a=Math.ceil(e-t+1));++s=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,h,f=-1,p=n.length,d=l[a++],g=r(),v=i();++fl.length)return r;var a,i=c[n-1];return null!=e&&n>=l.length?a=r.entries():(a=[],r.each(function(e,r){a.push({key:r,values:t(e,n)})})),null!=i?a.sort(function(t,e){return i(t.key,e.key)}):a}(u(t,0,i,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],155:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var a="\\s*([+-]?\\d+)\\s*",i="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp("^rgb\\("+[a,a,a]+"\\)$"),u=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),h=new RegExp("^rgba\\("+[a,a,a,i]+"\\)$"),f=new RegExp("^rgba\\("+[o,o,o,i]+"\\)$"),p=new RegExp("^hsl\\("+[i,o,o]+"\\)$"),d=new RegExp("^hsla\\("+[i,o,o,i]+"\\)$"),g={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function v(t){var e;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?m(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(t))?y(e[1],e[2],e[3],e[4]):(e=f.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?k(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?k(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?m(g[t]):"transparent"===t?new _(NaN,NaN,NaN,0):null}function m(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=v(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function k(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function T(t,e,r,a){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,a=t.b/255,i=Math.min(e,r,a),o=Math.max(e,r,a),s=NaN,l=o-i,c=(o+i)/2;return l?(s=e===o?(r-a)/l+6*(r0&&c<1?0:s,new A(s,l,c,t.opacity)}(t):new A(t,e,r,null==a?1:a)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function M(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+w(this.r)+w(this.g)+w(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),e(A,T,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(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,a=2*r-n;return new _(M(t>=240?t-240:t+120,a,n),M(t,a,n),M(t<120?t+240:t-120,a,n),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}}));var S=Math.PI/180,E=180/Math.PI,L=.96422,C=1,P=.82521,O=4/29,z=6/29,I=3*z*z,D=z*z*z;function R(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof G){if(isNaN(t.h))return new B(t.l,0,0,t.opacity);var e=t.h*S;return new B(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r,n,a=U(t.r),i=U(t.g),o=U(t.b),s=N((.2225045*a+.7168786*i+.0606169*o)/C);return a===i&&i===o?r=n=s:(r=N((.4360747*a+.3850649*i+.1430804*o)/L),n=N((.0139322*a+.0971045*i+.7141733*o)/P)),new B(116*s-16,500*(r-s),200*(s-n),t.opacity)}function F(t,e,r,n){return 1===arguments.length?R(t):new B(t,e,r,null==n?1:n)}function B(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function N(t){return t>D?Math.pow(t,1/3):t/I+O}function j(t){return t>z?t*t*t:I*(t-O)}function V(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function q(t){if(t instanceof G)return new G(t.h,t.c,t.l,t.opacity);if(t instanceof B||(t=R(t)),0===t.a&&0===t.b)return new G(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*E;return new G(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function H(t,e,r,n){return 1===arguments.length?q(t):new G(t,e,r,null==n?1:n)}function G(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(B,F,r(n,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new _(V(3.1338561*(e=L*j(e))-1.6168667*(t=C*j(t))-.4906146*(r=P*j(r))),V(-.9787684*e+1.9161415*t+.033454*r),V(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(G,H,r(n,{brighter:function(t){return new G(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new G(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return R(this).rgb()}}));var Y=-.14861,W=1.78277,X=-.29227,Z=-.90649,J=1.97294,K=J*Z,Q=J*W,$=W*X-Z*Y;function tt(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,a=($*n+K*e-Q*r)/($+K-Q),i=n-a,o=(J*(r-a)-X*i)/Z,s=Math.sqrt(o*o+i*i)/(J*a*(1-a)),l=s?Math.atan2(o,i)*E-120:NaN;return new et(l<0?l+360:l,s,a,t.opacity)}(t):new et(t,e,r,null==n?1:n)}function et(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(et,tt,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*S,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),a=Math.sin(t);return new _(255*(e+r*(Y*n+W*a)),255*(e+r*(X*n+Z*a)),255*(e+r*(J*n)),this.opacity)}})),t.color=v,t.rgb=b,t.hsl=T,t.lab=F,t.hcl=H,t.lch=function(t,e,r,n){return 1===arguments.length?q(t):new G(r,e,t,null==n?1:n)},t.gray=function(t,e){return new B(t,0,0,null==e?1:e)},t.cubehelix=tt,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],156:[function(t,e,r){var n;n=this,function(t){"use strict";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,a={};e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++l0)for(var r,n,a=new Array(r),i=0;if+c||np+c||iu.index){var h=f-s.x-s.vx,v=p-s.y-s.vy,m=h*h+v*v;mt.r&&(t.r=t[e].r)}function f(){if(r){var e,a,i=r.length;for(n=new Array(i),e=0;e=c)){(t.data!==r||t.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d1?(null==r?u.remove(t):u.set(t,y(r)),e):u.get(t)},find:function(e,r,n){var a,i,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c1?(f.on(t,r),e):f.on(t)}}},t.forceX=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i=0;)e+=r[n].value;else e=1;t.value=e}function i(t,e){var r,n,a,i,s,u=new c(t),h=+t.value&&(u.value=t.value),f=[u];for(null==e&&(e=o);r=f.pop();)if(h&&(r.value=+r.data.value),(a=e(r.data))&&(s=a.length))for(r.children=new Array(s),i=s-1;i>=0;--i)f.push(n=r.children[i]=new c(a[i])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=i.prototype={constructor:c,count:function(){return this.eachAfter(a)},each:function(t){var e,r,n,a,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(t(i),r=i.children)for(n=0,a=r.length;n=0;--r)a.push(e[r]);return this},sum:function(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,a=n&&n.length;--a>=0;)r+=n[a].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(),a=null;for(t=r.pop(),e=n.pop();t===e;)a=t,t=r.pop(),e=n.pop();return a}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var a=n.length;t!==r;)n.splice(a,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 i(this).eachBefore(s)}};var u=Array.prototype.slice;function h(t){for(var e,r,n=0,a=(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}(u.call(t))).length,i=[];n0&&r*r>n*n+a*a}function g(t,e){for(var r=0;r(o*=o)?(n=(c+o-a)/(2*c),i=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-i*l,r.y=t.y-n*l+i*s):(n=(c+a-o)/(2*c),i=Math.sqrt(Math.max(0,a/c-n*n)),r.x=e.x+n*s-i*l,r.y=e.y+n*l+i*s)):(r.x=e.x+r.r,r.y=e.y)}function b(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function _(t){var e=t._,r=t.next._,n=e.r+r.r,a=(e.x*r.r+r.x*e.r)/n,i=(e.y*r.r+r.y*e.r)/n;return a*a+i*i}function w(t){this._=t,this.next=null,this.previous=null}function k(t){if(!(a=t.length))return 0;var e,r,n,a,i,o,s,l,c,u,f;if((e=t[0]).x=0,e.y=0,!(a>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(a>2))return e.r+r.r;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;sf&&(f=s),v=u*u*g,(p=Math.max(f/v,v/h))>d){u-=s;break}d=p}m.push(o={value:u,dice:l1?e:1)},r}(G);var X=function t(e){function r(t,r,n,a,i){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,h=-1,f=o.length,p=t.value;++h1?e:1)},r}(G);t.cluster=function(){var t=e,a=1,i=1,o=!1;function s(e){var s,l=0;e.eachAfter(function(e){var a=e.children;a?(e.x=function(t){return t.reduce(r,0)/t.length}(a),e.y=function(t){return 1+t.reduce(n,0)}(a)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)});var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),h=c.x-t(c,u)/2,f=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*a,t.y=(e.y-t.y)*i}:function(t){t.x=(t.x-h)/(f-h)*a,t.y=(1-(e.y?t.y/e.y:1))*i})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,a=+t[0],i=+t[1],s):o?null:[a,i]},s.nodeSize=function(t){return arguments.length?(o=!0,a=+t[0],i=+t[1],s):o?[a,i]:null},s},t.hierarchy=i,t.pack=function(){var t=null,e=1,r=1,n=A;function a(a){return a.x=e/2,a.y=r/2,t?a.eachBefore(E(t)).eachAfter(L(n,.5)).eachBefore(C(1)):a.eachBefore(E(S)).eachAfter(L(A,1)).eachAfter(L(n,a.r/Math.min(e,r))).eachBefore(C(Math.min(e,r)/(2*a.r))),a}return a.radius=function(e){return arguments.length?(t=null==(r=e)?null:T(r),a):t;var r},a.size=function(t){return arguments.length?(e=+t[0],r=+t[1],a):[e,r]},a.padding=function(t){return arguments.length?(n="function"==typeof t?t:M(+t),a):n},a},t.packSiblings=function(t){return k(t),t},t.packEnclose=h,t.partition=function(){var t=1,e=1,r=0,n=!1;function a(a){var i=a.height+1;return a.x0=a.y0=r,a.x1=t,a.y1=e/i,a.eachBefore(function(t,e){return function(n){n.children&&O(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var a=n.x0,i=n.y0,o=n.x1-r,s=n.y1-r;o0)throw new Error("cycle");return i}return r.id=function(e){return arguments.length?(t=T(e),r):t},r.parentId=function(t){return arguments.length?(e=T(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function a(a){var l=function(t){for(var e,r,n,a,i,o=new q(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(i=n.length),a=i-1;a>=0;--a)s.push(r=e.children[a]=new q(n[a],a)),r.parent=e;return(o.parent=new q(null,0)).children=[o],o}(a);if(l.eachAfter(i),l.parent.m=-l.z,l.eachBefore(o),n)a.eachBefore(s);else{var c=a,u=a,h=a;a.eachBefore(function(t){t.xu.x&&(u=t),t.depth>h.depth&&(h=t)});var f=c===u?1:t(c,u)/2,p=f-c.x,d=e/(u.x+f+p),g=r/(h.depth||1);a.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*g})}return a}function i(e){var r=e.children,n=e.parent.children,a=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,a=t.children,i=a.length;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var i=(r[0].z+r[r.length-1].z)/2;a?(e.z=a.z+t(e._,a._),e.m=e.z-i):e.z=i}else a&&(e.z=a.z+t(e._,a._));e.parent.A=function(e,r,n){if(r){for(var a,i=e,o=e,s=r,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=j(s),i=N(i),s&&i;)l=N(l),(o=j(o)).a=e,(a=s.z+h-i.z-c+t(s._,i._))>0&&(V(U(s,e,n),e,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=h-u),i&&!N(l)&&(l.t=i,l.m+=c-f,n=e)}return n}(e,a,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 a.separation=function(e){return arguments.length?(t=e,a):t},a.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],a):n?null:[e,r]},a.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],a):n?[e,r]:null},a},t.treemap=function(){var t=W,e=!1,r=1,n=1,a=[0],i=A,o=A,s=A,l=A,c=A;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(h),a=[0],e&&t.eachBefore(P),t}function h(e){var r=a[e.depth],n=e.x0+r,u=e.y0+r,h=e.x1-r,f=e.y1-r;h=r-1){var u=s[e];return u.x0=a,u.y0=i,u.x1=o,void(u.y1=l)}for(var h=c[e],f=n/2+h,p=e+1,d=r-1;p>>1;c[g]l-i){var y=(a*m+o*v)/n;t(e,p,v,a,i,y,l),t(p,r,m,y,i,o,l)}else{var x=(i*m+l*v)/n;t(e,p,v,a,i,o,x),t(p,r,m,a,x,o,l)}}(0,l,t.value,e,r,n,a)},t.treemapDice=O,t.treemapSlice=H,t.treemapSliceDice=function(t,e,r,n,a){(1&t.depth?H:O)(t,e,r,n,a)},t.treemapSquarify=W,t.treemapResquarify=X,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],159:[function(t,e,r){var n,a;n=this,a=function(t,e){"use strict";function r(t,e,r,n,a){var i=t*t,o=i*t;return((1-3*t+3*i-o)*e+(4-6*i+3*o)*r+(1+3*t+3*i-3*o)*n+o*a)/6}function n(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],o=t[a+1],s=a>0?t[a-1]:2*i-o,l=a180||r<-180?r-360*Math.round(r/360):r):i(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c: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):i(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):i(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function a(t,r){var a=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),i=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=a(e),t.g=i(e),t.b=o(e),t.opacity=s(e),t+""}}return a.gamma=t,a}(1);function h(t){return function(r){var n,a,i=r.length,o=new Array(i),s=new Array(i),l=new Array(i);for(n=0;ni&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:v(r,n)})),i=x.lastIndex;return i180?e+=360:e-t>180&&(t+=360),i.push({i:r.push(a(r)+"rotate(",null,n)-2,x:v(t,e)})):e&&r.push(a(r)+"rotate("+e+n)}(i.rotate,o.rotate,s,l),function(t,e,r,i){t!==e?i.push({i:r.push(a(r)+"skewX(",null,n)-2,x:v(t,e)}):e&&r.push(a(r)+"skewX("+e+n)}(i.skewX,o.skewX,s,l),function(t,e,r,n,i,o){if(t!==r||e!==n){var s=i.push(a(i)+"scale(",null,",",null,")");o.push({i:s-4,x:v(t,r)},{i:s-2,x:v(e,n)})}else 1===r&&1===n||i.push(a(i)+"scale("+r+","+n+")")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,s,l),i=o=null,function(t){for(var e,r=-1,n=l.length;++r1e-6)if(Math.abs(h*l-c*u)>1e-6&&i){var p=n-o,d=a-s,g=l*l+c*c,v=p*p+d*d,m=Math.sqrt(g),y=Math.sqrt(f),x=i*Math.tan((e-Math.acos((g+f-v)/(2*m*y)))/2),b=x/y,_=x/m;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(r+b*h)),this._+="A"+i+","+i+",0,0,"+ +(h*p>u*d)+","+(this._x1=t+_*l)+","+(this._y1=r+_*c)}else this._+="L"+(this._x1=t)+","+(this._y1=r);else;},arc:function(t,a,i,o,s,l){t=+t,a=+a;var c=(i=+i)*Math.cos(o),u=i*Math.sin(o),h=t+c,f=a+u,p=1^l,d=l?o-s:s-o;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+h+","+f:(Math.abs(this._x1-h)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+h+","+f),i&&(d<0&&(d=d%r+r),d>n?this._+="A"+i+","+i+",0,1,"+p+","+(t-c)+","+(a-u)+"A"+i+","+i+",0,1,"+p+","+(this._x1=h)+","+(this._y1=f):d>1e-6&&(this._+="A"+i+","+i+",0,"+ +(d>=e)+","+p+","+(this._x1=t+i*Math.cos(s))+","+(this._y1=a+i*Math.sin(s))))},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._}},t.path=i,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],161:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var a,i,o,s,l,c,u,h,f,p=t._root,d={data:n},g=t._x0,v=t._y0,m=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(i=(g+m)/2))?g=i:m=i,(u=r>=(o=(v+y)/2))?v=o:y=o,a=p,!(p=p[h=u<<1|c]))return a[h]=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,a?a[h]=d:t._root=d,t;do{a=a?a[h]=new Array(4):t._root=new Array(4),(c=e>=(i=(g+m)/2))?g=i:m=i,(u=r>=(o=(v+y)/2))?v=o:y=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=i));return a[f]=p,a[h]=d,t}var r=function(t,e,r,n,a){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=a};function n(t){return t[0]}function a(t){return t[1]}function i(t,e,r){var i=new o(null==e?n:e,null==r?a:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function o(t,e,r,n,a,i){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=a,this._y1=i,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=i.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var a=0;a<4;++a)(e=n.source[a])&&(e.length?t.push({source:e,target:n.target[a]=new Array(4)}):n.target[a]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,a,i,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,h=-1/0,f=-1/0;for(n=0;nh&&(h=a),if&&(f=i));for(ht||t>a||n>e||e>i))return this;var o,s,l=a-r,c=this._root;switch(s=(e<(n+i)/2)<<1|t<(r+a)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(i=n+(l*=2),t>(a=r+l)||e>i);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(i=n+(l*=2),(r=a-l)>t||e>i);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=i-(l*=2),t>(a=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=i-(l*=2),(r=a-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=a,this._y1=i,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var a,i,o,s,l,c,u,h=this._x0,f=this._y0,p=this._x1,d=this._y1,g=[],v=this._root;for(v&&g.push(new r(v,h,f,p,d)),null==n?n=1/0:(h=t-n,f=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(v=c.node)||(i=c.x0)>p||(o=c.y0)>d||(s=c.x1)=y)<<1|t>=m)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,v.data),b=e-+this._y.call(null,v.data),_=x*x+b*b;if(_=(s=(d+v)/2))?d=s:v=s,(u=o>=(l=(g+m)/2))?g=l:m=l,e=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(a=p.next)&&delete p.next,n?(a?n.next=a:delete n.next,this):e?(a?e[h]=a:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=a,this)},l.removeAll=function(t){for(var e=0,r=t.length;e=1?f:t<=-1?-f:Math.asin(t)}function g(t){return t.innerRadius}function v(t){return t.outerRadius}function m(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,a,i,s){var l=t-r,u=e-n,h=(s?i:-i)/c(l*l+u*u),f=h*u,p=-h*l,d=t+f,g=e+p,v=r+f,m=n+p,y=(d+v)/2,x=(g+m)/2,b=v-d,_=m-g,w=b*b+_*_,k=a-i,T=d*m-v*g,A=(_<0?-1:1)*c(o(0,k*k*w-T*T)),M=(T*_-b*A)/w,S=(-T*b-_*A)/w,E=(T*_+b*A)/w,L=(-T*b+_*A)/w,C=M-y,P=S-x,O=E-y,z=L-x;return C*C+P*P>O*O+z*z&&(M=E,S=L),{cx:M,cy:S,x01:-f,y01:-p,x11:M*(a/k-1),y11:S*(a/k-1)}}function _(t){this._context=t}function w(t){return new _(t)}function k(t){return t[0]}function T(t){return t[1]}function A(){var t=k,n=T,a=r(!0),i=null,o=w,s=null;function l(r){var l,c,u,h=r.length,f=!1;for(null==i&&(s=o(u=e.path())),l=0;l<=h;++l)!(l=h;--f)c.point(m[f],y[f]);c.lineEnd(),c.areaEnd()}v&&(m[u]=+t(p,u,r),y[u]=+a(p,u,r),c.point(n?+n(p,u,r):m[u],i?+i(p,u,r):y[u]))}if(d)return c=null,d+""||null}function h(){return A().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),i=null,u):a},u.y0=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),u):a},u.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:r(+t),u):i},u.lineX0=u.lineY0=function(){return h().x(t).y(a)},u.lineY1=function(){return h().x(t).y(i)},u.lineX1=function(){return h().x(n).y(a)},u.defined=function(t){return arguments.length?(o="function"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function S(t,e){return et?1:e>=t?0:NaN}function E(t){return t}_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var L=P(w);function C(t){this._curve=t}function P(t){function e(e){return new C(t(e))}return e._curve=t,e}function O(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function z(){return O(A().curve(L))}function I(){var t=M().curve(L),e=t.curve,r=t.lineX0,n=t.lineX1,a=t.lineY0,i=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return O(r())},delete t.lineX0,t.lineEndAngle=function(){return O(n())},delete t.lineX1,t.lineInnerRadius=function(){return O(a())},delete t.lineY0,t.lineOuterRadius=function(){return O(i())},delete t.lineY1,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function D(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}C.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var R=Array.prototype.slice;function F(t){return t.source}function B(t){return t.target}function N(t){var n=F,a=B,i=k,o=T,s=null;function l(){var r,l=R.call(arguments),c=n.apply(this,l),u=a.apply(this,l);if(s||(s=r=e.path()),t(s,+i.apply(this,(l[0]=c,l)),+o.apply(this,l),+i.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(a=t,l):a},l.x=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),l):i},l.y=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function j(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,a,n,a)}function V(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+a)/2,n,r,n,a)}function U(t,e,r,n,a){var i=D(e,r),o=D(e,r=(r+a)/2),s=D(n,r),l=D(n,a);t.moveTo(i[0],i[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var q={draw:function(t,e){var r=Math.sqrt(e/h);t.moveTo(r,0),t.arc(0,0,r,0,p)}},H={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},G=Math.sqrt(1/3),Y=2*G,W={draw:function(t,e){var r=Math.sqrt(e/Y),n=r*G;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},X=Math.sin(h/10)/Math.sin(7*h/10),Z=Math.sin(p/10)*X,J=-Math.cos(p/10)*X,K={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=Z*r,a=J*r;t.moveTo(0,-r),t.lineTo(n,a);for(var i=1;i<5;++i){var o=p*i/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*a,l*n+s*a)}t.closePath()}},Q={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},$=Math.sqrt(3),tt={draw:function(t,e){var r=-Math.sqrt(e/(3*$));t.moveTo(0,2*r),t.lineTo(-$*r,-r),t.lineTo($*r,-r),t.closePath()}},et=-.5,rt=Math.sqrt(3)/2,nt=1/Math.sqrt(12),at=3*(nt/2+1),it={draw:function(t,e){var r=Math.sqrt(e/at),n=r/2,a=r*nt,i=n,o=r*nt+r,s=-i,l=o;t.moveTo(n,a),t.lineTo(i,o),t.lineTo(s,l),t.lineTo(et*n-rt*a,rt*n+et*a),t.lineTo(et*i-rt*o,rt*i+et*o),t.lineTo(et*s-rt*l,rt*s+et*l),t.lineTo(et*n+rt*a,et*a-rt*n),t.lineTo(et*i+rt*o,et*o-rt*i),t.lineTo(et*s+rt*l,et*l-rt*s),t.closePath()}},ot=[q,H,W,Q,K,tt,it];function st(){}function lt(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function ct(t){this._context=t}function ut(t){this._context=t}function ht(t){this._context=t}function ft(t,e){this._basis=new ct(t),this._beta=e}ct.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:lt(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ut.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,a=t[0],i=e[0],o=t[r]-a,s=e[r]-i,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+n*o),this._beta*e[l]+(1-this._beta)*(i+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var pt=function t(e){function r(t){return 1===e?new ct(t):new ft(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function dt(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function gt(t,e){this._context=t,this._k=(1-e)/6}gt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:dt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var vt=function t(e){function r(t){return new gt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function mt(t,e){this._context=t,this._k=(1-e)/6}mt.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var yt=function t(e){function r(t){return new mt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function xt(t,e){this._context=t,this._k=(1-e)/6}xt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var bt=function t(e){function r(t){return new xt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function _t(t,e,r){var n=t._x1,a=t._y1,i=t._x2,o=t._y2;if(t._l01_a>u){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,a=(a*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>u){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*c+t._x1*t._l23_2a-e*t._l12_2a)/h,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,a,i,o,t._x2,t._y2)}function wt(t,e){this._context=t,this._alpha=e}wt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function r(t){return e?new wt(t,e):new gt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var At=function t(e){function r(t){return e?new Tt(t,e):new mt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Mt(t,e){this._context=t,this._alpha=e}Mt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var St=function t(e){function r(t){return e?new Mt(t,e):new xt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Et(t){this._context=t}function Lt(t){return t<0?-1:1}function Ct(t,e,r){var n=t._x1-t._x0,a=e-t._x1,i=(t._y1-t._y0)/(n||a<0&&-0),o=(r-t._y1)/(a||n<0&&-0),s=(i*a+o*n)/(n+a);return(Lt(i)+Lt(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(s))||0}function Pt(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function Ot(t,e,r){var n=t._x0,a=t._y0,i=t._x1,o=t._y1,s=(i-n)/3;t._context.bezierCurveTo(n+s,a+s*e,i-s,o-s*r,i,o)}function zt(t){this._context=t}function It(t){this._context=new Dt(t)}function Dt(t){this._context=t}function Rt(t){this._context=t}function Ft(t){var e,r,n=t.length-1,a=new Array(n),i=new Array(n),o=new Array(n);for(a[0]=0,i[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)a[e]=(o[e]-a[e+1])/i[e];for(i[n-1]=(t[n]+a[n-1])/2,e=0;e1)for(var r,n,a,i=1,o=t[e[0]],s=o.length;i=0;)r[e]=e;return r}function Vt(t,e){return t[e]}function Ut(t){var e=t.map(qt);return jt(t).sort(function(t,r){return e[t]-e[r]})}function qt(t){for(var e,r=-1,n=0,a=t.length,i=-1/0;++ri&&(i=e,n=r);return n}function Ht(t){var e=t.map(Gt);return jt(t).sort(function(t,r){return e[t]-e[r]})}function Gt(t){for(var e,r=0,n=-1,a=t.length;++n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=g,o=v,_=r(0),w=null,k=m,T=y,A=x,M=null;function S(){var r,g,v,m=+t.apply(this,arguments),y=+o.apply(this,arguments),x=k.apply(this,arguments)-f,S=T.apply(this,arguments)-f,E=n(S-x),L=S>x;if(M||(M=r=e.path()),yu)if(E>p-u)M.moveTo(y*i(x),y*l(x)),M.arc(0,0,y,x,S,!L),m>u&&(M.moveTo(m*i(S),m*l(S)),M.arc(0,0,m,S,x,L));else{var C,P,O=x,z=S,I=x,D=S,R=E,F=E,B=A.apply(this,arguments)/2,N=B>u&&(w?+w.apply(this,arguments):c(m*m+y*y)),j=s(n(y-m)/2,+_.apply(this,arguments)),V=j,U=j;if(N>u){var q=d(N/m*l(B)),H=d(N/y*l(B));(R-=2*q)>u?(I+=q*=L?1:-1,D-=q):(R=0,I=D=(x+S)/2),(F-=2*H)>u?(O+=H*=L?1:-1,z-=H):(F=0,O=z=(x+S)/2)}var G=y*i(O),Y=y*l(O),W=m*i(D),X=m*l(D);if(j>u){var Z,J=y*i(z),K=y*l(z),Q=m*i(I),$=m*l(I);if(E1?0:v<-1?h:Math.acos(v))/2),it=c(Z[0]*Z[0]+Z[1]*Z[1]);V=s(j,(m-it)/(at-1)),U=s(j,(y-it)/(at+1))}}F>u?U>u?(C=b(Q,$,G,Y,y,U,L),P=b(J,K,W,X,y,U,L),M.moveTo(C.cx+C.x01,C.cy+C.y01),Uu&&R>u?V>u?(C=b(W,X,J,K,m,-V,L),P=b(G,Y,Q,$,m,-V,L),M.lineTo(C.cx+C.x01,C.cy+C.y01),V0&&(d+=h);for(null!=e?g.sort(function(t,r){return e(v[t],v[r])}):null!=n&&g.sort(function(t,e){return n(r[t],r[e])}),s=0,c=d?(y-f*b)/d:0;s0?h*c:0)+b,v[l]={data:r[l],index:s,value:h,startAngle:m,endAngle:u,padAngle:x};return v}return s.value=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),s):a},s.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),s):i},s.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),s):o},s},t.areaRadial=I,t.radialArea=I,t.lineRadial=z,t.radialLine=z,t.pointRadial=D,t.linkHorizontal=function(){return N(j)},t.linkVertical=function(){return N(V)},t.linkRadial=function(){var t=N(U);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.symbol=function(){var t=r(q),n=r(64),a=null;function i(){var r;if(a||(a=r=e.path()),t.apply(this,arguments).draw(a,+n.apply(this,arguments)),r)return a=null,r+""||null}return i.type=function(e){return arguments.length?(t="function"==typeof e?e:r(e),i):t},i.size=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),i):n},i.context=function(t){return arguments.length?(a=null==t?null:t,i):a},i},t.symbols=ot,t.symbolCircle=q,t.symbolCross=H,t.symbolDiamond=W,t.symbolSquare=Q,t.symbolStar=K,t.symbolTriangle=tt,t.symbolWye=it,t.curveBasisClosed=function(t){return new ut(t)},t.curveBasisOpen=function(t){return new ht(t)},t.curveBasis=function(t){return new ct(t)},t.curveBundle=pt,t.curveCardinalClosed=yt,t.curveCardinalOpen=bt,t.curveCardinal=vt,t.curveCatmullRomClosed=At,t.curveCatmullRomOpen=St,t.curveCatmullRom=kt,t.curveLinearClosed=function(t){return new Et(t)},t.curveLinear=w,t.curveMonotoneX=function(t){return new zt(t)},t.curveMonotoneY=function(t){return new It(t)},t.curveNatural=function(t){return new Rt(t)},t.curveStep=function(t){return new Bt(t,.5)},t.curveStepAfter=function(t){return new Bt(t,1)},t.curveStepBefore=function(t){return new Bt(t,0)},t.stack=function(){var t=r([]),e=jt,n=Nt,a=Vt;function i(r){var i,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(i=0;i0){for(var r,n,a,i=0,o=t[0].length;i1)for(var r,n,a,i,o,s,l=0,c=t[e[0]].length;l=0?(n[0]=i,n[1]=i+=a):a<0?(n[1]=o,n[0]=o+=a):n[0]=i},t.stackOffsetNone=Nt,t.stackOffsetSilhouette=function(t,e){if((r=t.length)>0){for(var r,n=0,a=t[e[0]],i=a.length;n0&&(n=(r=t[e[0]]).length)>0){for(var r,n,a,i=0,o=1;o=0&&r._call.call(null,t),r=r._next;--n}function m(){l=(s=u.now())+c,n=a=0;try{v()}finally{n=0,function(){var t,n,a=e,i=1/0;for(;a;)a._call?(i>a._time&&(i=a._time),t=a,a=a._next):(n=a._next,a._next=null,a=t?t._next=n:e=n);r=t,x(i)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(a&&(a=clearTimeout(a)),t-l>24?(t<1/0&&(a=setTimeout(m,t-u.now()-c)),i&&(i=clearInterval(i))):(i||(s=u.now(),i=setInterval(y,o)),n=1,h(m)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,a){if("function"!=typeof t)throw new TypeError("callback is not a function");a=(null==a?f():+a)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=a,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=f,t.timer=g,t.timerFlush=v,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,a=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart(function i(o){o+=a,n.restart(i,a+=e,r),t(o)},e,r),n)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],164:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},a=this.document;function i(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(a)try{n(a.documentElement.childNodes)[0].nodeType}catch(t){n=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}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,h=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){h.call(this,t,e+"",r)}}function f(t,e){return te?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}t.ascending=f,t.descending=function(t,e){return et?1:e>=t?0:NaN},t.min=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a=n){r=n;break}for(;++an&&(r=n)}else{for(;++a=n){r=n;break}for(;++an&&(r=n)}return r},t.max=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a=n){r=n;break}for(;++ar&&(r=n)}else{for(;++a=n){r=n;break}for(;++ar&&(r=n)}return r},t.extent=function(t,e){var r,n,a,i=-1,o=t.length;if(1===arguments.length){for(;++i=n){r=a=n;break}for(;++in&&(r=n),a=n){r=a=n;break}for(;++in&&(r=n),a1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(f);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.right,t.bisector=function(t){return g(1===t.length?function(e,r){return f(t(e),r)}:t)},t.shuffle=function(t,e,r){(i=arguments.length)<3&&(r=t.length,i<2&&(e=0));for(var n,a,i=r-e;i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],a=new Array(r<0?0:r);e=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,a=[],i=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=i,e*=i,(r*=i)<0)for(;(n=t+r*++o)>e;)a.push(n/i);else for(;(n=t+r*++o)=a.length)return r?r.call(n,i):e?i.sort(e):i;for(var l,c,u,h,f=-1,p=i.length,d=a[s++],g=new b;++f=a.length)return e;var n=[],o=i[r++];return e.forEach(function(e,a){n.push({key:e,values:t(a,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return a.push(t),n},n.sortKeys=function(t){return i[a.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new C;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}},t.event=null,t.requote=function(t){return t.replace(V,"\\$&")};var V=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,W),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},Y=function(t,e){var r=t.matches||t[z(t,"matchesSelector")];return(Y=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,Y=Sizzle.matchesSelector),t.selection=function(){return t.select(a.documentElement)};var W=t.selection.prototype=[];function X(t){return"function"==typeof t?t:function(){return H(t,this)}}function Z(t){return"function"==typeof t?t:function(){return G(t,this)}}W.select=function(t){var e,r,n,a,i=[];t=X(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[r],local:t}:t}},W.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(Q(r,e[r]));return this}return this.each(Q(e,r))},W.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=et(t)).length,a=-1;if(e=r.classList){for(;++a=0;)(r=n[a])&&(i&&i!==r.nextSibling&&i.parentNode.insertBefore(r,i),i=r);return this},W.sort=function(t){t=function(t){arguments.length||(t=f);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[i];t&&(this.removeEventListener(e,t,t.$),delete this[i])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[i]=t,t.$=a),t._=r}:c:r?D:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var a in this)if(r=a.match(n)){var i=this[a];this.removeEventListener(r[1],i,i.$),delete this[a]}}}t.selection.enter=ht,t.selection.enter.prototype=ft,ft.append=W.append,ft.empty=W.empty,ft.node=W.node,ft.call=W.call,ft.size=W.size,ft.select=function(t){for(var e,r,n,a,i,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n0?1:t<0?-1:0}function Ot(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function zt(t){return t>1?0:t<-1?At:Math.acos(t)}function It(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Dt(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map(function(t){return(t-f.x)/f.k}).map(l.invert)),h&&h.domain(u.range().map(function(t){return(t-f.y)/f.k}).map(u.invert))}function E(t){v++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function C(t){--v||(t({type:"zoomend"}),r=null)}function P(){var e=this,r=_.of(e,arguments),n=0,a=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),i),L(r)}).on(x,function(){a.on(y,null).on(x,null),s(n),C(r)}),i=k(t.mouse(e)),s=xt(e);hs.call(e),E(r)}function O(){var e,r=this,n=_.of(r,arguments),a={},i=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],h=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach(function(t){t.identifier in a&&(a[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];i=b*b+_*_}}function v(){var o,l,c,u,h=t.touches(r);hs.call(r);for(var f=0,p=h.length;f360?t-=360:t<0&&(t+=360),t<60?n+(a-n)*t/60:t<180?a:t<240?n+(a-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(a=r<=.5?r*(1+e):r+e-r*e),new ie(i(t+120),i(t),i(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=fe((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Yt=Gt.prototype=new Vt;function Wt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Wt(t.h,t.c,t.l):fe((t=ie(t)).r,t.g,t.b):new Xt(t,e,r)}Yt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Yt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Yt.rgb=function(){return Wt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,a=n+e/500,i=n-r/200;return new ie(ae(3.2404542*(a=re(a)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(i=re(i)*Qt)),ae(-.969266*a+1.8760108*n+.041556*i),ae(.0556434*a-.2040259*n+1.0572252*i))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Ct,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ae(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,Ht):new ie(t,e,r)}function oe(t){return new ie(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ie;var le=ie.prototype=new Vt;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,a,i,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(a=n[2].split(","),n[1]){case"hsl":return r(parseFloat(a[0]),parseFloat(a[1])/100,parseFloat(a[2])/100);case"rgb":return e(de(a[0]),de(a[1]),de(a[2]))}return(i=ge.get(t))?e(i.r,i.g,i.b):(null==t||"#"!==t.charAt(0)||isNaN(i=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&i)>>4,o|=o>>4,s=240&i,s|=s>>4,l=15&i,l|=l<<4):7===t.length&&(o=(16711680&i)>>16,s=(65280&i)>>8,l=255&i)),e(o,s,l))}function he(t,e,r){var n,a,i=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-i,l=(o+i)/2;return s?(a=l<.5?s/(o+i):s/(2-o-i),n=t==o?(e-r)/s+(e0&&l<1?0:n),new Ut(n,a,l)}function fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),a=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*a-16,500*(n-a),200*(a-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,a=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=a.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(e)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return a=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),c.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var i in l)c.setRequestHeader(i,l[i]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=a&&o.on("error",a).on("load",function(t){a(null,t)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,"on"),null==i?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(i))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=me(P),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function a(t,r,n){arguments.length<3&&(n=r,r=null);var a=ye(t,e,null==r?i:o(r),n);return a.row=function(t){return arguments.length?a.response(null==(r=t)?i:o(t)):r},a}function i(t){return a.parse(t.responseText)}function o(t){return function(e){return a.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 a.parse=function(t,e){var r;return a.parseRows(t,function(t,n){if(r)return r(t,n-1);var a=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,r){return e(a(t),r)}:a})},a.parseRows=function(t,e){var r,a,i={},o={},s=[],l=t.length,c=0,u=0;function h(){if(c>=l)return o;if(a)return a=!1,i;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Le[8+n/3]};var Ce=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Pe=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Oe(t){return t+""}var ze=t.time={},Ie=Date;function De(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}De.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Fe(t,e,r){function n(e){var r=t(e),n=i(r,1);return e-r1)for(;o68?1900:2e3),r+a[0].length):-1}function Je(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ar(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,a=y(e)%60;return r+Ue(n,"0",2)+Ue(a,"0",2)}function ir(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),i.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=a[o=(o+1)%a.length];return i.reverse().join(n)}:P;return function(e){var n=Ce.exec(e),a=n[1]||" ",s=n[2]||">",l=n[3]||"-",c=n[4]||"",u=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,v="",m="",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===a&&"="===s)&&(u=a="0",s="="),d){case"n":f=!0,d="g";break;case"%":g=100,m="%",d="f";break;case"p":g=100,m="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(v=i[0],m=i[1]),"r"!=d||p||(d="g"),null!=p&&("g"==d?p=Math.max(1,Math.min(21,p)):"e"!=d&&"f"!=d||(p=Math.max(0,Math.min(20,p)))),d=Pe.get(d)||Oe;var b=u&&f;return function(e){var n=m;if(y&&e%1)return"";var i=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+m}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(".");if(k<0){var T=x?e.lastIndexOf("e"):-1;T<0?(_=e,w=""):(_=e.substring(0,T),w=e.substring(T))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&f&&(_=o(_,1/0));var A=v.length+_.length+w.length+(b?0:i.length),M=A"===s?M+i+e:"^"===s?M.substring(0,A>>=1)+i+e+M.substring(A):i+(b?e:M+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,a=e.time,i=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,a,i,o=[],s=-1,l=0;++s=c)return-1;if(37===(a=e.charCodeAt(s++))){if(o=e.charAt(s++),!(i=w[o in Ne?e.charAt(s++):o])||(n=i(t,r,n))<0)return-1}else if(a!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Ie=De);return r._=t,e(r)}finally{Ie=Date}}return r.parse=function(t){try{Ie=De;var r=e.parse(t);return r&&r._}finally{Ie=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var f=t.map(),p=qe(o),d=He(o),g=qe(s),v=He(s),m=qe(l),y=He(l),x=qe(c),b=He(c);i.forEach(function(t,e){f.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+ze.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return i[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(ze.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(ze.mondayOfYear(t),e,2)},x:u(n),X:u(a),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ar,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){m.lastIndex=0;var n=m.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return h(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Ye,w:Ge,W:We,x:function(t,e,r){return h(t,_.x.toString(),e,r)},X:function(t,e,r){return h(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,"%":ir};return u}(e)}};var sr=t.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",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"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,a=n-t,i=n-a;r.t=t-i+(e-a)}function hr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&fr.hasOwnProperty(t.type)?fr[t.type](t,e):hr(t,e)};var fr={Feature:function(t,e){hr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,a=r.length;++n=0?1:-1,s=o*i,l=Math.cos(e),c=Math.sin(e),u=a*c,h=n*l+u*Math.cos(s),f=u*o*Math.sin(s);Er.add(Math.atan2(f,h)),r=t,n=l,a=c}Lr.point=function(o,s){Lr.point=i,r=(t=o)*Lt,n=Math.cos(s=(e=s)*Lt/2+At/4),a=Math.sin(s)},Lr.lineEnd=function(){i(t,e)}}function Pr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Or(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function zr(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 Ir(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Fr(t){return[Math.atan2(t[1],t[0]),It(t[2])]}function Br(t,e){return y(t[0]-e[0])kt?a=90:c<-kt&&(r=-90),h[0]=e,h[1]=n}};function p(t,i){u.push(h=[e=t,n=t]),ia&&(a=i)}function d(t,o){var s=Pr([t*Lt,o*Lt]);if(l){var c=zr(l,s),u=zr([c[1],-c[0],0],c);Rr(u),u=Fr(u);var h=t-i,f=h>0?1:-1,d=u[0]*Ct*f,g=y(h)>180;if(g^(f*ia&&(a=v);else if(g^(f*i<(d=(d+360)%360-180)&&da&&(a=o);g?t_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(tn&&(n=t)):t>i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,i=t}function g(){f.point=d}function v(){h[0]=e,h[1]=n,f.point=p,l=null}function m(t,e){if(l){var r=t-i;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Lr.point(t,e),d(t,e)}function x(){Lr.lineStart()}function b(){m(o,s),Lr.lineEnd(),y(c)>kt&&(e=-(n=180)),h[0]=e,h[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,a]]}}(),t.geo.centroid=function(e){mr=yr=xr=br=_r=wr=kr=Tr=Ar=Mr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Mr,a=Sr,i=r*r+n*n+a*a;return i=0;--s)a.point((h=u[s])[0],h[1]);else n(p.x,p.p.x,-1,a);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);a.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,a=t[0];++n=0?1:-1,k=w*_,T=k>At,A=d*x;if(Er.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),i+=T?_+w*Mt:_,T^f>=r^m>=r){var M=zr(Pr(h),Pr(t));Rr(M);var S=zr(a,M);Rr(S);var E=(T^_>=0?-1:1)*It(S[2]);(n>E||n===E&&(M[0]||M[1]))&&(o+=T^_>=0?1:-1)}if(!v++)break;f=m,d=x,g=b,h=t}}return(i<-kt||i0){for(x||(o.polygonStart(),x=!0),o.lineStart();++i1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return u}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:D,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Et-kt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-kt:Et-e[1])}var tn=Jr(Yr,function(t){var e,r=NaN,n=NaN,a=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(i,o){var s=i>0?At:-At,l=y(i-r);y(l-At)0?Et:-Et),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(i,n),e=0):a!==s&&l>=At&&(y(r-a)kt?Math.atan((Math.sin(e)*(i=Math.cos(n))*Math.sin(r)-Math.sin(n)*(a=Math.cos(e))*Math.sin(t))/(a*i*o)):(e+n)/2}(r,n,i,o),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=i,n=o),a=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var a;if(null==t)a=r*Et,n.point(-At,a),n.point(0,a),n.point(At,a),n.point(At,0),n.point(At,-a),n.point(0,-a),n.point(-At,-a),n.point(-At,0),n.point(-At,a);else if(y(t[0]-e[0])>kt){var i=t[0]0)){if(i/=f,f<0){if(i0){if(i>h)return;i>u&&(u=i)}if(i=r-l,f||!(i<0)){if(i/=f,f<0){if(i>h)return;i>u&&(u=i)}else if(f>0){if(i0)){if(i/=p,p<0){if(i0){if(i>h)return;i>u&&(u=i)}if(i=n-c,p||!(i<0)){if(i/=p,p<0){if(i>h)return;i>u&&(u=i)}else if(p>0){if(i0&&(a.a={x:l+u*f,y:c+u*p}),h<1&&(a.b={x:l+h*f,y:c+h*p}),a}}}}}}var rn=1e9;function nn(e,r,n,a){return function(l){var c,u,h,f,p,d,g,v,m,y,x,b=l,_=Qr(),w=en(e,r,n,a),k={point:M,lineStart:function(){k.point=S,u&&u.push(h=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){c&&(S(f,p),d&&m&&_.rejoin(),c.push(_.buffer()));k.point=M,m&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],a=0;an&&Ot(c,i,t)>0&&++e:i[1]<=n&&Ot(c,i,t)<0&&--e,c=i;return 0!==e}([e,a]),n=x&&r,i=c.length;(n||i)&&(l.polygonStart(),n&&(l.lineStart(),T(null,null,1,l),l.lineEnd()),i&&Wr(c,o,r,T,l),l.polygonEnd()),c=u=h=null}};function T(t,o,l,c){var u=0,h=0;if(null==t||(u=i(t,l))!==(h=i(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?a:r)}while((u=(u+l+4)%4)!==h);else c.point(o[0],o[1])}function A(t,i){return e<=t&&t<=n&&r<=i&&i<=a}function M(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,v=e,m=r}return k};function i(t,a){return y(t[0]-e)0?0:3:y(t[0]-n)0?2:1:y(t[1]-r)0?1:0:a>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=i(t,1),n=i(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]}}function an(t){var e=0,r=At/3,n=Ln(t),a=n(e,r);return a.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},a}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,a=1+r*(2*n-r),i=Math.sqrt(a)/n;function o(t,e){var r=Math.sqrt(a-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),i-r*Math.cos(t)]}return o.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,It((a-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,a,i,o={stream:function(t){return a&&(a.valid=!1),(a=i(t)).valid=!0,a},extent:function(s){return arguments.length?(i=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),a&&(a.valid=!1,a=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,a,i=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var i=t[0],o=t[1];return e=null,r(i,o),e||(n(i,o),e)||a(i,o),e}return c.invert=function(t){var e=i.scale(),r=i.translate(),n=(t[0]-r[0])/e,a=(t[1]-r[1])/e;return(a>=.12&&a<.234&&n>=-.425&&n<-.214?o:a>=.166&&a<.234&&n>=-.214&&n<-.115?s:i).invert(t)},c.stream=function(t){var e=i.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,a){e.point(t,a),r.point(t,a),n.point(t,a)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),s.precision(t),c):i.precision()},c.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),s.scale(t),c.translate(i.translate())):i.scale()},c.translate=function(t){if(!arguments.length)return i.translate();var e=i.scale(),u=+t[0],h=+t[1];return r=i.translate(t).clipExtent([[u-.455*e,h-.238*e],[u+.455*e,h+.238*e]]).stream(l).point,n=o.translate([u-.307*e,h+.201*e]).clipExtent([[u-.425*e+kt,h+.12*e+kt],[u-.214*e-kt,h+.234*e-kt]]).stream(l).point,a=s.translate([u-.205*e,h+.212*e]).clipExtent([[u-.214*e+kt,h+.166*e+kt],[u-.115*e-kt,h+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,hn,fn,pn={point:D,lineStart:D,lineEnd:D,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=D,sn+=y(ln/2)}};function dn(){var t,e,r,n;function a(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(i,o){pn.point=a,t=r=i,e=n=o},pn.lineEnd=function(){a(t,e)}}var gn={point:function(t,e){thn&&(hn=t);efn&&(fn=e)},lineStart:D,lineEnd:D,polygonStart:D,polygonEnd:D};function vn(){var t=mn(4.5),e=[],r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=mn(e),r},result:function(){if(e.length){var t=e.join("");return e=[],t}}};function n(r,n){e.push("M",r,",",n,t)}function a(t,n){e.push("M",t,",",n),r.point=i}function i(t,r){e.push("L",t,",",r)}function o(){r.point=n}function s(){e.push("Z")}return r}function mn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=kn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var a=r-t,i=n-e,o=Math.sqrt(a*a+i*i);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Tr+=o,bn(t=r,e=n)}xn.point=function(n,a){xn.point=r,bn(t=n,e=a)}}function wn(){xn.point=bn}function kn(){var t,e,r,n;function a(t,e){var a=t-r,i=e-n,o=Math.sqrt(a*a+i*i);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Tr+=o,Ar+=(o=n*t-r*e)*(r+t),Mr+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(i,o){xn.point=a,bn(t=r=i,e=n=o)},xn.lineEnd=function(){a(t,e)}}function Tn(t){var e=4.5,r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:D};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Mt)}function a(e,n){t.moveTo(e,n),r.point=i}function i(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Lt),n=16;function a(e){return(n?function(e){var r,a,o,s,l,c,u,h,f,p,d,g,v={point:m,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,v.point=x,e.lineStart()}function x(r,a){var o=Pr([r,a]),s=t(r,a);i(h,f,u,p,d,g,h=s[0],f=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(h,f)}function b(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=k}function w(t,e){x(r=t,e),a=h,o=f,s=p,l=d,c=g,v.point=x}function k(){i(h,f,u,p,d,g,a,o,r,s,l,c,n,e),v.lineEnd=b,b()}return v}:function(e){return Sn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function i(n,a,o,s,l,c,u,h,f,p,d,g,v,m){var x=u-n,b=h-a,_=x*x+b*b;if(_>4*e&&v--){var w=s+p,k=l+d,T=c+g,A=Math.sqrt(w*w+k*k+T*T),M=Math.asin(T/=A),S=y(y(T)-1)e||y((x*P+b*O)/_-.5)>.3||s*p+l*d+c*g0&&16,a):Math.sqrt(e)},a}function Mn(t){this.stream=t}function Sn(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function En(t){return Ln(function(){return t})()}function Ln(e){var r,n,a,i,o,s,l=An(function(t,e){return[(t=r(t,e))[0]*c+i,o-t[1]*c]}),c=150,u=480,h=250,f=0,p=0,d=0,g=0,v=0,m=tn,x=P,b=null,_=null;function w(t){return[(t=a(t[0]*Lt,t[1]*Lt))[0]*c+i,o-t[1]*c]}function k(t){return(t=a.invert((t[0]-i)/c,(o-t[1])/c))&&[t[0]*Ct,t[1]*Ct]}function T(){a=Gr(n=zn(d,g,v),r);var t=r(f,p);return i=u-t[0]*c,o=h+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Cn(m(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(a,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(h,f){var p,d=[h,f],g=a(h,f),v=r?g?0:o(h,f):g?o(h+(h<0?At:-At),f):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=i(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=kt,d[1]+=kt,g=a(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=i(d,e),t.point(p[0],p[1])):(p=i(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var m;v&s||!(m=i(d,e,!0))||(u=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},Fn(t,6*Lt),r?[0,-t]:[-At,t-At]);function a(t,r){return Math.cos(t)*Math.cos(r)>e}function i(t,r,n){var a=[1,0,0],i=zr(Pr(t),Pr(r)),o=Or(i,i),s=i[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,h=zr(a,i),f=Dr(a,c);Ir(f,Dr(i,u));var p=h,d=Or(f,p),g=Or(p,p),v=d*d-g*(Or(f,f)-1);if(!(v<0)){var m=Math.sqrt(v),x=Dr(p,(-d-m)/g);if(Ir(x,f),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],T=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,M=y(A-At)0^x[1]<(y(x[0]-_)At^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+m)/g);return Ir(S,f),[x,Fr(S)]}}}function o(e,n){var a=r?t:At-t,i=0;return e<-a?i|=1:e>a&&(i|=2),n<-a?i|=4:n>a&&(i|=8),i}}((b=+t)*Lt),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):P,A()):_},w.scale=function(t){return arguments.length?(c=+t,T()):c},w.translate=function(t){return arguments.length?(u=+t[0],h=+t[1],T()):[u,h]},w.center=function(t){return arguments.length?(f=t[0]%360*Lt,p=t[1]%360*Lt,T()):[f*Ct,p*Ct]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Lt,g=t[1]%360*Lt,v=t.length>2?t[2]%360*Lt:0,T()):[d*Ct,g*Ct,v*Ct]},t.rebind(w,l,"precision"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,T()}}function Cn(t){return Sn(t,function(e,r){t.point(e*Lt,r*Lt)})}function Pn(t,e){return[t,e]}function On(t,e){return[t>At?t-Mt:t<-At?t+Mt:t,e]}function zn(t,e,r){return t?e||r?Gr(Dn(t),Rn(e,r)):Dn(t):e||r?Rn(e,r):On}function In(t){return function(e,r){return[(e+=t)>At?e-Mt:e<-At?e+Mt:e,r]}}function Dn(t){var e=In(t);return e.invert=In(-t),e}function Rn(t,e){var r=Math.cos(t),n=Math.sin(t),a=Math.cos(e),i=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*a-u*i,s*r-c*n),It(u*a+l*i)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*a-l*i;return[Math.atan2(l*a+c*i,s*r+u*n),It(u*r-s*n)]},o}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(a,i,o,s){var l=o*e;null!=a?(a=Bn(r,a),i=Bn(r,i),(o>0?ai)&&(a+=o*Mt)):(a=t+o*Mt,i=t-.5*l);for(var c,u=a;o>0?u>i:u2?t[2]*Lt:0),e.invert=function(e){return(e=t.invert(e[0]*Lt,e[1]*Lt))[0]*=Ct,e[1]*=Ct,e},e},On.invert=Pn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function a(){var t="function"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Lt,-t[1]*Lt,0).invert,a=[];return e(null,null,1,{point:function(t,e){a.push(t=n(t,e)),t[0]*=Ct,t[1]*=Ct}}),{type:"Polygon",coordinates:[a]}}return a.origin=function(t){return arguments.length?(r=t,a):r},a.angle=function(r){return arguments.length?(e=Fn((t=+r)*Lt,n*Lt),a):t},a.precision=function(r){return arguments.length?(e=Fn(t*Lt,(n=+r)*Lt),a):n},a.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Lt,a=t[1]*Lt,i=e[1]*Lt,o=Math.sin(n),s=Math.cos(n),l=Math.sin(a),c=Math.cos(a),u=Math.sin(i),h=Math.cos(i);return Math.atan2(Math.sqrt((r=h*o)*r+(r=c*u-l*h*s)*r),l*u+c*h*s)},t.geo.graticule=function(){var e,r,n,a,i,o,s,l,c,u,h,f,p=10,d=p,g=90,v=360,m=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(a/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/v)*v,s,v).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/d)*d,i,d).filter(function(t){return y(t%v)>kt}).map(u))}return x.lines=function(){return b().map(function(t){return{type:"LineString",coordinates:t}})},x.outline=function(){return{type:"Polygon",coordinates:[h(a).concat(f(s).slice(1),h(n).reverse().slice(1),f(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(a=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],a>n&&(t=a,a=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(m)):[[a,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],i=+t[1][1],r>e&&(t=r,r=e,e=t),o>i&&(t=o,o=i,i=t),x.precision(m)):[[r,o],[e,i]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(m=+t,c=Nn(o,i,90),u=jn(r,e,m),h=Nn(l,s,90),f=jn(a,n,m),x):m},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Vn,a=Un;function i(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||a.apply(this,arguments)]}}return i.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||a.apply(this,arguments))},i.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,i):n},i.target=function(t){return arguments.length?(a=t,r="function"==typeof t?null:t,i):a},i.precision=function(){return arguments.length?i:0},i},t.geo.interpolate=function(t,e){return r=t[0]*Lt,n=t[1]*Lt,a=e[0]*Lt,i=e[1]*Lt,o=Math.cos(n),s=Math.sin(n),l=Math.cos(i),c=Math.sin(i),u=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(a),p=l*Math.sin(a),d=2*Math.asin(Math.sqrt(Rt(i-n)+o*l*Rt(a-r))),g=1/Math.sin(d),(v=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*f,a=r*h+e*p,i=r*s+e*c;return[Math.atan2(a,n)*Ct,Math.atan2(i,Math.sqrt(n*n+a*a))*Ct]}:function(){return[r*Ct,n*Ct]}).distance=d,v;var r,n,a,i,o,s,l,c,u,h,f,p,d,g,v},t.geo.length=function(e){return yn=0,t.geo.stream(e,qn),yn};var qn={sphere:D,point:D,lineStart:function(){var t,e,r;function n(n,a){var i=Math.sin(a*=Lt),o=Math.cos(a),s=y((n*=Lt)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*i-e*o*l)*s),e*i+r*o*l),t=n,e=i,r=o}qn.point=function(a,i){t=a*Lt,e=Math.sin(i*=Lt),r=Math.cos(i),qn.point=n},qn.lineEnd=function(){qn.point=qn.lineEnd=D}},lineEnd:D,polygonStart:D,polygonEnd:D};function Hn(t,e){function r(e,r){var n=Math.cos(e),a=Math.cos(r),i=t(n*a);return[i*a*Math.sin(e),i*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),a=e(n),i=Math.sin(a),o=Math.cos(a);return[Math.atan2(t*i,n*o),Math.asin(n&&r*i/n)]},r}var Gn=Hn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return En(Gn)}).raw=Gn;var Yn=Hn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},P);function Wn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),i=r*Math.pow(n(t),a)/a;if(!a)return Jn;function o(t,e){i>0?e<-Et+kt&&(e=-Et+kt):e>Et-kt&&(e=Et-kt);var r=i/Math.pow(n(e),a);return[r*Math.sin(a*t),i-r*Math.cos(a*t)]}return o.invert=function(t,e){var r=i-e,n=Pt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(i/n,1/a))-Et]},o}function Xn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/n+t;if(y(n)1&&Ot(t[r[n-2]],t[r[n-1]],t[a])<=0;)--n;r[n++]=a}return r.slice(0,n)}function aa(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return En($n)}).raw=$n,ta.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Kn(ta),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ta,t.geom={},t.geom.hull=function(t){var e=ea,r=ra;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,a=ve(e),i=ve(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[c[n]][2]]);for(n=+h;nkt)s=s.L;else{if(!((a=i-wa(s,o))>kt)){n>-kt?(e=s.P,r=s):a>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=ma(t);if(ha.insert(e,l),e||r){if(e===r)return Sa(e),r=ma(e.site),ha.insert(l,r),l.edge=r.edge=Ca(e.site,l.site),Ma(e),void Ma(r);if(r){Sa(e),Sa(r);var c=e.site,u=c.x,h=c.y,f=t.x-u,p=t.y-h,d=r.site,g=d.x-u,v=d.y-h,m=2*(f*v-p*g),y=f*f+p*p,x=g*g+v*v,b={x:(v*y-p*x)/m+u,y:(f*x-g*y)/m+h};Pa(r.edge,c,d,b),l.edge=Ca(c,t,null,b),r.edge=Ca(t,d,null,b),Ma(e),Ma(r)}else l.edge=Ca(e.site,l.site)}}function _a(t,e){var r=t.site,n=r.x,a=r.y,i=a-e;if(!i)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,h=1/i-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+a-i/2)))/h+n:(n+s)/2}function wa(t,e){var r=t.N;if(r)return _a(r,e);var n=t.site;return n.y===e?n.x:1/0}function ka(t){this.site=t,this.edges=[]}function Ta(t,e){return e.angle-t.angle}function Aa(){Ia(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ma(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,a=t.site,i=r.site;if(n!==i){var o=a.x,s=a.y,l=n.x-o,c=n.y-s,u=i.x-o,h=2*(l*(v=i.y-s)-c*u);if(!(h>=-Tt)){var f=l*l+c*c,p=u*u+v*v,d=(v*f-c*p)/h,g=(l*p-u*f)/h,v=g+s,m=ga.pop()||new Aa;m.arc=t,m.site=a,m.x=d+o,m.y=v+Math.sqrt(d*d+g*g),m.cy=v,t.circle=m;for(var y=null,x=pa._;x;)if(m.y=s)return;if(f>d){if(i){if(i.y>=c)return}else i={x:v,y:l};r={x:v,y:c}}else{if(i){if(i.y1)if(f>d){if(i){if(i.y>=c)return}else i={x:(l-a)/n,y:l};r={x:(c-a)/n,y:c}}else{if(i){if(i.y=s)return}else i={x:o,y:n*o+a};r={x:s,y:n*s+a}}else{if(i){if(i.xkt||y(a-r)>kt)&&(s.splice(o,0,new Oa((m=i.site,x=u,b=y(n-h)kt?{x:h,y:y(e-h)kt?{x:y(r-d)kt?{x:f,y:y(e-f)kt?{x:y(r-p)=r&&c.x<=a&&c.y>=n&&c.y<=o?[[r,o],[a,o],[a,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(a(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Ba(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 Ba(s(t)).cells.forEach(function(r,n){for(var a,i,o,s,l=r.site,c=r.edges.sort(Ta),u=-1,h=c.length,f=c[h-1].edge,p=f.l===l?f.r:f.l;++ui&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Ga(r,n)})),i=Xa.lastIndex;return ig&&(g=l.x),l.y>v&&(v=l.y),c.push(l.x),u.push(l.y);else for(h=0;hg&&(g=b),_>v&&(v=_),c.push(b),u.push(_)}var w=g-p,k=v-d;function T(t,e,r,n,a,i,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,a,i,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,a,i,o,s),A(t,e,r,n,a,i,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,a,i,o,s)}function A(t,e,r,n,a,i,o,s){var l=.5*(a+o),c=.5*(i+s),u=r>=l,h=n>=c,f=h<<1|u;t.leaf=!1,u?a=l:o=l,h?i=c:s=c,T(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(M,t,+m(t,++h),+x(t,h),p,d,g,v)}}),e,r,n,a,i,o,s)}w>k?v=d+w:g=p+k;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(M,t,+m(t,++h),+x(t,h),p,d,g,v)}};if(M.visit=function(t){!function t(e,r,n,a,i,o){if(!e(r,n,a,i,o)){var s=.5*(n+i),l=.5*(a+o),c=r.nodes;c[0]&&t(e,c[0],n,a,s,l),c[1]&&t(e,c[1],s,a,i,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,i,o)}}(t,M,p,d,g,v)},M.find=function(t){return function(t,e,r,n,a,i,o){var s,l=1/0;return function t(c,u,h,f,p){if(!(u>i||h>o||f=_)<<1|e>=b,k=w+4;w=0&&!(n=t.interpolators[a](e,r)););return n}function Ja(t,e){var r,n=[],a=[],i=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ii(t){return 1-Math.cos(t*Et)}function oi(t){return Math.pow(2,10*(t-1))}function si(t){return 1-Math.sqrt(1-t*t)}function li(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 ci(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ui(t){var e,r,n,a=[t.a,t.b],i=[t.c,t.d],o=fi(a),s=hi(a,i),l=fi(((e=i)[0]+=(n=-s)*(r=a)[0],e[1]+=n*r[1],e))||0;a[0]*i[1]=0?t.slice(0,n):t,i=n>=0?t.slice(n+1):"in";return a=Qa.get(a)||Ka,i=$a.get(i)||P,e=i(a.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,a=e.c,i=e.l,o=r.h-n,s=r.c-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.c:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Wt(n+o*t,a+s*t,i+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,a=e.s,i=e.l,o=r.h-n,s=r.s-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.s:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,a+s*t,i+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,a=e.a,i=e.b,o=r.l-n,s=r.a-a,l=r.b-i;return function(t){return te(n+o*t,a+s*t,i+l*t)+""}},t.interpolateRound=ci,t.transform=function(e){var r=a.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new ui(e?e.matrix:pi)})(e)},ui.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var pi={a:1,b:0,c:0,d:1,e:0,f:0};function di(t){return t.length?t.pop()+",":""}function gi(e,r){var n=[],a=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push("translate(",null,",",null,")");n.push({i:a-4,x:Ga(t[0],e[0])},{i:a-2,x:Ga(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,a),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(di(r)+"rotate(",null,")")-2,x:Ga(t,e)})):e&&r.push(di(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,a),function(t,e,r,n){t!==e?n.push({i:r.push(di(r)+"skewX(",null,")")-2,x:Ga(t,e)}):e&&r.push(di(r)+"skewX("+e+")")}(e.skew,r.skew,n,a),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(di(r)+"scale(",null,",",null,")");n.push({i:a-4,x:Ga(t[0],e[0])},{i:a-2,x:Ga(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(di(r)+"scale("+e+")")}(e.scale,r.scale,n,a),e=r=null,function(t){for(var e,r=-1,i=a.length;++r0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=Te(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,u=c[0],d=c[1];for(t=0;t=0;)r.push(a[n])}function Li(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(i=t.children)&&(a=i.length))for(var a,i,o=-1;++o=0;)o.push(u=c[l]),u.parent=i,u.depth=i.depth+1;r&&(i.value=0),i.children=c}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Li(a,function(e){var n,a;t&&(n=e.children)&&n.sort(t),r&&(a=e.parent)&&(a.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&&(Ei(t,function(t){t.children&&(t.value=0)}),Li(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},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var a=e.call(this,t,n);return function t(e,r,n,a){var i=e.children;if(e.x=r,e.y=e.depth*a,e.dx=n,e.dy=a,i&&(o=i.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++cs&&(s=n),o.push(n)}for(r=0;ra&&(n=r,a=e);return n}function qi(t){return t.reduce(Hi,0)}function Hi(t,e){return t+e[1]}function Gi(t,e){return Yi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Yi(t,e){for(var r=-1,n=+t[0],a=(t[1]-n)/e,i=[];++r<=e;)i[r]=a*r+n;return i}function Wi(e){return[t.min(e),t.max(e)]}function Xi(t,e){return t.value-e.value}function Zi(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Ji(t,e){t._pack_next=e,e._pack_prev=t}function Ki(t,e){var r=e.x-t.x,n=e.y-t.y,a=t.r+e.r;return.999*a*a>r*r+n*n}function Qi(t){if((e=t.children)&&(l=e.length)){var e,r,n,a,i,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(e.forEach($i),(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(eo(r,n,a=e[2]),x(a),Zi(r,a),r._pack_prev=a,Zi(a,n),n=r._pack_next,i=3;i0)for(o=-1;++o=h[0]&&l<=h[1]&&((s=c[t.bisect(f,l,1,d)-1]).y+=g,s.push(i[o]));return c}return i.value=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=ve(t),i):n},i.bins=function(t){return arguments.length?(a="number"==typeof t?function(e){return Yi(e,t)}:ve(t),i):a},i.frequency=function(t){return arguments.length?(e=!!t,i):e},i},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Xi),n=0,a=[1,1];function i(t,i){var o=r.call(this,t,i),s=o[0],l=a[0],c=a[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Li(s,function(t){t.r=+u(t.value)}),Li(s,Qi),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Li(s,function(t){t.r+=h}),Li(s,Qi),Li(s,function(t){t.r-=h})}return function t(e,r,n,a){var i=e.children;e.x=r+=a*e.x;e.y=n+=a*e.y;e.r*=a;if(i)for(var o=-1,s=i.length;++op.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(f,p)/2-f.x,v=n[0]/(p.x+r(p,f)/2+g),m=n[1]/(d.depth||1);Ei(u,function(t){t.x=(t.x+g)*v,t.y=t.depth*m})}return c}function o(t){var e=t.children,n=t.parent.children,a=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,a=t.children,i=a.length;for(;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;a?(t.z=a.z+r(t._,a._),t.m=t.z-i):t.z=i}else a&&(t.z=a.z+r(t._,a._));t.parent.A=function(t,e,n){if(e){for(var a,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=ao(s),i=no(i),s&&i;)l=no(l),(o=ao(o)).a=t,(a=s.z+h-i.z-c+r(s._,i._))>0&&(io(oo(s,t,n),t,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!ao(o)&&(o.t=s,o.m+=h-u),i&&!no(l)&&(l.t=i,l.m+=c-f,n=t)}return n}(t,a,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*=n[0],t.y=t.depth*n[1]}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t)?l:null,i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null==(n=t)?null:l,i):a?n:null},Si(i,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],a=!1;function i(i,o){var s,l=e.call(this,i,o),c=l[0],u=0;Li(c,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)});var h=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return Li(c,a?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t),i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null!=(n=t),i):a?n:null},Si(i,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,a=[1,1],i=null,o=so,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,a=-1,i=t.length;++a0;)s.push(r=c[a-1]),s.area+=r.area,"squarify"!==l||(n=p(s,g))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,g,i,!1),g=Math.min(i.dx,i.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,i,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),a=e.slice(),i=[];for(u(a,n.dx*n.dy/t.value),i.area=0;r=a.pop();)i.push(r),i.area+=r.area,null!=r.z&&(d(i,r.z?n.dx:n.dy,n,!a.length),i.length=i.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,a=0,i=1/0,o=-1,s=t.length;++oa&&(a=r));return e*=e,(n*=n)?Math.max(e*a*c/n,n/(e*i*c)):1/0}function d(t,e,r,a){var i,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((a||u>r.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(a)/a)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?vo:ho,s=a?mi:vi;return i=t(e,r,s,n),o=t(r,e,s,Za),l}function l(t){return i(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(ci)};l.clamp=function(t){return arguments.length?(a=t,s()):a};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return bo(e,t)};l.tickFormat=function(t,r){return _o(e,t,r)};l.nice=function(t){return yo(e,t),s()};l.copy=function(){return t(e,r,n,a)};return s()}([0,1],[0,1],Za,!1)};var wo={s:1,g:1,p:1,r:1,e:1};function ko(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,a,i){function o(t){return(a?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return a?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(a=t[0]>=0,r.domain((i=t.map(Number)).map(o)),l):i};l.base=function(t){return arguments.length?(n=+t,r.domain(i.map(o)),l):n};l.nice=function(){var t=fo(i.map(o),a?Math:Ao);return r.domain(t),i=t.map(s),l};l.ticks=function(){var t=co(i),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(u-c)){if(a){for(;c0;f--)e.push(s(c)*f);for(c=0;e[c]l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return To;arguments.length<2?r=To:"function"!=typeof r&&(r=t.format(r));var a=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n0?a[t-1]:r[0],th?0:1;if(c=St)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,v,m,y,x,b,_,w,k,T,A,M=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===Oo?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=It(v/c*Math.sin(m))),s&&(M=It(v/s*Math.sin(m)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(h-S),_=c*Math.sin(h-S);var L=Math.abs(h-u-2*S)<=At?0:1;if(S&&Bo(y,x,b,_)===p^L){var C=(u+h)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-M),k=s*Math.sin(h-M),T=s*Math.cos(u+M),A=s*Math.sin(u+M);var P=Math.abs(u-h+2*M)<=At?0:1;if(M&&Bo(w,k,T,A)===1-p^P){var O=(u+h)/2;w=s*Math.cos(O),k=s*Math.sin(O),T=A=null}}else w=k=0;if(f>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s0?0:1}function No(t,e,r,n,a){var i=t[0]-e[0],o=t[1]-e[1],s=(a?n:-n)/Math.sqrt(i*i+o*o),l=s*o,c=-s*i,u=t[0]+l,h=t[1]+c,f=e[0]+l,p=e[1]+c,d=(u+f)/2,g=(h+p)/2,v=f-u,m=p-h,y=v*v+m*m,x=r-n,b=u*p-f*h,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-v*_)/y,k=(-b*v-m*_)/y,T=(b*m+v*_)/y,A=(-b*v+m*_)/y,M=w-d,S=k-g,E=T-d,L=A-g;return M*M+S*S>E*E+L*L&&(w=T,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function jo(t){var e=ea,r=ra,n=Yr,a=Uo,i=a.key,o=.7;function s(i){var s,l=[],c=[],u=-1,h=i.length,f=ve(e),p=ve(r);function d(){l.push("M",a(t(c),o))}for(;++u1&&a.push("H",n[0]);return a.join("")},"step-before":Ho,"step-after":Go,basis:Xo,"basis-open":function(t){if(t.length<4)return Uo(t);var e,r=[],n=-1,a=t.length,i=[0],o=[0];for(;++n<3;)e=t[n],i.push(e[0]),o.push(e[1]);r.push(Zo(Qo,i)+","+Zo(Qo,o)),--n;for(;++n9&&(a=3*e/Math.sqrt(a),o[s]=a*r,o[s+1]=a*n));s=-1;for(;++s<=l;)a=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),i.push([a||0,o[s]*a||0]);return i}(t))}});function Uo(t){return t.length>1?t.join("L"):t+"Z"}function qo(t){return t.join("L")+"Z"}function Ho(t){for(var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];++e1){s=e[1],i=t[l],l++,n+="C"+(a[0]+o[0])+","+(a[1]+o[1])+","+(i[0]-s[0])+","+(i[1]-s[1])+","+i[0]+","+i[1];for(var c=2;cAt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return i.radius=function(t){return arguments.length?(r=ve(t),i):r},i.source=function(e){return arguments.length?(t=ve(e),i):t},i.target=function(t){return arguments.length?(e=ve(t),i):e},i.startAngle=function(t){return arguments.length?(n=ve(t),i):n},i.endAngle=function(t){return arguments.length?(a=ve(t),i):a},i},t.svg.diagonal=function(){var t=Vn,e=Un,r=as;function n(n,a){var i=t.call(this,n,a),o=e.call(this,n,a),s=(i.y+o.y)/2,l=[i,{x:i.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},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=as,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=os,e=is;function r(r,n){return(ls.get(t.call(this,r,n))||ss)(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 ls=t.map({circle:ss,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*us)),r=e*us;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/cs),r=e*cs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ls.keys();var cs=Math.sqrt(3),us=Math.tan(30*Lt);W.transition=function(t){for(var e,r,n=ds||++ms,a=bs(t),i=[],o=gs||{time:Date.now(),ease:ai,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--f].call(t,o);if(i>=1)return h.event&&h.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}h||(i=a.time,o=Te(function(t){var e=h.delay;if(o.t=e+i,e<=t)return f(t-e);o.c=f},0,i),h=u[n]={tween:new b,time:i,timer:o,delay:a.delay,duration:a.duration,ease:a.ease,index:e},a=null,++u.count)}vs.call=W.call,vs.empty=W.empty,vs.node=W.node,vs.size=W.size,t.transition=function(e,r){return e&&e.transition?ds?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=vs,vs.select=function(t){var e,r,n,a=this.id,i=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function v(){var h,v,m=this,y=t.select(t.event.target),x=n.of(m,arguments),b=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&a,k=!/^(e|w)$/.test(_)&&i,T=y.classed("extent"),A=xt(m),M=t.mouse(m),S=t.select(o(m)).on("keydown.brush",function(){32==t.event.keyCode&&(T||(h=null,M[0]-=s[1],M[1]-=l[1],T=2),B())}).on("keyup.brush",function(){32==t.event.keyCode&&2==T&&(M[0]+=s[1],M[1]+=l[1],T=0,B())});if(t.event.changedTouches?S.on("touchmove.brush",C).on("touchend.brush",O):S.on("mousemove.brush",C).on("mouseup.brush",O),b.interrupt().selectAll("*").interrupt(),T)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);v=[s[1-E]-M[0],l[1-L]-M[1]],M[0]=s[E],M[1]=l[L]}else t.event.altKey&&(h=M.slice());function C(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),T||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(e[0]1?{floor:function(e){for(;s(e=t.floor(e));)e=zs(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=zs(+e+1);return e}}:t))},a.ticks=function(t,e){var r=co(a.domain()),n=null==t?i(r,10):"number"==typeof t?i(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],zs(+r[1]+1),e<1?1:e)},a.tickFormat=function(){return n},a.copy=function(){return Os(e.copy(),r,n)},mo(a,e)}function zs(t){return new Date(t)}Es.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ps:Cs,Ps.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ps.toString=Cs.toString,ze.second=Fe(function(t){return new Ie(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),ze.seconds=ze.second.range,ze.seconds.utc=ze.second.utc.range,ze.minute=Fe(function(t){return new Ie(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),ze.minutes=ze.minute.range,ze.minutes.utc=ze.minute.utc.range,ze.hour=Fe(function(t){var e=t.getTimezoneOffset()/60;return new Ie(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),ze.hours=ze.hour.range,ze.hours.utc=ze.hour.utc.range,ze.month=Fe(function(t){return(t=ze.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),ze.months=ze.month.range,ze.months.utc=ze.month.utc.range;var Is=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ds=[[ze.second,1],[ze.second,5],[ze.second,15],[ze.second,30],[ze.minute,1],[ze.minute,5],[ze.minute,15],[ze.minute,30],[ze.hour,1],[ze.hour,3],[ze.hour,6],[ze.hour,12],[ze.day,1],[ze.day,2],[ze.week,1],[ze.month,1],[ze.month,3],[ze.year,1]],Rs=Es.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Yr]]),Fs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(zs)},floor:P,ceil:P};Ds.year=ze.year,ze.scale=function(){return Os(t.scale.linear(),Ds,Rs)};var Bs=Ds.map(function(t){return[t[0].utc,t[1]]}),Ns=Ls.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Yr]]);function js(t){return JSON.parse(t.responseText)}function Vs(t){var e=a.createRange();return e.selectNode(a.body),e.createContextualFragment(t.responseText)}Bs.year=ze.year.utc,ze.scale.utc=function(){return Os(t.scale.linear(),Bs,Ns)},t.text=me(function(t){return t.responseText}),t.json=function(t,e){return ye(t,"application/json",js,e)},t.html=function(t,e){return ye(t,"text/html",Vs,e)},t.xml=me(function(t){return t.responseXML}),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],165:[function(t,e,r){e.exports=function(){for(var t=0;t=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=m[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],f=b[0];b[0]=b[1],b[1]=f}return _}},{"incremental-convex-hull":414,uniq:545}],167:[function(t,e,r){"use strict";e.exports=i;var n=(i.canvas=document.createElement("canvas")).getContext("2d"),a=o([32,126]);function i(t,e){Array.isArray(t)&&(t=t.join(", "));var r,i={},s=16,l=.05;e&&(2===e.length&&"number"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=a),n.font=s+"px "+t;for(var c=0;cs*l){var p=(f-h)/s;i[u]=1e3*p}}return i}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),a=t[0];a>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),a=1048575&n;return 2146435072&n&&(a+=1<<20),[r,a]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t("buffer").Buffer)},{buffer:106}],169:[function(t,e,r){var n=t("abs-svg-path"),a=t("normalize-svg-path"),i={M:"moveTo",C:"bezierCurveTo"};e.exports=function(t,e){t.beginPath(),a(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[i[r]].apply(t,n)}),t.closePath()}},{"abs-svg-path":62,"normalize-svg-path":453}],170:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],171:[function(t,e,r){"use strict";e.exports=function(t,e){switch("undefined"==typeof e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*r){n=l=t[0],s=c=t[1];for(var b=r;bl&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function a(t,e,r,n,a){var i,o;if(a===E(t,e,r,n)>0)for(i=e;i=e;i-=n)o=A(i,t[i],t[i+1],o);return o&&x(o,o.next)&&(M(o),o=o.next),o}function i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,a,h,f){if(t){!f&&h&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=d(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=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)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,h);for(var p,g,v=t;t.prev!==t.next;)if(p=t.prev,g=t.next,h?l(t,n,a,h):s(t))e.push(p.i/r),e.push(t.i/r),e.push(g.i/r),M(t),t=g.next,v=g.next;else if((t=g)===v){f?1===f?o(t=c(i(t),e,r),e,r,n,a,h,2):2===f&&u(t,e,r,n,a,h):o(i(t),e,r,n,a,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if(v(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&y(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function l(t,e,r,n){var a=t.prev,i=t,o=t.next;if(y(a,i,o)>=0)return!1;for(var s=a.xi.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=d(s,l,e,r,n),f=d(c,u,e,r,n),p=t.prevZ,g=t.nextZ;p&&p.z>=h&&g&&g.z<=f;){if(p!==t.prev&&p!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,g!==t.prev&&g!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;g&&g.z<=f;){if(g!==t.prev&&g!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function c(t,e,r){var n=t;do{var a=n.prev,o=n.next.next;!x(a,o)&&b(a,n,n.next,o)&&k(a,o)&&k(o,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(o.i/r),M(n),M(n.next),n=t=o),n=n.next}while(n!==t);return i(n)}function u(t,e,r,n,a,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=T(l,c);return l=i(l,l.next),u=i(u,u.next),o(l,e,r,n,a,s),void o(u,e,r,n,a,s)}c=c.next}l=l.next}while(l!==t)}function h(t,e){return t.x-e.x}function f(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&a!==n.x&&v(ir.x||n.x===r.x&&p(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=T(e,t);i(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function m(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&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(k(t,e)&&k(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var a=w(y(t,e,r)),i=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return a!==i&&o!==s||(!(0!==a||!_(t,r,e))||(!(0!==i||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(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 w(t){return t>0?1:t<0?-1:0}function k(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function T(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function A(t,e,r,n){var a=new S(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function M(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 S(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 E(t,e,r,n){for(var a=0,i=e,o=r-n;i0&&(n+=t[a-1].length,r.holes.push(n))}return r}},{}],173:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var a=0;a=e})}(e);for(var r,a=n(t).components.filter(function(t){return t.length>1}),i=1/0,o=0;o=55296&&y<=56319&&(w+=t[++r]),w=k?f.call(k,T,w,g):w,e?(p.value=w,d(v,g,p)):v[g]=w,++g;m=g}if(void 0===m)for(m=o(t.length),e&&(v=new e(m)),r=0;r0?1:-1}},{}],185:[function(t,e,r){"use strict";var n=t("../math/sign"),a=Math.abs,i=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*i(a(t)):t}},{"../math/sign":182}],186:[function(t,e,r){"use strict";var n=t("./to-integer"),a=Math.max;e.exports=function(t){return a(0,n(t))}},{"./to-integer":185}],187:[function(t,e,r){"use strict";var n=t("./valid-callable"),a=t("./valid-value"),i=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,h=arguments[2],f=arguments[3];return r=Object(a(r)),n(c),u=s(r),f&&u.sort("function"==typeof f?i.call(f,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,h,r[t],t,r,n):e})}}},{"./valid-callable":205,"./valid-value":207}],188:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":189,"./shim":190}],189:[function(t,e,r){"use strict";e.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")}},{}],190:[function(t,e,r){"use strict";var n=t("../keys"),a=t("../valid-value"),i=Math.max;e.exports=function(t,e){var r,o,s,l=i(arguments.length,2);for(t=Object(a(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},{}],211:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===a)||!1}},{}],212:[function(t,e,r){"use strict";var n=Object.create(null),a=Math.random;e.exports=function(){var t;do{t=a().toString(36).slice(2)}while(n[t]);return t}},{}],213:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/set-prototype-of"),i=t("es5-ext/string/#/contains"),o=t("d"),s=t("es6-symbol"),l=t("./"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?i.call(e,"key+value")?"key+value":i.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},a&&a(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})}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},{"./":216,d:152,"es5-ext/object/set-prototype-of":202,"es5-ext/string/#/contains":208,"es6-symbol":221}],214:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/object/valid-callable"),i=t("es5-ext/string/is-string"),o=t("./get"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,h,f,p,d,g,v,m=arguments[2];if(s(t)||n(t)?r="array":i(t)?r="string":t=o(t),a(e),h=function(){f=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,m,u.value,h),f)return;u=t.next()}else for(d=t.length,p=0;p=55296&&v<=56319&&(g+=t[++p]),l.call(e,m,g,h),!f);++p);else c.call(t,function(t){return l.call(e,m,t,h),f})}},{"./get":215,"es5-ext/function/is-arguments":179,"es5-ext/object/valid-callable":205,"es5-ext/string/is-string":211}],215:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/string/is-string"),i=t("./array"),o=t("./string"),s=t("./valid-iterable"),l=t("es6-symbol").iterator;e.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new i(t):a(t)?new o(t):new i(t)}},{"./array":213,"./string":218,"./valid-iterable":219,"es5-ext/function/is-arguments":179,"es5-ext/string/is-string":211,"es6-symbol":221}],216:[function(t,e,r){"use strict";var n,a=t("es5-ext/array/#/clear"),i=t("es5-ext/object/assign"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/valid-value"),l=t("d"),c=t("d/auto-bind"),u=t("es6-symbol"),h=Object.defineProperty,f=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");f(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,f(n.prototype,i({_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)):h(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__&&a.call(this.__redo__),this.__nextIndex__=0})}))),h(n.prototype,u.iterator,l(function(){return this}))},{d:152,"d/auto-bind":151,"es5-ext/array/#/clear":175,"es5-ext/object/assign":188,"es5-ext/object/valid-callable":205,"es5-ext/object/valid-value":207,"es6-symbol":221}],217:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/object/is-value"),i=t("es5-ext/string/is-string"),o=t("es6-symbol").iterator,s=Array.isArray;e.exports=function(t){return!!a(t)&&(!!s(t)||(!!i(t)||(!!n(t)||"function"==typeof t[o])))}},{"es5-ext/function/is-arguments":179,"es5-ext/object/is-value":196,"es5-ext/string/is-string":211,"es6-symbol":221}],218:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/set-prototype-of"),i=t("d"),o=t("es6-symbol"),s=t("./"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",i("",t.length))},a&&a(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:i(function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,i("c","String Iterator"))},{"./":216,d:152,"es5-ext/object/set-prototype-of":202,"es6-symbol":221}],219:[function(t,e,r){"use strict";var n=t("./is-iterable");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},{"./is-iterable":217}],220:[function(t,e,r){(function(n,a){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,function(){"use strict";function e(t){return"function"==typeof t}var r=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},i=0,o=void 0,s=void 0,l=function(t,e){g[i]=t,g[i+1]=e,2===(i+=2)&&(s?s(v):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},h=u.MutationObserver||u.WebKitMutationObserver,f="undefined"==typeof self&&"undefined"!=typeof n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(v,1)}}var g=new Array(1e3);function v(){for(var t=0;t=r-1){f=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var u=s.length-1,h=(e[r-1],0);h=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--h)n.push(i(l[h-1],c[h-1],arguments[h])),a.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 f=r;f>0;--f){var p=i(c[f-1],u[f-1],arguments[f]);n.push(p),a.push((p-n[o++])*h)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(i(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,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,h=u>1e-6?1/u:0;this._time.push(t);for(var f=r;f>0;--f){var p=arguments[f];n.push(i(l[f-1],c[f-1],n[o++]+p)),a.push(p*h)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--h)n.push(i(l[h],c[h],n[o]+u*a[o])),a.push(0),o+=1}}},{"binary-search-bounds":92,"cubic-hermite":146}],229:[function(t,e,r){var n=t("dtype");e.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 a,i,o,s,l=t[0].length,c=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(c+r));var u=e.length-r;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+t.length+") does not match destination length "+u);for(a=0,o=r;ae[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return r}},{"css-font/stringify":143}],231:[function(t,e,r){"use strict";function n(t,e){e||(e={}),("string"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(", "):e.family;if(!r)throw Error("`family` must be defined");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||"",c=(t=[e.style||e.fontStyle||"",l,s].join(" ")+"px "+r,e.origin||"top");if(n.cache[r]&&s<=n.cache[r].em)return a(n.cache[r],c);var u=e.canvas||n.canvas,h=u.getContext("2d"),f={upper:void 0!==e.upper?e.upper:"H",lower:void 0!==e.lower?e.lower:"x",descent:void 0!==e.descent?e.descent:"p",ascent:void 0!==e.ascent?e.ascent:"h",tittle:void 0!==e.tittle?e.tittle:"i",overshoot:void 0!==e.overshoot?e.overshoot:"O"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,h.font=t;var d={top:0};h.clearRect(0,0,p,p),h.textBaseline="top",h.fillStyle="black",h.fillText("H",0,0);var g=i(h.getImageData(0,0,p,p));h.clearRect(0,0,p,p),h.textBaseline="bottom",h.fillText("H",0,p);var v=i(h.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-v+g,h.clearRect(0,0,p,p),h.textBaseline="alphabetic",h.fillText("H",0,p);var m=p-i(h.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=m,h.clearRect(0,0,p,p),h.textBaseline="middle",h.fillText("H",0,.5*p);var y=i(h.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="hanging",h.fillText("H",0,.5*p);var x=i(h.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="ideographic",h.fillText("H",0,p);var b=i(h.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,f.upper&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.upper,0,0),d.upper=i(h.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),f.lower&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.lower,0,0),d.lower=i(h.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),f.tittle&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.tittle,0,0),d.tittle=i(h.getImageData(0,0,p,p))),f.ascent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.ascent,0,0),d.ascent=i(h.getImageData(0,0,p,p))),f.descent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.descent,0,0),d.descent=o(h.getImageData(0,0,p,p))),f.overshoot){h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.overshoot,0,0);var _=o(h.getImageData(0,0,p,p));d.overshoot=_-m}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,a(d,c)}function a(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 i(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)}e.exports=n,n.canvas=document.createElement("canvas"),n.cache={}},{}],232:[function(t,e,r){"use strict";e.exports=function(t){return new c(t||d,null)};var n=0,a=1;function i(t,e,r,n,a,i){this._color=t,this.key=e,this.value=r,this.left=n,this.right=a,this._count=i}function o(t){return new i(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new i(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,"keys",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,"values",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,"length",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],h=[];o;){var f=r(t,o.key);u.push(o),h.push(f),o=f<=0?o.left:o.right}u.push(new i(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];h[p]<=0?u[p]=new i(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new i(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===a||o._color===a)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(v=g.right)||v._color!==n){if(g._color=n,g.left=d.right,d._color=a,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).left===g?m.left=d:m.right=d;break}d._color=a,g.right=s(a,v),g._color=n,p-=1}else{if(!(v=g.right)||v._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=a,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).left===g?m.left=o:m.right=o;break}d._color=a,g.right=s(a,v),g._color=n,p-=1}else if(d.right===o){if(!(v=g.left)||v._color!==n){if(g._color=n,g.right=d.left,d._color=a,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).right===g?m.right=d:m.left=d;break}d._color=a,g.left=s(a,v),g._color=n,p-=1}else{var v;if(!(v=g.left)||v._color!==n){var m;if(d.left=o.right,g._color=n,g.right=o.left,o._color=a,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).right===g?m.right=o:m.left=o;break}d._color=a,g.left=s(a,v),g._color=n,p-=1}}return u[0]._color=a,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,a){if(r(e,a.key)<=0){var i;if(a.left&&(i=t(e,r,n,a.left)))return i;if(i=n(a.key,a.value))return i}if(a.right)return t(e,r,n,a.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,a,i){var o,s=n(e,i.key),l=n(r,i.key);if(s<=0){if(i.left&&(o=t(e,r,n,a,i.left)))return o;if(l>0&&(o=a(i.key,i.value)))return o}if(l>0&&i.right)return t(e,r,n,a,i.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(u,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),u.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new h(this,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<=0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>=0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var a=e(t,r.key);if(n.push(r),0===a)return new h(this,n);r=a<=0?r.left:r.right}return new h(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.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=h.prototype;function p(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 d(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 h(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new i(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new i(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new i(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var h=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var f=e[h-1];e.push(new i(r._color,f.key,f.value,r.left,r.right,r._count)),e[h-1].key=r.key,e[h-1].value=r.value;for(u=e.length-2;u>=h;--u)r=e[u],e[u]=new i(r._color,r.key,r.value,r.left,e[u+1],r._count);e[h-1].left=e[h]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u=0;--u){if(e=t[u],0===u)return void(e._color=a);if((r=t[u-1]).left===e){if((i=r.right).right&&i.right._color===n)return c=(i=r.right=o(i)).right=o(i.right),r.right=i.left,i.left=r,i.right=c,i._color=r._color,e._color=a,r._color=a,c._color=a,l(r),l(i),u>1&&((h=t[u-2]).left===r?h.left=i:h.right=i),void(t[u-1]=i);if(i.left&&i.left._color===n)return c=(i=r.right=o(i)).left=o(i.left),r.right=c.left,i.left=c.right,c.left=r,c.right=i,c._color=r._color,r._color=a,i._color=a,e._color=a,l(r),l(i),l(c),u>1&&((h=t[u-2]).left===r?h.left=c:h.right=c),void(t[u-1]=c);if(i._color===a){if(r._color===n)return r._color=a,void(r.right=s(n,i));r.right=s(n,i);continue}i=o(i),r.right=i.left,i.left=r,i._color=r._color,r._color=n,l(r),l(i),u>1&&((h=t[u-2]).left===r?h.left=i:h.right=i),t[u-1]=i,t[u]=r,u+11&&((h=t[u-2]).right===r?h.right=i:h.left=i),void(t[u-1]=i);if(i.right&&i.right._color===n)return c=(i=r.left=o(i)).right=o(i.right),r.left=c.right,i.right=c.left,c.right=r,c.left=i,c._color=r._color,r._color=a,i._color=a,e._color=a,l(r),l(i),l(c),u>1&&((h=t[u-2]).right===r?h.right=c:h.left=c),void(t[u-1]=c);if(i._color===a){if(r._color===n)return r._color=a,void(r.left=s(n,i));r.left=s(n,i);continue}var h;i=o(i),r.left=i.right,i.right=r,i._color=r._color,r._color=n,l(r),l(i),u>1&&((h=t[u-2]).right===r?h.right=i:h.left=i),t[u-1]=i,t[u]=r,u+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 e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new i(n._color,n.key,t,n.left,n.right,n._count);for(var a=e.length-2;a>=0;--a)(n=e[a]).left===e[a+1]?r[a]=new i(n._color,n.key,n.value,r[a+1],n.right,n._count):r[a]=new i(n._color,n.key,n.value,n.left,r[a+1],n._count);return new c(this.tree._compare,r[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}})},{}],233:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,i=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function o(t){if(t<0)return Number("0/0");for(var e=i[0],r=i.length-1;r>0;--r)e+=i[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(o(e));e-=1;for(var r=n[0],a=1;a<9;a++)r+=n[a]/(e+a);var i=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,e+.5)*Math.exp(-i)*r},e.exports.log=o},{}],234:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,a=e;try{var i=[t];0===t.indexOf("webgl")&&i.push("experimental-"+t);for(var o=0;o0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],v={model:l,view:l,projection:l,_ortho:!1};h.isOpaque=function(){return!0},h.isTransparent=function(){return!1},h.drawTransparent=function(t){};var m=[0,0,0],y=[0,0,0],x=[0,0,0];h.draw=function(t){t=t||v;for(var e=this.gl,r=t.model||l,n=t.view||l,a=t.projection||l,i=this.bounds,s=t._ortho||!1,u=o(r,n,a,i,s),h=u.cubeEdges,f=u.axis,b=n[12],_=n[13],w=n[14],k=n[15],T=(s?2:1)*this.pixelRatio*(a[3]*b+a[7]*_+a[11]*w+a[15]*k)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=h[A],this.lastCubeProps.axis[A]=f[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,h,f);e=this.gl;var S,E=g;for(A=0;A<3;++A)this.backgroundEnable[A]?E[A]=f[A]:E[A]=0;this._background.draw(r,n,a,i,E,this.backgroundColor),this._lines.bind(r,n,a,this);for(A=0;A<3;++A){var L=[0,0,0];f[A]>0?L[A]=i[1][A]:L[A]=i[0][A];for(var C=0;C<2;++C){var P=(A+1+C)%3,O=(A+1+(1^C))%3;this.gridEnable[P]&&this._lines.drawGrid(P,O,this.bounds,L,this.gridColor[P],this.gridWidth[P]*this.pixelRatio)}for(C=0;C<2;++C){P=(A+1+C)%3,O=(A+1+(1^C))%3;this.zeroEnable[O]&&Math.min(i[0][O],i[1][O])<=0&&Math.max(i[0][O],i[1][O])>=0&&this._lines.drawZero(P,O,this.bounds,L,this.zeroLineColor[O],this.zeroLineWidth[O]*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=c(m,M[A].primalMinor),I=c(y,M[A].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var R=T/r[5*C];z[C]*=D[C]*R,I[C]*=D[C]*R}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,I,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,a,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,a=(t+2)%3,i=e[n],o=e[a],s=r[n],l=r[a];i>0&&l>0?N(n):i>0&&l<0?N(n):i<0&&l>0?N(n):i<0&&l<0?N(n):o>0&&s>0?N(a):o>0&&s<0?N(a):o<0&&s>0?N(a):o<0&&s<0&&N(a)}for(A=0;A<3;++A){var V=M[A].primalMinor,U=M[A].mirrorMinor,q=c(x,M[A].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[A]&&(q[C]+=T*V[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,F=1,"auto"===(S=[this.tickAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]),B=[0,0,0],j(A,V,U);for(C=0;C<3;++C)q[C]+=T*V[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,B,S)}if(this.labelEnable[A]){F=0,B=[0,0,0],this.labels[A].length>4&&(N(A),F=1),"auto"===(S=[this.labelAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]);for(C=0;C<3;++C)q[C]+=T*V[C]*this.labelPad[C]/r[5*C];q[A]+=.5*(i[0][A]+i[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],B,S)}}this._text.unbind()},h.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":236,"./lib/cube.js":237,"./lib/lines.js":238,"./lib/text.js":240,"./lib/ticks.js":241}],236:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var g=-1;g<=1;g+=2)h[u]=g,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var v=c;c=u,u=v}var m=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(t,[{buffer:m,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:m,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=i(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,m,x,b)};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders").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,a,i){for(var o=!1,s=0;s<3;++s)o=o||a[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:a,colors:i},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()}},{"./shaders":239,"gl-buffer":243,"gl-vao":328}],237:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,p){a(s,e,t),a(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=i[x][2];for(var b=0;b<2;++b){u[1]=i[b][1];for(var _=0;_<2;++_)u[0]=i[_][0],f(l[y],u,s),y+=1}}for(var w=-1,x=0;x<8;++x){for(var k=l[x][3],T=0;T<3;++T)c[x][T]=l[x][T]/k;p&&(c[x][2]*=-1),k<0&&(w<0?w=x:c[x][2]E&&(w|=1<E&&(w|=1<c[x][1]&&(R=x));for(var F=-1,x=0;x<3;++x){var B=R^1<c[N][0]&&(N=B)}}var j=g;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^N)]=R&N;var V=7^N;V===w||V===D?(V=7^F,j[n.log2(N^V)]=V&N):j[n.log2(F^V)]=V&F;for(var U=v,q=w,A=0;A<3;++A)U[A]=q&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}"]);r.text=function(t){return a(t,s,l,null,[{name:"position",type:"vec3"}])};var c=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}"]),u=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}"]);r.bg=function(t){return a(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":303,glslify:410}],240:[function(t,e,r){(function(r){"use strict";e.exports=function(t,e,r,i,s,l){var u=n(t),h=a(t,[{buffer:u,size:3}]),f=o(t);f.attributes.position.location=0;var p=new c(t,f,u,h);return p.update(e,r,i,s,l),p};var n=t("gl-buffer"),a=t("gl-vao"),i=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__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}var u=c.prototype,h=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var a=this.shader.uniforms;a.model=t,a.view=e,a.projection=r,a.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,a){var o=[];function s(t,e,r,n,a,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return i(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:a,styletags:s}));for(var h=(n||12)/12,f=u.positions,p=u.cells,d=0,g=p.length;d=0;--m){var y=f[v[m]];o.push(h*y[0],-h*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),f[d]=(o.length/3|0)-h[d],c[d]=o.length/3|0;for(var g=0;g=0&&(a=r.length-n-1);var i=Math.pow(10,a),o=Math.round(t*e*i),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/i,c=o%i;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),a){for(var h=""+c;h.length=t[0][a];--o)i.push({x:o*e[a],text:n(e[a],o)});r.push(i)}return r},r.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,i,a),r}function u(t,e){for(var r=n.malloc(t.length,e),a=t.length,i=0;i=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=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(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=i(s,t.shape);a.assign(l,t),this.length=c(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 h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?h:h.subarray(0,t.length),e),n.free(h)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(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}},e.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 a=t.createBuffer(),i=new s(t,r,a,0,n);return i.update(e),i}},{ndarray:451,"ndarray-ops":445,"typedarray-pool":543}],244:[function(t,e,r){"use strict";var n=t("gl-vec3");e.exports=function(t,e){var r=t.positions,a=t.vectors,i={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]),i;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,g=[],v=1/0,m=!1,y=0;yo&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(v=Math.min(v,_),m=!1):m=!0}m||(p=x,d=b),g.push(b)}var w=[s,c,h],k=[l,u,f];e&&(e[0]=w,e[1]=k),0===o&&(o=1);var T=1/o;isFinite(v)||(v=1),i.vectorScale=v;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*T),i.coneScale=A;y=0;for(var M=0;y=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=u({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var a=e[n],i=0;i<3;++i)r[4*n+i]=a[i];r[4*n+3]=255*a[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,a=t.vectors;if(n&&r&&a){var i=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=a;var f=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,g=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var v=0;v0){var g=this.triShader;g.bind(),g.uniforms=c,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||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:a,clipBounds:i,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),a={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?a.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(a.intensity=this.intensity[r[1]],a.velocity=this.vectors[r[1]].slice(0,3),a.divergence=this.vectors[r[1]][3],a.index=e),a},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()},e.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),u=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),h=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));h.generateMipmap(),h.minFilter=t.LINEAR_MIPMAP_LINEAR,h.magFilter=t.LINEAR;var p=a(t),d=a(t),g=a(t),v=a(t),m=a(t),y=new f(t,h,l,u,p,d,m,g,v,i(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return y.update(e),y}},{colormap:127,"gl-buffer":243,"gl-mat4/invert":267,"gl-mat4/multiply":269,"gl-shader":303,"gl-texture2d":323,"gl-vao":328,ndarray:451}],246:[function(t,e,r){var n=t("glslify"),a=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"]),i=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}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:410}],247:[function(t,e,r){e.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",34000:"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"}},{}],248:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":247}],249:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=a(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=i(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders/index"),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 c(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,a=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var i=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho||!1?2:1)*this.pixelRatio*(a[3]*i+a[7]*s+a[11]*l+a[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var a=-1;a<=1;a+=2){var i=[0,0,0];i[(n+e)%3]=a,r.push(i)}t[e]=r}return t}();function h(t,e,r,n){for(var a=u[n],i=0;i0)(g=u.slice())[s]+=p[1][s],a.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+h(a,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(a)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":250,"gl-buffer":243,"gl-vao":328}],250:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=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}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":303,glslify:410}],251:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){a||(a=t.FRAMEBUFFER_UNSUPPORTED,i=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");!l&&c&&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 a=new Array(r),i=0;iu||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(h>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+h+" draw buffers")}}var f=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&h>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");f=t.FLOAT}else n.preferFloat&&h>0&&p&&(f=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var v=!1;"stencil"in n&&(v=!!n.stencil);return new d(t,e,r,f,h,g,v,c)};var a,i,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function h(t){switch(t){case a:throw new Error("gl-fbo: Framebuffer unsupported");case i: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 f(t,e,r,a,i,o){if(!a)return null;var s=n(t,e,r,i,a);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,a){var i=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,i),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,a,t.RENDERBUFFER,i),i}function d(t,e,r,n,a,i,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(a);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?d?t.depth=f(r,a,i,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=f(r,a,i,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,a,i,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,a,i,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,a,i,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),m=0;ma||r<0||r>a)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var i=c(n),o=0;o>8*p&255;this.pickOffset=r,a.bind();var d=a.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=a.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),h.pick=function(t,e,r){var n=this.pickOffset,a=this.shape[0]*this.shape[1];if(r=n+a)return null;var i=r-n,o=this.xData,s=this.yData;return{object:this,pointId:i,dataCoord:[o[i%this.shape[0]],s[i/this.shape[0]|0]]}},h.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||a(e[0]),o=t.y||a(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,h=this.bounds,p=h[0]=r[0],d=h[1]=o[0],g=1/((h[2]=r[r.length-1])-p),v=1/((h[3]=o[o.length-1])-d),m=e[0],y=e[1];this.shape=[m,y];var x=(m-1)*(y-1)*(f.length>>>1);this.numVertices=x;for(var b=i.mallocUint8(4*x),_=i.mallocFloat32(2*x),w=i.mallocUint8(2*x),k=i.mallocUint32(x),T=0,A=0;A 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\nlowp vec4 encode_float_1540259130(highp float v) {\n highp 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 highp vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n highp float e = floor(log2(av));\n highp 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 highp 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, encode_float_1540259130(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return a(t,i,o,null,l)},r.createPickShader=function(t){return a(t,i,s,null,l)}},{"gl-shader":303,glslify:410}],257:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(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),c=a(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}]),f=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)f.data[p]=255;var d=i(e,f);d.wrap=e.REPEAT;var g=new v(e,r,o,s,c,d);return g.update(t),g};var n=t("gl-buffer"),a=t("gl-vao"),i=t("gl-texture2d"),o=t("glsl-read-float"),s=t("binary-search-bounds"),l=t("ndarray"),c=t("./lib/shaders"),u=c.createShader,h=c.createPickShader,f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var a=t[n]-e[n];r+=a*a}return Math.sqrt(r)}function d(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 v(t,e,r,n,a,i){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=a,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=i,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=v.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||f,view:t.view||f,projection:t.projection||f,clipBounds:d(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||f,view:t.view||f,projection:t.projection||f,pickId:this.pickId,clipBounds:d(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 a=[],i=[],o=[],c=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=t.position||t.positions;if(f){var d=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,v=!1;t:for(e=1;e0){for(var w=0;w<24;++w)a.push(a[a.length-12]);u+=2,v=!0}continue t}h[0][r]=Math.min(h[0][r],b[r],_[r]),h[1][r]=Math.max(h[1][r],b[r],_[r])}Array.isArray(d[0])?(m=d.length>e-1?d[e-1]:d.length>0?d[d.length-1]:[0,0,0,1],y=d.length>e?d[e]:d.length>0?d[d.length-1]:[0,0,0,1]):m=y=d,3===m.length&&(m=[m[0],m[1],m[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&m[3]<1&&(this.hasAlpha=!0),x=Array.isArray(g)?g.length>e-1?g[e-1]:g.length>0?g[g.length-1]:[0,0,0,1]:g;var k=c;if(c+=p(b,_),v){for(r=0;r<2;++r)a.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3]);u+=2,v=!1}a.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],c,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],c,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(a),i.push(c),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=i,"dashes"in t){var T=t.dashes.slice();for(T.unshift(0),e=1;e1.0001)return null;v+=g[u]}if(Math.abs(v-1)>.001)return null;return[h,function(t,e){for(var r=[0,0,0],n=0;n 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}"]),c=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}"]),u=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}"]),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\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}"]),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\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"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:f,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},{glslify:410}],282:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),h=t("colormap"),f=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./lib/shaders"),g=t("./lib/closest-point"),v=d.meshShader,m=d.wireShader,y=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 k(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_,k,T,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=a,this.pickShader=i,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=v,this.edgeUVs=m,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=T,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.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 T=k.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,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(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 L(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}T.isOpaque=function(){return!this.hasAlpha},T.isTransparent=function(){return this.hasAlpha},T.pickSlots=1,T.setPickBase=function(t){this.pickId=t},T.highlight=function(t){if(t&&this.contourEnable){for(var e=f(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,a=e.vertexWeights,i=r.length,o=p.mallocFloat32(6*i),s=0,l=0;l0&&((h=this.triShader).bind(),h.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((h=this.lineShader).bind(),h.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&&((h=this.pointShader).bind(),h.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((h=this.contourShader).bind(),h.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},T.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:a,clipBounds:i,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())},T.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,a=new Array(r.length),i=0;ia[T]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=v[t],r.uniforms.angle=m[t],i.drawArrays(i.TRIANGLES,a[T],a[A]-a[T]))),y[t]&&k&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],i.drawArrays(i.TRIANGLES,w,k)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*g[t+2],Ta[T]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=v[t+2],r.uniforms.angle=m[t+2],i.drawArrays(i.TRIANGLES,a[T],a[A]-a[T]))),y[t+2]&&k&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],i.drawArrays(i.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,a=r.gl,i=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-i[u])/(i[2+u]-i[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,a.drawArrays(a.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(f=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,a=t.screenBox,i=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],h=i[o],g=i[o+2]-h,v=a[o],m=a[o+2]-v;p[o]=2*l/u*g/m,f[o]=2*(s-c)/u*g/m}d[1]=2*t.pixelRatio/(a[3]-a[1]),d[0]=d[1]*(a[3]-a[1])/(a[2]-a[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=f,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,a,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],h=[-1/0],f=l[o];for(e=0;e=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],f[d]):o.drawLine(e[0],g,e[2],g,p[d],f[d])}}for(d=0;d=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))c.rotate(i,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*a*e/window.innerHeight*(i-c.lastT())/20;c.pan(i,0,0,h*(Math.exp(o)-1))}}},!0)},d.enableMouseListeners(),d};var n=t("right-now"),a=t("3d-view"),i=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":54,"has-passive-events":412,"mouse-change":436,"mouse-event-offset":437,"mouse-wheel":439,"right-now":502}],291:[function(t,e,r){var n=t("glslify"),a=t("gl-shader"),i=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}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec2"}])}},{"gl-shader":303,glslify:410}],292:[function(t,e,r){"use strict";var n=t("./camera.js"),a=t("gl-axes3d"),i=t("gl-axes3d/properties"),o=t("gl-spikes3d"),s=t("gl-select-static"),l=t("gl-fbo"),c=t("a-big-triangle"),u=t("mouse-change"),h=t("gl-mat4/perspective"),f=t("gl-mat4/ortho"),p=t("./lib/shader"),d=t("is-mobile")({tablet:!0});function g(){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 v(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}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function m(t){return"boolean"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e)if(e=document.createElement("canvas"),t.container){var r=t.container;r.appendChild(e)}else document.body.appendChild(e);var y=t.gl;y||(y=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}));if(!y)throw new Error("webgl not supported");var x=t.bounds||[[-10,-10,-10],[10,10,10]],b=new g,_=l(y,[y.drawingBufferWidth,y.drawingBufferHeight],{preferFloat:!d}),w=p(y),k=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:k},A=t.axes||{},M=a(y,A);M.enable=!A.disable;var S=t.spikes||{},E=o(y,S),L=[],C=[],P=[],O=[],z=!0,I=!0,D=new Array(16),R=new Array(16),F={view:null,projection:D,model:R,_ortho:!1},I=!0,B=[y.drawingBufferWidth,y.drawingBufferHeight],N=t.cameraObject||n(e,T),j={gl:y,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:b,camera:N,axes:M,axesPixels:null,spikes:E,bounds:x,objects:L,shape:B,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:m(t.autoResize),autoBounds:m(t.autoBounds),autoScale:!!t.autoScale,autoCenter:m(t.autoCenter),clipToBounds:m(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:F,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}},V=[y.drawingBufferWidth/j.pixelRatio|0,y.drawingBufferHeight/j.pixelRatio|0];function U(){if(!j._stopped&&j.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 a=0|Math.ceil(r*j.pixelRatio),i=0|Math.ceil(n*j.pixelRatio);if(a!==e.width||i!==e.height){e.width=a,e.height=i;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",z=!0}}}j.autoResize&&U();function q(){for(var t=L.length,e=O.length,r=0;r0&&0===P[e-1];)P.pop(),O.pop().dispose()}function H(){if(j.contextLost)return!0;y.isContextLost()&&(j.contextLost=!0,j.mouseListener.enabled=!1,j.selection.object=null,j.oncontextloss&&j.oncontextloss())}window.addEventListener("resize",U),j.update=function(t){j._stopped||(t=t||{},z=!0,I=!0)},j.add=function(t){j._stopped||(t.axes=M,L.push(t),C.push(-1),z=!0,I=!0,q())},j.remove=function(t){if(!j._stopped){var e=L.indexOf(t);e<0||(L.splice(e,1),C.pop(),z=!0,I=!0,q())}},j.dispose=function(){if(!j._stopped&&(j._stopped=!0,window.removeEventListener("resize",U),e.removeEventListener("webglcontextlost",H),j.mouseListener.enabled=!1,!j.contextLost)){M.dispose(),E.dispose();for(var t=0;tb.distance)continue;for(var c=0;c 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"]),r.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"]),r.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"])},{glslify:410}],294:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("typedarray-pool"),o=t("./lib/shader");function s(t,e,r,n,a){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=a,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}e.exports=function(t,e){var r=t.gl,i=a(r),l=a(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),h=new s(t,i,l,c,u);return h.update(e),t.addObject(h),h};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.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,a=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=a?s:i.mallocFloat32(s.length),c=o?t.idToIndex:i.mallocInt32(n);if(a||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&i<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,a),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/i,l[4]=2/o,l[6]=-2*a[0]/i-1,l[7]=-2*a[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=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var h=n.getParameter(n.BLEND),f=n.getParameter(n.DITHER);return h&&!this.blend&&n.disable(n.BLEND),f&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),h&&!this.blend&&n.enable(n.BLEND),f&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,a=this.pointCount;if(r=n+a)return null;var i=r-n,o=this.points;return{object:this,pointId:i,dataCoord:[o[2*i],o[2*i+1]]}}},{"./lib/shader":293,"gl-buffer":243,"gl-shader":303,"typedarray-pool":543}],295:[function(t,e,r){e.exports=function(t,e,r,n){var a,i,o,s,l,c=e[0],u=e[1],h=e[2],f=e[3],p=r[0],d=r[1],g=r[2],v=r[3];(i=c*p+u*d+h*g+f*v)<0&&(i=-i,p=-p,d=-d,g=-g,v=-v);1-i>1e-6?(a=Math.acos(i),o=Math.sin(a),s=Math.sin((1-n)*a)/o,l=Math.sin(n*a)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*h+l*g,t[3]=s*f+l*v,t}},{}],296:[function(t,e,r){"use strict";e.exports=function(t){return t||0===t?t.toString():""}},{}],297:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e,r){var i=a[e];i||(i=a[e]={});if(t in i)return i[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,c,u=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=a(["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=a(["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=a(["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"]),c=a(["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}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:i,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:i,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},v={vertex:s,fragment:c,attributes:u};function m(t,e){var r=n(t,e),a=r.attributes;return a.position.location=0,a.color.location=1,a.glyph.location=2,a.id.location=3,r}r.createPerspective=function(t){return m(t,h)},r.createOrtho=function(t){return m(t,f)},r.createProject=function(t){return m(t,p)},r.createPickPerspective=function(t){return m(t,d)},r.createPickOrtho=function(t){return m(t,g)},r.createPickProject=function(t){return m(t,v)}},{"gl-shader":303,glslify:410}],299:[function(t,e,r){"use strict";var n=t("is-string-blank"),a=t("gl-buffer"),i=t("gl-vao"),o=t("typedarray-pool"),s=t("gl-mat4/multiply"),l=t("./lib/shaders"),c=t("./lib/glyphs"),u=t("./lib/get-simple-string"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e){var r=t[0],n=t[1],a=t[2],i=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*a+e[12]*i,t[1]=e[1]*r+e[5]*n+e[9]*a+e[13]*i,t[2]=e[2]*r+e[6]*n+e[10]*a+e[14]*i,t[3]=e[3]*r+e[7]*n+e[11]*a+e[15]*i,t}function p(t,e,r,n){return f(n,n),f(n,n),f(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function g(t){return!0===t?1:t>1?1:t}function v(t,e,r,n,a,i,o,s,l,c,u,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=a,this.colorBuffer=i,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=c,this.pickOrthoShader=u,this.pickProjectShader=h,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}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),h=a(e),f=a(e),p=a(e),d=a(e),g=i(e,[{buffer:h,size:3,type:e.FLOAT},{buffer:f,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),m=new v(e,r,n,o,h,f,p,d,g,s,c,u);return m.update(t),m};var m=v.prototype;m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},m.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 y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],k=h.slice(),T=[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}function L(t,e,r,n){var a,i=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,d=e.axesBounds,g=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);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=f,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=g,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var v=0;v<3;++v)if(i[v]){l.scale=e.projectScale[v],l.opacity=e.projectOpacity[v];for(var m=k,L=0;L<16;++L)m[L]=0;for(L=0;L<4;++L)m[5*L]=1;m[5*v]=0,a[v]<0?m[12+v]=d[0][v]:m[12+v]=d[1][v],s(m,c,m),l.model=m;var C=(v+1)%3,P=(v+2)%3,O=M(x),z=M(b);O[C]=1,z[P]=1;var I=p(0,0,0,S(_,O)),D=p(0,0,0,S(w,z));if(Math.abs(I[1])>Math.abs(D[1])){var R=I;I=D,D=R,R=O,O=z,z=R;var F=C;C=P,P=F}I[0]<0&&(O[C]=-1),D[1]>0&&(z[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(c[4*C+L],2),N+=Math.pow(c[4*P+L],2);O[C]/=Math.sqrt(B),z[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=z,l.fragClipBounds[0]=E(T,g[0],v,-1e8),l.fragClipBounds[1]=E(T,g[1],v,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()}}var C=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function P(t,e,r,n,a,i,o){var s=r.gl;if((i===r.projectHasAlpha||o)&&L(e,r,n,a),i===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||h,l.view=n.view||h,l.projection=n.projection||h,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=C,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=a,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*a),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(t,e,r,a){var i;i=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var a=0;a<3;++a)n.position[a]=n.dataCoordinate[a]=r[a];return n},m.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,a=e>>16&255;this.highlightId=[r/255,n/255,a/255,0]}else this.highlightId=[1,1,1,1]},m.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){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=g(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=g(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var a,i,s=t.position,l=t.font||"normal",c=t.alignment||[0,0];if(2===c.length)a=c[0],i=c[1];else{a=[],i=[];for(n=0;n0){var z=0,I=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(m)&&Array.isArray(m[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],k=0;k<3;++k){if(isNaN(w[k])||!isFinite(w[k]))continue t;h[k]=Math.max(h[k],w[k]),u[k]=Math.min(u[k],w[k])}T=(N=O(f,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(V=F?n0?1-M[0][0]:Y<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1],Z=T.cells||[],J=T.positions||[];for(k=0;k0){var m=r*u;o.drawBox(h-m,f-m,p+m,f+m,i),o.drawBox(h-m,d-m,p+m,d+m,i),o.drawBox(h-m,f-m,h+m,d+m,i),o.drawBox(p-m,f-m,p+m,d+m,i)}}}},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)}},{"./lib/shaders":300,"gl-buffer":243,"gl-shader":303}],302:[function(t,e,r){"use strict";e.exports=function(t,e){var r=n(t,e),i=a.mallocUint8(e[0]*e[1]*4);return new c(t,r,i)};var n=t("gl-fbo"),a=t("typedarray-pool"),i=t("ndarray"),o=t("bit-twiddle").nextPow2,s=t("cwise/lib/wrapper")({args:["array",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},"scalar","scalar","index"],pre:{body:"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},body:{body:"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_fthis.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(o(r*e*4)),i=0;ir)for(t=r;te)for(t=e;t=0){for(var k=0|w.type.charAt(w.type.length-1),T=new Array(k),A=0;A=0;)M+=1;_[y]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,b,_);for(var t=0;t=0){var d=f.charCodeAt(f.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);o(t,e,p[0],a,d,i,h)}else{if(!(f.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+h+": "+f);var d=f.charCodeAt(f.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);s(t,e,p,a,d,i,h)}}}return i};var n=t("./GLError");function a(t,e,r,n,a,i){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=a,this._constFunc=i}var i=a.prototype;function o(t,e,r,n,i,o,s){for(var l=["gl","v"],c=[],u=0;u4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+i+"fv(locations["+e+"],false,obj"+t+")"}throw new a("","Unknown uniform data type for "+name+": "+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new a("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+i+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+i+"fv(locations["+e+"],obj"+t+")";default:throw new a("","Unrecognized data type for vector "+name+": "+r)}}}function c(e){for(var n=["return function updateProperty(obj){"],a=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var a in r){var i=r[a],o=e;parseInt(a)+""===a?o+="["+a+"]":o+="."+a,"object"==typeof i?n.push.apply(n,t(o,i)):n.push([o,i])}return n}("",e),i=0;i4)throw new a("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new a("","Unknown uniform data type for "+name+": "+t)}}(r[u].type);var p}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c1)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"]),i=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}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:410}],314:[function(t,e,r){"use strict";var n=t("gl-vec3"),a=t("gl-vec4"),i=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e,r,i){for(var o=0,s=0;s0)for(k=0;k<8;k++){var T=(k+1)%8;c.push(f[k],p[k],p[T],p[T],f[T],f[k]),h.push(y,m,m,m,y,y),d.push(g,v,v,v,g,g);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=y;y=m,m=S;var E=g;g=v,v=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(t,r,i,o)}),h=[],f=[],p=[],d=[];for(s=0;se)return r-1}return r},l=function(t,e,r){return tr?r:t},c=function(t){var e=1/0;t.sort(function(t,e){return t-e});for(var r=t.length,n=1;nh-1||y>f-1||x>p-1)return n.create();var b,_,w,k,T,A,M=i[0][d],S=i[0][m],E=i[1][g],L=i[1][y],C=i[2][v],P=(o-M)/(S-M),O=(c-E)/(L-E),z=(u-C)/(i[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,m=h-1-m),r.reversedY&&(g=f-1-g,y=f-1-y),r.reversedZ&&(v=p-1-v,x=p-1-x),r.filled){case 5:T=v,A=x,w=g*p,k=y*p,b=d*p*f,_=m*p*f;break;case 4:T=v,A=x,b=d*p,_=m*p,w=g*p*h,k=y*p*h;break;case 3:w=g,k=y,T=v*f,A=x*f,b=d*f*p,_=m*f*p;break;case 2:w=g,k=y,b=d*f,_=m*f,T=v*f*h,A=x*f*h;break;case 1:b=d,_=m,T=v*h,A=x*h,w=g*h*p,k=y*h*p;break;default:b=d,_=m,w=g*h,k=y*h,T=v*h*f,A=x*h*f}var I=a[b+w+T],D=a[b+w+A],R=a[b+k+T],F=a[b+k+A],B=a[_+w+T],N=a[_+w+A],j=a[_+k+T],V=a[_+k+A],U=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(U,I,B,P),n.lerp(q,D,N,P),n.lerp(H,R,j,P),n.lerp(G,F,V,P);var Y=n.create(),W=n.create();n.lerp(Y,U,H,O),n.lerp(W,q,G,O);var X=n.create();return n.lerp(X,Y,W,z),X}(e,t,p)},g=t.getDivergence||function(t,e){var r=n.create(),a=1e-4;n.add(r,t,[a,0,0]);var i=d(r);n.subtract(i,i,e),n.scale(i,i,1e4),n.add(r,t,[0,a,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1e4),n.add(r,t,[0,0,a]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1e4),n.add(r,i,o),n.add(r,r,s),r},v=[],m=e[0][0],y=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],k=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},T=10*n.distance(e[0],e[1])/a,A=T*T,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],a={},i={},o={},s=t.length,l=0;lS&&(S=F),D.push(F),v.push({points:P,velocities:O,divergences:D});for(var B=0;B<100*a&&P.lengthA&&n.scale(N,N,T/Math.sqrt(j)),n.add(N,N,C),z=d(N),n.squaredDistance(I,N)-A>-1e-4*A){P.push(N),I=N,O.push(z);R=g(N,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}C=N}}var V=o(v,t.colormap,S,M);return h?V.tubeScale=h:(0===S&&(S=1),V.tubeScale=.5*u*M/S),V};var u=t("./lib/shaders"),h=t("gl-cone3d").createMesh;e.exports.createTubeMesh=function(t,e){return h(t,e,{shaders:u,traceType:"streamtube"})}},{"./lib/shaders":313,"gl-cone3d":244,"gl-vec3":347,"gl-vec4":383}],315:[function(t,e,r){var n=t("gl-shader"),a=t("glslify"),i=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\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 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=a(["precision 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 beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\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 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 ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) 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 \u2014 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=a(["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=a(["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"]);r.createShader=function(t){var e=n(t,i,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},r.createPickShader=function(t){var e=n(t,i,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},r.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},r.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}},{"gl-shader":303,glslify:410}],316:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],317:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=a(e),u=i(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),h=a(e),f=i(e,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=a(e),d=i(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,h,f,p,d,[0,0,0]),m={levels:[[],[],[]]};for(var k in t)m[k]=t[k];return m.colormap=m.colormap||"jet",v.update(m),v};var n=t("bit-twiddle"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),c=t("ndarray-ops"),u=t("ndarray-pack"),h=t("ndarray"),f=t("surface-nets"),p=t("gl-mat4/multiply"),d=t("gl-mat4/invert"),g=t("binary-search-bounds"),v=t("ndarray-gradient"),m=t("./lib/shaders"),y=m.createShader,x=m.createContourShader,b=m.createPickShader,_=m.createPickContourShader,w=40,k=[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]],A=[[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 M(t,e,r,n,a){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=a}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,a,i,o,l,c,u,f,p,d,g,v){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=v,this.intensityBounds=[],this._shader=n,this._pickShader=a,this._coordinateBuffer=i,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,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=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(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}var L=E.prototype;L.isTransparent=function(){return this.opacity<1},L.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},L.pickSlots=1,L.setPickBase=function(t){this.pickId=t};var C=[0,0,0],P={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function O(t,e){var r,n,a,i=e.axes&&e.axes.lastCubeProps.axis||C,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=P.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[+(i[r]>0)][r],p(l,t.model,l);var c=P.clipBounds[r];for(a=0;a<2;++a)for(n=0;n<3;++n)c[a][n]=t.clipBounds[a][n];c[0][r]=-1e8,c[1][r]=1e8}return P.showSurface=o,P.showContour=s,P}var z={model:k,view:k,projection:k,inverseModel:k.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},I=k.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=z;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,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 a=0;a<2;++a)for(var i=n.clipBounds[a],o=0;o<3;++o)i[o]=Math.min(Math.max(this.clipBounds[a][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=D,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),a=0;a<3;++a)n.eyePosition[a]=s[12+a]/s[15];var l=s[15];for(a=0;a<3;++a)l+=this.lightPosition[a]*s[4*a+3];for(a=0;a<3;++a){var c=s[12+a];for(o=0;o<3;++o)c+=s[4*o+a]*this.lightPosition[o];n.lightPosition[a]=c/l}var u=O(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a<3;++a)this.surfaceProject[a]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[a],this._shader.uniforms.clipBounds=u.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),a=0;a<3;++a)for(h.uniforms.permutation=A[a],r.lineWidth(this.contourWidth[a]*this.pixelRatio),o=0;o>4)/16)/255,a=Math.floor(n),i=n-a,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;a+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?i:1-i,f=0;f<2;++f)for(var p=a+u,d=s+f,v=h*(f?l:1-l),m=0;m<3;++m)c[m]+=this._field[m].get(p,d)*v;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=i<.5?a:a+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],m=0;m<3;++m)r.dataCoordinate[m]=this._field[m].get(r.index[0],r.index[1]);return r},L.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.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))},L.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,function(t){return B(t,Boolean)})),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0);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 a=(e.shape[0]+2)*(e.shape[1]+2);a>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(a))),this._field[2]=h(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 i=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]=h(this._field[o].data,[i[0]+2,i[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==i[b])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var m=g[o];if((Array.isArray(m)||m.length)&&(m=h(m)),m.shape[0]!==i[o])throw new Error("gl-surface: invalid tick length");var y=h(m.data,i);y.stride[o]=m.stride[0],y.stride[1^o]=0,this.padField(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b0){for(var kt=0;kt<5;++kt)rt.pop();G-=1}continue t}rt.push(st[0],st[1],ut[0],ut[1],st[2]),G+=1}}ot.push(G)}this._contourOffsets[nt]=it,this._contourCounts[nt]=ot}var Tt=s.mallocFloat(rt.length);for(o=0;o 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:{}}},k.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=a(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=h(t.viewport),k.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),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=y(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=k.baseFontSize+"px sans-serif");var r,i=!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(k.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var a=n.stringify({size:k.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]&&a==e.font[r].baseString||(i=!0,e.font[r]=k.fonts[a],e.font[r]))){var c=t.family.join(", "),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:a,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:m(c,{origin:"top",fontSize:k.baseFontSize,fontStyle:u.join(" ")})},k.fonts[a]=e.font[r]}}),(i||o)&&this.font.forEach(function(r,a){var i=n.stringify({size:e.fontSize[a],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[a]=e.shader.atlas[i],!e.fontAtlas[a]){var o=r.metrics;e.shader.atlas[i]=e.fontAtlas[a]={fontString:i,step:2*Math.ceil(e.fontSize[a]*o.bottom*.5),em:e.fontSize[a],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),f=0;f2){for(var w=!t.position[0].length,T=u.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,a=0;return a+=.5*n.bottom,a+="number"==typeof t?t-n.baseline:-n[t],k.normalViewport||(a*=-1),a})),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W4||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=[]},k.prototype.destroy=function(){},k.prototype.kerning=!0,k.prototype.position={constant:new Float32Array(2)},k.prototype.translate=null,k.prototype.scale=null,k.prototype.font=null,k.prototype.text="",k.prototype.positionOffset=[0,0],k.prototype.opacity=1,k.prototype.color=new Uint8Array([0,0,0,255]),k.prototype.alignOffset=[0,0],k.normalViewport=!1,k.maxAtlasSize=1024,k.atlasCanvas=document.createElement("canvas"),k.atlasContext=k.atlasCanvas.getContext("2d",{alpha:!1}),k.baseFontSize=64,k.fonts={},e.exports=k},{"bit-twiddle":93,"color-normalize":121,"css-font":140,"detect-kerning":167,"es6-weak-map":319,"flatten-vertex-data":229,"font-atlas":230,"font-measure":231,"gl-util/context":324,"is-plain-obj":423,"object-assign":455,"parse-rect":460,"parse-unit":462,"pick-by-alias":466,regl:500,"to-px":537,"typedarray-pool":543}],319:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?WeakMap:t("./polyfill")},{"./is-implemented":320,"./polyfill":322}],320:[function(t,e,r){"use strict";e.exports=function(){var t,e;if("function"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},"one"],[{},"two"],[{},"three"]])}catch(t){return!1}return"[object WeakMap]"===String(t)&&("function"==typeof t.set&&(t.set({},1)===t&&("function"==typeof t.delete&&("function"==typeof t.has&&"one"===t.get(e)))))}},{}],321:[function(t,e,r){"use strict";e.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)},{}],322:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/is-value"),i=t("es5-ext/object/set-prototype-of"),o=t("es5-ext/object/valid-object"),s=t("es5-ext/object/valid-value"),l=t("es5-ext/string/random-uniq"),c=t("d"),u=t("es6-iterator/get"),h=t("es6-iterator/for-of"),f=t("es6-symbol").toStringTag,p=t("./is-native-implemented"),d=Array.isArray,g=Object.defineProperty,v=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");return t=p&&i&&WeakMap!==n?i(new WeakMap,m(this)):this,a(e)&&(d(e)||(e=u(e))),g(t,"__weakMapData__",c("c","$weakMap$"+l())),e?(h(e,function(e){s(e),t.set(e[0],e[1])}),t):t},p&&(i&&i(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c(function(t){return!!v.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:c(function(t){if(v.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:c(function(t){return v.call(o(t),this.__weakMapData__)}),set:c(function(t,e){return g(o(t),this.__weakMapData__,c("c",e)),this}),toString:c(function(){return"[object WeakMap]"})}),g(n.prototype,f,c("c","WeakMap"))},{"./is-native-implemented":321,d:152,"es5-ext/object/is-value":196,"es5-ext/object/set-prototype-of":202,"es5-ext/object/valid-object":206,"es5-ext/object/valid-value":207,"es5-ext/string/random-uniq":212,"es6-iterator/for-of":214,"es6-iterator/get":215,"es6-symbol":221}],323:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("ndarray-ops"),i=t("typedarray-pool");e.exports=function(t){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");o||function(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if("number"==typeof arguments[1])return v(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return v(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if("object"==typeof arguments[1]){var e=arguments[1],r=c(e)?e:e.raw;if(r)return function(t,e,r,n,a,i){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,a,a,i,e),new f(t,o,r,n,a,i)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return function(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=d(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var h,p,v=0;if(2===o.length)v=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])v=t.ALPHA;else if(2===o[2])v=t.LUMINANCE_ALPHA;else if(3===o[2])v=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var m=e.size;if(l)h=0===e.offset&&e.data.length===m?e.data:e.data.subarray(e.offset,e.offset+m);else{var y=[o[2],o[2]*o[0],1];p=i.malloc(m,r);var x=n(p,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?a.assign(x,e):u(x,e),h=p.subarray(0,m)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,v,o[0],o[1],0,v,c,h),l||i.free(p);return new f(t,b,o[0],o[1],v,c)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){a.muls(t,e,255)};function h(t,e,r){var n=t.gl,a=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)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 f(t,e,r,n,a,i){this.gl=t,this.handle=e,this.format=a,this.type=i,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 p=f.prototype;function d(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 v(t,e,r,n,a){var i=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture shape");if(a===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,a,null),new f(t,o,e,r,n,a)}Object.defineProperties(p,{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}}}),p.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},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.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)},p.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,c,h){var f=h.dtype,p=h.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var g=0,v=0,m=d(p,h.stride.slice());"float32"===f?g=t.FLOAT:"float64"===f?(g=t.FLOAT,m=!1,f="float32"):"uint8"===f?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,m=!1,f="uint8");if(2===p.length)v=t.LUMINANCE,p=[p[0],p[1],1],h=n(h.data,p,[h.stride[0],h.stride[1],1],h.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])v=t.ALPHA;else if(2===p[2])v=t.LUMINANCE_ALPHA;else if(3===p[2])v=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}p[2]}v!==t.LUMINANCE&&v!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(v=s);if(v!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=h.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&m)0===h.offset&&h.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data.subarray(h.offset,h.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data.subarray(h.offset,h.offset+y));else{var b;b=l===t.FLOAT?i.mallocFloat32(y):i.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,h):a.assign(_,h),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?i.freeFloat32(b):i.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:451,"ndarray-ops":445,"typedarray-pool":543}],324:[function(t,e,r){(function(r){"use strict";var n=t("pick-by-alias");function a(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.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 i(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}e.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},i(t)?t={container:t}: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),t.pixelRatio||(t.pixelRatio=r.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}i(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),a(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),a(t)}if(!t.gl)try{t.gl=t.canvas.getContext("webgl",t.attrs)}catch(e){try{t.gl=t.canvas.getContext("experimental-webgl",t.attrs)}catch(e){t.gl=t.canvas.getContext("webgl-experimental",t.attrs)}}return t.gl}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"pick-by-alias":466}],325:[function(t,e,r){"use strict";e.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 a=0;a1?0:Math.acos(s)};var n=t("./fromValues"),a=t("./normalize"),i=t("./dot")},{"./dot":340,"./fromValues":346,"./normalize":357}],331:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],332:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],333:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],334:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],335:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2];return t[0]=a*l-i*s,t[1]=i*o-n*l,t[2]=n*s-a*o,t}},{}],336:[function(t,e,r){e.exports=t("./distance")},{"./distance":337}],337:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)}},{}],338:[function(t,e,r){e.exports=t("./divide")},{"./divide":339}],339:[function(t,e,r){e.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}},{}],340:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],341:[function(t,e,r){e.exports=1e-6},{}],342:[function(t,e,r){e.exports=function(t,e){var r=t[0],a=t[1],i=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(a-s)<=n*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(i-l)<=n*Math.max(1,Math.abs(i),Math.abs(l))};var n=t("./epsilon")},{"./epsilon":341}],343:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],344:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],345:[function(t,e,r){e.exports=function(t,e,r,a,i,o){var s,l;e||(e=3);r||(r=0);l=a?Math.min(a*e+r,t.length):t.length;for(s=r;s0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i);return t}},{}],358:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,a=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=n*e,t}},{}],359:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[1],i=r[2],o=e[1]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=a+o*c-s*l,t[2]=i+o*l+s*c,t}},{}],360:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[2],o=e[0]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+s*l+o*c,t[1]=e[1],t[2]=i+s*c-o*l,t}},{}],361:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[1],o=e[0]-a,s=e[1]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+o*c-s*l,t[1]=i+o*l+s*c,t[2]=e[2],t}},{}],362:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],363:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],364:[function(t,e,r){e.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}},{}],365:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],366:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":368}],367:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":369}],368:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a}},{}],369:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],370:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":371}],371:[function(t,e,r){e.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}},{}],372:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t}},{}],373:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,t}},{}],374:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t}},{}],375:[function(t,e,r){e.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}},{}],376:[function(t,e,r){e.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}},{}],377:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],378:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],379:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(r*r+n*n+a*a+i*i)}},{}],380:[function(t,e,r){e.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}},{}],381:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],382:[function(t,e,r){e.exports=function(t,e,r,n){var a=new Float32Array(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a}},{}],383:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),add:t("./add"),subtract:t("./subtract"),multiply:t("./multiply"),divide:t("./divide"),min:t("./min"),max:t("./max"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),squaredDistance:t("./squaredDistance"),length:t("./length"),squaredLength:t("./squaredLength"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformQuat:t("./transformQuat")}},{"./add":375,"./clone":376,"./copy":377,"./create":378,"./distance":379,"./divide":380,"./dot":381,"./fromValues":382,"./inverse":384,"./length":385,"./lerp":386,"./max":387,"./min":388,"./multiply":389,"./negate":390,"./normalize":391,"./random":392,"./scale":393,"./scaleAndAdd":394,"./set":395,"./squaredDistance":396,"./squaredLength":397,"./subtract":398,"./transformMat4":399,"./transformQuat":400}],384:[function(t,e,r){e.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}},{}],385:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return Math.sqrt(e*e+r*r+n*n+a*a)}},{}],386:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],387:[function(t,e,r){e.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}},{}],388:[function(t,e,r){e.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}},{}],389:[function(t,e,r){e.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}},{}],390:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],391:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=a*o,t[3]=i*o);return t}},{}],392:[function(t,e,r){var n=t("./normalize"),a=t("./scale");e.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),a(t,t,e),t}},{"./normalize":391,"./scale":393}],393:[function(t,e,r){e.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}},{}],394:[function(t,e,r){e.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}},{}],395:[function(t,e,r){e.exports=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t}},{}],396:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return r*r+n*n+a*a+i*i}},{}],397:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return e*e+r*r+n*n+a*a}},{}],398:[function(t,e,r){e.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}},{}],399:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}},{}],400:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t[3]=e[3],t}},{}],401:[function(t,e,r){e.exports=function(t,e,r,i){return n[0]=i,n[1]=r,n[2]=e,n[3]=t,a[0]};var n=new Uint8Array(4),a=new Float32Array(n.buffer)},{}],402:[function(t,e,r){var n=t("glsl-tokenizer"),a=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return F(r),P+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function G(){return"."===e?(S.push(e),M=g,r=e,T+1):/[eE]/.test(e)?(S.push(e),M=g,r=e,T+1):"x"===e&&1===S.length&&"0"===S[0]?(M=_,S.push(e),r=e,T+1):/[^\d]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function Y(){return"f"===e&&(S.push(e),r=e,T+=1),/[eE]/.test(e)?(S.push(e),r=e,T+1):"-"===e&&/[eE]/.test(r)?(S.push(e),r=e,T+1):/[^\d]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function W(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=R.indexOf(t)>-1?y:D.indexOf(t)>-1?m:v,F(S.join("")),M=l,T}return S.push(e),r=e,T+1}};var n=t("./lib/literals"),a=t("./lib/operators"),i=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=999,c=9999,u=0,h=1,f=2,p=3,d=4,g=5,v=6,m=7,y=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":405,"./lib/builtins-300es":404,"./lib/literals":407,"./lib/literals-300es":406,"./lib/operators":408}],404:[function(t,e,r){var n=t("./builtins");n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.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"])},{"./builtins":405}],405:[function(t,e,r){e.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"]},{}],406:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uint","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"])},{"./literals":407}],407:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","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"]},{}],408:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],409:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),a=[];return a=(a=a.concat(r(t))).concat(r(null))}},{"./index":403}],410:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},r.write=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=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=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],414:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var a=t[0].length;if(r<=a)throw new Error("Must input at least d+1 points");var o=t.slice(0,a+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(a+1),u=0;u<=a;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var h=new i(l,new Array(a+1),!1),f=h.adjacent,p=new Array(a+2),u=0;u<=a;++u){for(var d=l.slice(),g=0;g<=a;++g)g===u&&(d[g]=-1);var v=d[0];d[0]=d[1],d[1]=v;var m=new i(d,new Array(a+1),!0);f[u]=m,p[u]=m}p[a+1]=h;for(var u=0;u<=a;++u)for(var d=f[u].vertices,y=f[u].adjacent,g=0;g<=a;++g){var x=d[g];if(x<0)y[g]=h;else for(var b=0;b<=a;++b)f[b].vertices.indexOf(x)<0&&(y[g]=f[b])}for(var _=new c(a,o,p),w=!!e,u=a+1;u0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var a=new Function("test",e.join("")),i=n[t+1];return i||(i=n),a(i)}(t)),this.orient=i}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,a=this.tuple,i=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];a[h]=f<0?e:i[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,i=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,c=s.adjacent,u=0;u<=n;++u)i[u]=a[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=i[u];i[u]=t;var p=this.orient();if(i[u]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var f=[];h.length>0;){var p=(e=h.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var v=0;v<=n;++v)if(v!==g){var m=d[v];if(m.boundary&&!(m.lastVisited>=r)){var y=m.vertices;if(m.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=a[y[b]];if(this.orient()>0){y[x]=r,m.boundary=!1,c.push(m),h.push(m),m.lastVisited=r;continue}m.lastVisited=-r}var _=m.adjacent,w=p.slice(),k=d.slice(),T=new i(w,k,!0);u.push(T);var A=_.indexOf(e);if(!(A<0)){_[A]=T,k[g]=m,w[v]=-1,k[v]=e,d[v]=T,T.flip();for(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)}f.push(new o(S,T,b))}}}}}}f.sort(s);for(v=0;v+1=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},{"robust-orientation":508,"simplicial-complex":518}],415:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=0,i=1;function o(t,e,r,n,a){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=a,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(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 c(t,e){var r=y(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 u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function h(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?a:(r.splice(n,1),c(t,r),i)}function f(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var a=r(t[n]);if(a)return a}}function d(t,e){for(var r=0;r>1],a=[],i=[],s=[];for(r=0;r3*(e+1)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,v),a=n.ge(this.rightPoints,t,m);this.leftPoints.splice(r,0,t),this.rightPoints.splice(a,0,t)}},s.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?h(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,i):(c===i&&(this.count-=1),c):a;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?h(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,i):(c===i&&(this.count-=1),c):a;if(1===this.count)return this.leftPoints[0]===t?2:a;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left,c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return i}for(s=n.ge(this.leftPoints,t,v);sthis.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.queryInterval=function(t,e,r){var n;if(tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return ethis.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==a}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":92}],416:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var 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}},{}],425:[function(t,e,r){"use strict";e.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))}},{}],426:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],427:[function(t,e,r){var n,a;n=this,a=function(){"use strict";var t,e,r;function n(n,a){if(t)if(e){var i="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=a(o)).workerUrl=window.URL.createObjectURL(new Blob([i],{type:"text/javascript"}))}else e=a;else t=a}return n(0,function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(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}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,a,i,o;for(void 0===e&&(e=1e-6),a=t,o=0;o<8;o++){if(i=this.sampleCurveX(a)-t,Math.abs(i)(n=1))return n;for(;ri?r=a:n=a,a=.5*(n-r)+r}return a},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=i;function i(t,e){this.x=t,this.y=e}function o(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(var r=0;r0;)e[r]=arguments[r+1];for(var n=0,a=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function g(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 v(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function y(t,e,r){var n={};for(var a in t)n[a]=e.call(r||this,t[a],a,t);return n}function x(t,e,r){var n={};for(var a in t)e.call(r||this,t[a],a,t)&&(n[a]=t[a]);return n}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?y(t,b):t}var _={};function w(t){_[t]||("undefined"!=typeof console&&console.warn(t),_[t]=!0)}function k(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,a=n-1,i=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(t,r,n,a){var i=n||a;return e[r]=!i||i.toLowerCase(),""}),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}function M(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var S,E,L,C,P=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),O=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,z=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,I={now:P,frame:function(t){var e=O(t);return{cancel:function(){return z(e)}}},getImageData:function(t){var e=self.document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("failed to create canvas 2d context");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(0,0,t.width,t.height)},resolveURL:function(t){return S||(S=self.document.createElement("a")),S.href=t,S.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==E&&(E=self.matchMedia("(prefers-reduced-motion: reduce)")),E.matches)}},D={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},R={supported:!1,testSupport:function(t){!F&&C&&(B?N(t):L=t)}},F=!1,B=!1;function N(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,C),t.isContextLost())return;R.supported=!0}catch(t){}t.deleteTexture(e),F=!0}self.document&&((C=self.document.createElement("img")).onload=function(){L&&N(L),L=null,B=!0},C.onerror=function(){F=!0,L=null},C.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var j="01",V=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function U(t){return 0===t.indexOf("mapbox:")}V.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",j,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},V.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},V.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},V.prototype.normalizeStyleURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeGlyphsURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeSourceURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeSpriteURL=function(t,e,r,n){var a=Y(t);return U(t)?(a.path="/styles/v1"+a.path+"/sprite"+e+r,this._makeAPIURL(a,this._customAccessToken||n)):(a.path+=""+e+r,W(a))},V.prototype.normalizeTileURL=function(t,e,r){if(this._isSkuTokenExpired()&&this._createSkuToken(),!e||!U(e))return t;var n=Y(t),a=I.devicePixelRatio>=2||512===r?"@2x":"",i=R.supported?".webp":"$1";return n.path=n.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+a+i),n.path=n.path.replace(/^.+\/v4\//,"/"),n.path="/v4"+n.path,D.REQUIRE_ACCESS_TOKEN&&(D.ACCESS_TOKEN||this._customAccessToken)&&this._skuToken&&n.params.push("sku="+this._skuToken),this._makeAPIURL(n,this._customAccessToken)},V.prototype.canonicalizeTileURL=function(t){var e=Y(t);if(!e.path.match(/(^\/v4\/)/)||!e.path.match(/\.[\w]+$/))return t;var r="mapbox://tiles/";r+=e.path.replace("/v4/","");var n=e.params.filter(function(t){return!t.match(/^access_token=/)});return n.length&&(r+="?"+n.join("&")),r},V.prototype.canonicalizeTileset=function(t,e){if(!U(e))return t.tiles||[];for(var r=[],n=0,a=t.tiles;n=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){w("Unable to write to LocalStorage")}},Z.prototype.processRequests=function(t){},Z.prototype.postEvent=function(t,e,r,n){var a=this;if(D.EVENTS_URL){var i=Y(D.EVENTS_URL);i.params.push("access_token="+(n||D.ACCESS_TOKEN||""));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"1.3.2",skuId:j,userId:this.anonId},s=e?h(o,e):o,l={url:W(i),headers:{"Content-Type":"text/plain"},body:JSON.stringify([s])};this.pendingRequest=mt(l,function(t){a.pendingRequest=null,r(t),a.saveEventData(),a.processRequests(n)})}},Z.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var J,K=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,(D.EVENTS_URL&&n||D.ACCESS_TOKEN&&Array.isArray(t)&&t.some(function(t){return U(t)||H(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,a=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),g(this.anonId)||(this.anonId=d()),this.postEvent(a,{skuToken:this.skuToken},function(t){t||n&&(e.success[n]=!0)},t))}},e}(Z),Q=new(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){D.EVENTS_URL&&D.ACCESS_TOKEN&&Array.isArray(t)&&t.some(function(t){return U(t)||H(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=X(D.ACCESS_TOKEN),n=r?r.u:D.ACCESS_TOKEN,a=n!==this.eventData.tokenU;g(this.anonId)||(this.anonId=d(),a=!0);var i=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(i),l=(i-this.eventData.lastSuccess)/864e5;a=a||l>=1||l<-1||o.getDate()!==s.getDate()}else a=!0;if(!a)return this.processRequests();this.postEvent(i,{"enabled.telemetry":!1},function(t){t||(e.eventData.lastSuccess=i,e.eventData.tokenU=n)},t)}},e}(Z)),$=Q.postTurnstileEvent.bind(Q),tt=new K,et=tt.postMapLoadEvent.bind(tt),rt="mapbox-tiles",nt=500,at=50,it=42e4;function ot(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}var st=1/0,lt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(lt);var ct=function(t){function e(e,r,n){401===r&&H(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);function ut(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}var ht=ut()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href};function ft(t,e){var r,n=new self.AbortController,a=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:ht(),signal:n.signal}),i=!1,o=!1,s=(r=a.url).indexOf("sku=")>0&&H(r);"json"===t.type&&a.headers.set("Accept","application/json");var l=function(r,n,i){if(!o){if(r&&"SecurityError"!==r.message&&w(r),n&&i)return c(n);var l=Date.now();self.fetch(a).then(function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new ct(r.statusText,r.status,t.url))}).catch(function(t){20!==t.code&&e(new Error(t.message))})}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then(function(t){o||(n&&s&&function(t,e,r){if(self.caches){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 a=A(e.headers.get("Cache-Control")||"");a["no-store"]||(a["max-age"]&&n.headers.set("Expires",new Date(r+1e3*a["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-rDate.now()&&!r["no-cache"]}(n);t.delete(r),a&&t.put(r,n.clone()),e(null,n,a)}).catch(e)}).catch(e)}(a,l):l(null,null),{cancel:function(){o=!0,i||n.abort()}}}var pt,dt,gt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(ht())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return ft(t,e);if(ut()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e)}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 ct(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},vt=function(t,e){return gt(h(t,{type:"arrayBuffer"}),e)},mt=function(t,e){return gt(h(t,{method:"POST"}),e)};pt=[],dt=0;var yt=function(t,e){if(dt>=D.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return pt.push(r),r}dt++;var n=!1,a=function(){if(!n)for(n=!0,dt--;pt.length&&dt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},kt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Tt={$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"},"*":{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}},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:"string",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"},{"!":"text-variable-anchor"}],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":{}}},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:22,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"},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"},"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"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{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:"string",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:"string",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:"string",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:"string",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"}}},At=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Mt(t){var e=t.key,r=t.value;return r?[new At(e,r,"constants have been deprecated as of v8")]:[]}function St(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Ht=[zt,It,Dt,Rt,Ft,Vt,Bt,Ut(Nt)];function Gt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Gt(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=Ht;r255?255:t}function a(t){return t<0?0:t>1?1:t}function i(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?a(parseFloat(t)/100):a(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,a=t.replace(/ /g,"").toLowerCase();if(a in r)return r[a].slice();if("#"===a[0])return 4===a.length?(e=parseInt(a.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===a.length&&(e=parseInt(a.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=a.indexOf("("),c=a.indexOf(")");if(-1!==l&&c+1===a.length){var u=a.substr(0,l),h=a.substr(l+1,c-(l+1)).split(","),f=1;switch(u){case"rgba":if(4!==h.length)return null;f=o(h.pop());case"rgb":return 3!==h.length?null:[i(h[0]),i(h[1]),i(h[2]),f];case"hsla":if(4!==h.length)return null;f=o(h.pop());case"hsl":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=o(h[1]),g=o(h[2]),v=g<=.5?g*(d+1):g+d-g*d,m=2*g-v;return[n(255*s(m,v,p+1/3)),n(255*s(m,v,p)),n(255*s(m,v,p-1/3)),f];default:return null}}return null}}catch(t){}}).parseCSSColor,Wt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};Wt.parse=function(t){if(t){if(t instanceof Wt)return t;if("string"==typeof t){var e=Yt(t);if(e)return new Wt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},Wt.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],a=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+a+")"},Wt.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},Wt.black=new Wt(0,0,0,1),Wt.white=new Wt(1,1,1,1),Wt.transparent=new Wt(0,0,0,0),Wt.red=new Wt(1,0,0,1);var Xt=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"})};Xt.prototype.compare=function(t,e){return this.collator.compare(t,e)},Xt.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Zt=function(t,e,r,n){this.text=t,this.scale=e,this.fontStack=r,this.textColor=n},Jt=function(t){this.sections=t};function Kt(t,e,r,n){return"number"==typeof t&&t>=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 Qt(t){if(null===t)return zt;if("string"==typeof t)return Dt;if("boolean"==typeof t)return Rt;if("number"==typeof t)return It;if(t instanceof Wt)return Ft;if(t instanceof Xt)return jt;if(t instanceof Jt)return Vt;if(Array.isArray(t)){for(var e,r=t.length,n=0,a=t;n2){var s=t[1];if("string"!=typeof s||!(s in re)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);i=re[s],n++}else i=Nt;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=Ut(i,o)}else r=re[a];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map(function(t){return t.serialize()}))};var ae=function(t){this.type=Vt,this.sections=t};ae.parse=function(t,e){if(t.length<3)return e.error("Expected at least two arguments.");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");for(var r=[],n=1;n4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":Kt(e[0],e[1],e[2],e[3])))return new Wt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ee(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=0)return!1;var r=!0;return t.eachChild(function(t){r&&!pe(t,e)&&(r=!1)}),r}ue.parse=function(t,e){if(2!==t.length)return e.error("Expected one argument.");var r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");var n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,Rt);if(!n)return null;var a=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,Rt);if(!a)return null;var i=null;return r.locale&&!(i=e.parse(r.locale,1,Dt))?null:new ue(n,a,i)},ue.prototype.evaluate=function(t){return new Xt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},ue.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},ue.prototype.possibleOutputs=function(){return[void 0]},ue.prototype.serialize=function(){var t={};return t["case-sensitive"]=this.caseSensitive.serialize(),t["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),["collator",t]};var de=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};de.parse=function(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");var r=t[1];return e.scope.has(r)?new de(r,e.scope.get(r)):e.error('Unknown variable "'+r+'". Make sure "'+r+'" has been bound in an enclosing "let" expression before using it.',1)},de.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},de.prototype.eachChild=function(){},de.prototype.possibleOutputs=function(){return[void 0]},de.prototype.serialize=function(){return["var",this.name]};var ge=function(t,e,r,n,a){void 0===e&&(e=[]),void 0===n&&(n=new Ot),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return"["+t+"]"}).join(""),this.scope=n,this.errors=a,this.expectedType=r};function ve(t,e){for(var r,n,a=t.length-1,i=0,o=a,s=0;i<=o;)if(r=t[s=Math.floor((i+o)/2)],n=t[s+1],r<=e){if(s===a||ee))throw new ee("Input is not a number.");o=s-1}return 0}ge.prototype.parse=function(t,e,r,n,a){return void 0===a&&(a={}),e?this.concat(e,r,n)._parse(t,a):this._parse(t,a)},ge.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ne(e,[t]):"coerce"===r?new oe(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 a=this.registry[n];if(a){var i=a.parse(t,this);if(!i)return null;if(this.expectedType){var o=this.expectedType,s=i.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||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else i=r(i,o,e.typeAnnotation||"coerce");else i=r(i,o,e.typeAnnotation||"assert")}if(!(i instanceof te)&&function t(e){if(e instanceof de)return t(e.boundExpression);if(e instanceof ce&&"error"===e.name)return!1;if(e instanceof ue)return!1;var r=e instanceof oe||e instanceof ne,n=!0;return e.eachChild(function(e){n=r?n&&t(e):n&&e instanceof te}),!!n&&(he(e)&&pe(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"]))}(i)){var l=new le;try{i=new te(i.type,i.evaluate(l))}catch(t){return this.error(t.message),null}}return i}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.")},ge.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new ge(this.registry,n,e||null,a,this.errors)},ge.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 Pt(n,t))},ge.prototype.checkSubtype=function(t,e){var r=Gt(t,e);return r&&this.error(r),r};var me=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,a=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,a);if(!u)return null;a=a||u.type,n.push([o,u])}return new me(a,r,n)},me.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 a=e.length;return n>=e[a-1]?r[a-1].evaluate(t):r[ve(e,n)].evaluate(t)},me.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 xe=Object.freeze({number:ye,color:function(t,e,r){return new Wt(ye(t.r,e.r,r),ye(t.g,e.g,r),ye(t.b,e.b,r),ye(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,n){return ye(t,e[n],r)})}}),be=.95047,_e=1,we=1.08883,ke=4/29,Te=6/29,Ae=3*Te*Te,Me=Te*Te*Te,Se=Math.PI/180,Ee=180/Math.PI;function Le(t){return t>Me?Math.pow(t,1/3):t/Ae+ke}function Ce(t){return t>Te?t*t*t:Ae*(t-ke)}function Pe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function ze(t){var e=Oe(t.r),r=Oe(t.g),n=Oe(t.b),a=Le((.4124564*e+.3575761*r+.1804375*n)/be),i=Le((.2126729*e+.7151522*r+.072175*n)/_e);return{l:116*i-16,a:500*(a-i),b:200*(i-Le((.0193339*e+.119192*r+.9503041*n)/we)),alpha:t.a}}function Ie(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=_e*Ce(e),r=be*Ce(r),n=we*Ce(n),new Wt(Pe(3.2404542*r-1.5371385*e-.4985314*n),Pe(-.969266*r+1.8760108*e+.041556*n),Pe(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var De={forward:ze,reverse:Ie,interpolate:function(t,e,r){return{l:ye(t.l,e.l,r),a:ye(t.a,e.a,r),b:ye(t.b,e.b,r),alpha:ye(t.alpha,e.alpha,r)}}},Re={forward:function(t){var e=ze(t),r=e.l,n=e.a,a=e.b,i=Math.atan2(a,n)*Ee;return{h:i<0?i+360:i,c:Math.sqrt(n*n+a*a),l:r,alpha:t.a}},reverse:function(t){var e=t.h*Se,r=t.c;return Ie({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:ye(t.c,e.c,r),l:ye(t.l,e.l,r),alpha:ye(t.alpha,e.alpha,r)}}},Fe=Object.freeze({lab:De,hcl:Re}),Be=function(t,e,r,n,a){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var i=0,o=a;i1}))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(!(a=e.parse(a,2,It)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Ft:e.expectedType&&"value"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u=h)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var g=e.parse(f,d,c);if(!g)return null;c=c||g.type,l.push([h,g])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new Be(c,r,n,a,l):e.error("Type "+qt(c)+" is not interpolatable.")},Be.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 a=e.length;if(n>=e[a-1])return r[a-1].evaluate(t);var i=ve(e,n),o=e[i],s=e[i+1],l=Be.interpolationFactor(this.interpolation,n,o,s),c=r[i].evaluate(t),u=r[i+1].evaluate(t);return"interpolate"===this.operator?xe[this.type.kind.toLowerCase()](c,u,l):"interpolate-hcl"===this.operator?Re.reverse(Re.interpolate(Re.forward(c),Re.forward(u),l)):De.reverse(De.interpolate(De.forward(c),De.forward(u),l))},Be.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new ee("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new ee("Array index must be an integer, but found "+e+" instead.");return r[e]},Ue.prototype.eachChild=function(t){t(this.index),t(this.input)},Ue.prototype.possibleOutputs=function(){return[void 0]},Ue.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var qe=function(t,e,r,n,a,i){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=a,this.otherwise=i};qe.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 a={},i=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,Qt(f)))return null}else r=Qt(f);if(void 0!==a[String(f)])return c.error("Branch labels must be unique.");a[String(f)]=i.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,i.push(p)}var d=e.parse(t[1],1,Nt);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new qe(r,n,d,a,i,g):null},qe.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(Qt(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},qe.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},qe.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs())},qe.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},a=0,i=Object.keys(this.cases).sort();a",function(t,e,r){return e>r},function(t,e,r,n){return n.compare(e,r)>0}),Qe=We("<=",function(t,e,r){return e<=r},function(t,e,r,n){return n.compare(e,r)<=0}),$e=We(">=",function(t,e,r){return e>=r},function(t,e,r,n){return n.compare(e,r)>=0}),tr=function(t,e,r,n,a){this.type=Dt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=a};tr.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,It);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 a=null;if(n.locale&&!(a=e.parse(n.locale,1,Dt)))return null;var i=null;if(n.currency&&!(i=e.parse(n.currency,1,Dt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,It)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,It))?null:new tr(r,a,i,o,s)},tr.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))},tr.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)},tr.prototype.possibleOutputs=function(){return[void 0]},tr.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 er=function(t){this.type=It,this.input=t};er.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 "+qt(r.type)+" instead."):new er(r):null},er.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 ee("Expected value to be of type string or array, but found "+qt(Qt(e))+" instead.")},er.prototype.eachChild=function(t){t(this.input)},er.prototype.possibleOutputs=function(){return[void 0]},er.prototype.serialize=function(){var t=["length"];return this.eachChild(function(e){t.push(e.serialize())}),t};var rr={"==":Xe,"!=":Ze,">":Ke,"<":Je,">=":$e,"<=":Qe,array:ne,at:Ue,boolean:ne,case:He,coalesce:je,collator:ue,format:ae,interpolate:Be,"interpolate-hcl":Be,"interpolate-lab":Be,length:er,let:Ve,literal:te,match:qe,number:ne,"number-format":tr,object:ne,step:me,string:ne,"to-boolean":oe,"to-color":oe,"to-number":oe,"to-string":oe,var:de};function nr(t,e){var r=e[0],n=e[1],a=e[2],i=e[3];r=r.evaluate(t),n=n.evaluate(t),a=a.evaluate(t);var o=i?i.evaluate(t):1,s=Kt(r,n,a,o);if(s)throw new ee(s);return new Wt(r/255*o,n/255*o,a/255*o,o)}function ar(t,e){return t in e}function ir(t,e){var r=e[t];return void 0===r?null:r}function or(t){return{type:t}}function sr(t){return{result:"success",value:t}}function lr(t){return{result:"error",value:t}}function cr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function ur(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function hr(t){return!!t.expression&&t.expression.interpolated}function fr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function pr(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function dr(t){return t}function gr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function vr(t,e,r,n,a){return gr(typeof r===a?n[r]:void 0,t.default,e.default)}function mr(t,e,r){if("number"!==fr(r))return gr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var a=ve(t.stops.map(function(t){return t[0]}),r);return t.stops[a][1]}function yr(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==fr(r))return gr(t.default,e.default);var a=t.stops.length;if(1===a)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[a-1][0])return t.stops[a-1][1];var i=ve(t.stops.map(function(t){return t[0]}),r),o=function(t,e,r,n){var a=n-r,i=t-r;return 0===a?0:1===e?i/a:(Math.pow(e,i)-1)/(Math.pow(e,a)-1)}(r,n,t.stops[i][0],t.stops[i+1][0]),s=t.stops[i][1],l=t.stops[i+1][1],c=xe[e.type]||dr;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=Fe[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.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 c(r,n,o)}}:c(s,l,o)}function xr(t,e,r){return"color"===e.type?r=Wt.parse(r):"formatted"===e.type?r=Jt.fromString(r.toString()):fr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),gr(r,t.default,e.default)}ce.register(rr,{error:[{kind:"error"},[Dt],function(t,e){var r=e[0];throw new ee(r.evaluate(t))}],typeof:[Dt,[Nt],function(t,e){return qt(Qt(e[0].evaluate(t)))}],"to-rgba":[Ut(It,4),[Ft],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Ft,[It,It,It],nr],rgba:[Ft,[It,It,It,It],nr],has:{type:Rt,overloads:[[[Dt],function(t,e){return ar(e[0].evaluate(t),t.properties())}],[[Dt,Bt],function(t,e){var r=e[0],n=e[1];return ar(r.evaluate(t),n.evaluate(t))}]]},get:{type:Nt,overloads:[[[Dt],function(t,e){return ir(e[0].evaluate(t),t.properties())}],[[Dt,Bt],function(t,e){var r=e[0],n=e[1];return ir(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Nt,[Dt],function(t,e){return ir(e[0].evaluate(t),t.featureState||{})}],properties:[Bt,[],function(t){return t.properties()}],"geometry-type":[Dt,[],function(t){return t.geometryType()}],id:[Nt,[],function(t){return t.id()}],zoom:[It,[],function(t){return t.globals.zoom}],"heatmap-density":[It,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[It,[],function(t){return t.globals.lineProgress||0}],accumulated:[Nt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[It,or(It),function(t,e){for(var r=0,n=0,a=e;n":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>i}],"filter-id->":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>a}],"filter-<=":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a<=i}],"filter-id-<=":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n<=a}],"filter->=":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>=i}],"filter-id->=":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>=a}],"filter-has":[Rt,[Nt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Rt,[],function(t){return null!==t.id()}],"filter-type-in":[Rt,[Ut(Dt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Rt,[Ut(Nt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Rt,[Dt,Ut(Nt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Rt,[Dt,Ut(Nt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var a=r+n>>1;if(e[a]===t)return!0;e[a]>t?n=a-1:r=a+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Rt,overloads:[[[Rt,Rt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[or(Rt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in rr}function wr(t,e){var r=new ge(rr,[],e?function(t){var e={color:Ft,string:Dt,number:It,enum:Dt,boolean:Rt,formatted:Vt};return"array"===t.type?Ut(e[t.value]||Nt,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?sr(new br(n,e)):lr(r.errors)}br.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.formattedSection=n,this.expression.evaluate(this._evaluator)},br.prototype.evaluate=function(t,e,r,n){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.formattedSection=n||null;try{var a=this.expression.evaluate(this._evaluator);if(null==a)return this._defaultValue;if(this._enumValues&&!(a in this._enumValues))throw new ee("Expected value to be one of "+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(", ")+", but found "+JSON.stringify(a)+" instead.");return a}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var kr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!fe(e.expression)};kr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n)},kr.prototype.evaluate=function(t,e,r,n){return this._styleExpression.evaluate(t,e,r,n)};var Tr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!fe(e.expression),this.interpolationType=n};function Ar(t,e){if("error"===(t=wr(t,e)).result)return t;var r=t.value.expression,n=he(r);if(!n&&!cr(e))return lr([new Pt("","data expressions not supported")]);var a=pe(r,["zoom"]);if(!a&&!ur(e))return lr([new Pt("","zoom expressions not supported")]);var i=function t(e){var r=null;if(e instanceof Ve)r=t(e.result);else if(e instanceof je)for(var n=0,a=e.args;nn.maximum?[new At(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function Cr(t){var e,r,n,a=t.valueSpec,i=Lt(t.value.type),o={},s="categorical"!==i&&void 0===t.value.property,l=!s,c="array"===fr(t.value.stops)&&"array"===fr(t.value.stops[0])&&"object"===fr(t.value.stops[0][0]),u=Sr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new At(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(Er({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===fr(r)&&0===r.length&&e.push(new At(t.key,r,"array must have at least one stop")),e},default:function(t){return Kr({key:t.key,value:t.value,valueSpec:a,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&s&&u.push(new At(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||u.push(new At(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!hr(t.valueSpec)&&u.push(new At(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!cr(t.valueSpec)?u.push(new At(t.key,t.value,"property functions not supported")):s&&!ur(t.valueSpec)&&u.push(new At(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||u.push(new At(t.key,t.value,'"property" property is required')),u;function h(t){var e=[],i=t.value,s=t.key;if("array"!==fr(i))return[new At(s,i,"array expected, "+fr(i)+" found")];if(2!==i.length)return[new At(s,i,"array length 2 expected, length "+i.length+" found")];if(c){if("object"!==fr(i[0]))return[new At(s,i,"object expected, "+fr(i[0])+" found")];if(void 0===i[0].zoom)return[new At(s,i,"object stop key must have zoom")];if(void 0===i[0].value)return[new At(s,i,"object stop key must have value")];if(n&&n>Lt(i[0].zoom))return[new At(s,i[0].zoom,"stop zoom values must appear in ascending order")];Lt(i[0].zoom)!==n&&(n=Lt(i[0].zoom),r=void 0,o={}),e=e.concat(Sr({key:s+"[0]",value:i[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Lr,value:f}}))}else e=e.concat(f({key:s+"[0]",value:i[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},i));return _r(Ct(i[1]))?e.concat([new At(s+"[1]",i[1],"expressions are not allowed in function stops.")]):e.concat(Kr({key:s+"[1]",value:i[1],valueSpec:a,style:t.style,styleSpec:t.styleSpec}))}function f(t,n){var s=fr(t.value),l=Lt(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new At(t.key,c,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new At(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==i){var u="number expected, "+s+" found";return cr(a)&&void 0===i&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new At(t.key,c,u)]}return"categorical"!==i||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":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 Fr(t){if(!t)return!0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?Br(t[1],t[2],"=="):"!="===r?Vr(Br(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?Br(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(Fr))):"all"===r?["all"].concat(t.slice(1).map(Fr)):"none"===r?["all"].concat(t.slice(1).map(Fr).map(Vr)):"in"===r?Nr(t[1],t.slice(2)):"!in"===r?Vr(Nr(t[1],t.slice(2))):"has"===r?jr(t[1]):"!has"!==r||Vr(jr(t[1]))}function Br(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 Nr(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(Rr)]]:["filter-in-small",t,["literal",e]]}}function jr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Vr(t){return["!",t]}function Ur(t){return zr(Ct(t.value))?Pr(St({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function t(e){var r=e.value,n=e.key;if("array"!==fr(r))return[new At(n,r,"array expected, "+fr(r)+" found")];var a,i=e.styleSpec,o=[];if(r.length<1)return[new At(n,r,"filter array must have at least 1 element")];switch(o=o.concat(Or({key:n+"[0]",value:r[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Lt(r[0])){case"<":case"<=":case">":case">=":r.length>=2&&"$type"===Lt(r[1])&&o.push(new At(n,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&o.push(new At(n,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(a=fr(r[1]))&&o.push(new At(n+"[1]",r[1],"string expected, "+a+" found"));for(var s=2;s=u[p+0]&&n>=u[p+1])?(o[f]=!0,i.push(c[f])):o[f]=!1}}},un.prototype._forEachCell=function(t,e,r,n,a,i,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&a.call(this,t,e,r,n,d,i,o,s))return}},un.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},un.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},un.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=cn+this.cells.length+1+1,r=0,n=0;n=0)){var h=t[u];c[u]=fn[l].shallow.indexOf(u)>=0?h:gn(h,e)}t instanceof Error&&(c.message=t.message)}if(c.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(c.$name=l),c}throw new Error("can't serialize object of type "+typeof t)}function vn(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||t instanceof ArrayBuffer||ArrayBuffer.isView(t)||t instanceof hn)return t;if(Array.isArray(t))return t.map(vn);if("object"==typeof t){var e=t.$name||"Object",r=fn[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),a=0,i=Object.keys(t);a=0?s:vn(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var mn=function(){this.first=!0};mn.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 xn(t){for(var e=0,r=t;e=65097&&t<=65103)||yn["CJK Compatibility Ideographs"](t)||yn["CJK Compatibility"](t)||yn["CJK Radicals Supplement"](t)||yn["CJK Strokes"](t)||!(!yn["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||yn["CJK Unified Ideographs Extension A"](t)||yn["CJK Unified Ideographs"](t)||yn["Enclosed CJK Letters and Months"](t)||yn["Hangul Compatibility Jamo"](t)||yn["Hangul Jamo Extended-A"](t)||yn["Hangul Jamo Extended-B"](t)||yn["Hangul Jamo"](t)||yn["Hangul Syllables"](t)||yn.Hiragana(t)||yn["Ideographic Description Characters"](t)||yn.Kanbun(t)||yn["Kangxi Radicals"](t)||yn["Katakana Phonetic Extensions"](t)||yn.Katakana(t)&&12540!==t||!(!yn["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)||!(!yn["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||yn["Unified Canadian Aboriginal Syllabics"](t)||yn["Unified Canadian Aboriginal Syllabics Extended"](t)||yn["Vertical Forms"](t)||yn["Yijing Hexagram Symbols"](t)||yn["Yi Syllables"](t)||yn["Yi Radicals"](t)))}function wn(t){return!(_n(t)||function(t){return!!(yn["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||yn["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)||yn["Letterlike Symbols"](t)||yn["Number Forms"](t)||yn["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)||yn["Control Pictures"](t)&&9251!==t||yn["Optical Character Recognition"](t)||yn["Enclosed Alphanumerics"](t)||yn["Geometric Shapes"](t)||yn["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||yn["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||yn["CJK Symbols and Punctuation"](t)||yn.Katakana(t)||yn["Private Use Area"](t)||yn["CJK Compatibility Forms"](t)||yn["Small Form Variants"](t)||yn["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 kn(t,e){return!(!e&&(t>=1424&&t<=2303||yn["Arabic Presentation Forms-A"](t)||yn["Arabic Presentation Forms-B"](t))||t>=2304&&t<=3583||t>=3840&&t<=4255||yn.Khmer(t))}var Tn,An=!1,Mn=null,Sn=!1,En=new kt,Ln={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Sn||null!=Ln.applyArabicShaping}},Cn=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 mn,this.transition={})};Cn.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 Pn=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(pr(t))return new Mr(t,e);if(_r(t)){var r=Ar(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=Wt.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Pn.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Pn.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var On=function(t){this.property=t,this.value=new Pn(t,void 0)};On.prototype.transitioned=function(t,e){return new In(this.property,this.value,e,h({},t.transition,this.transition),t.now)},On.prototype.untransitioned=function(){return new In(this.property,this.value,null,{},0)};var zn=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};zn.prototype.getValue=function(t){return b(this._values[t].value.value)},zn.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new On(this._values[t].property)),this._values[t].value=new Pn(this._values[t].property,null===e?void 0:b(e))},zn.prototype.getTransition=function(t){return b(this._values[t].transition)},zn.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new On(this._values[t].property)),this._values[t].transition=b(e)||void 0},zn.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e=1)return 1;var e=a*a,r=e*a;return 4*(a<.5?r:3*(a-e)+r-.75)}())}return r};var Dn=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Dn.prototype.possiblyEvaluate=function(t){for(var e=new Bn(this._properties),r=0,n=Object.keys(this._values);rn.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(jn),Un=function(t){this.specification=t};Un.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if("constant"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate(new Cn(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Cn(Math.floor(e.zoom),e)),t.expression.evaluate(new Cn(Math.floor(e.zoom+1),e)),e)}},Un.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Un.prototype.interpolate=function(t){return t};var qn=function(t){this.specification=t};qn.prototype.possiblyEvaluate=function(t,e){return!!t.expression.evaluate(e)},qn.prototype.interpolate=function(){return!1};var Hn=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 Pn(r,void 0),a=this.defaultTransitionablePropertyValues[e]=new On(r);this.defaultTransitioningPropertyValues[e]=a.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};pn("DataDrivenProperty",jn),pn("DataConstantProperty",Nn),pn("CrossFadedDataDrivenProperty",Vn),pn("CrossFadedProperty",Un),pn("ColorRampProperty",qn);var Gn=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter=function(){return!0},"custom"!==e.type&&(e=e,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 Rn(r.layout)),r.paint)){for(var n in this._transitionablePaint=new zn(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var a in e.layout)this.setLayoutProperty(a,e.layout[a],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}}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(on,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return m(t,"-transition")?this._transitionablePaint.getTransition(t.slice(0,-"-transition".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(an,n,t,e,r))return!1}if(m(t,"-transition"))return this._transitionablePaint.setTransition(t.slice(0,-"-transition".length),e||void 0),!1;var a=this._transitionablePaint._values[t],i="cross-faded-data-driven"===a.property.specification["property-type"],o=a.value.isDataDriven(),s=a.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||i||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){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},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,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&sn(this,t.call(rn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Tt,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 Fn&&cr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(kt),Yn={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Wn=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},Xn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Zn(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map(function(t){var a,i=(a=t.type,Yn[a].BYTES_PER_ELEMENT),o=r=Jn(r,Math.max(e,i)),s=t.components||1;return n=Math.max(n,i),r+=i*s,{name:t.name,type:t.type,components:s,offset:o}}),size:Jn(r,Math.max(n,e)),alignment:e}}function Jn(t,e){return Math.ceil(t/e)*e}Xn.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Xn.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},Xn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Xn.prototype.clear=function(){this.length=0},Xn.prototype.resize=function(t){this.reserve(t),this.length=t},Xn.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)}},Xn.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Kn=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}(Xn);Kn.prototype.bytesPerElement=4,pn("StructArrayLayout2i4",Kn);var Qn=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 a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,this.int16[i+3]=a,t},e}(Xn);Qn.prototype.bytesPerElement=8,pn("StructArrayLayout4i8",Qn);var $n=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,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,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]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(Xn);$n.prototype.bytesPerElement=12,pn("StructArrayLayout2i4i12",$n);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)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,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]=a,this.uint8[l+6]=i,this.uint8[l+7]=o,t},e}(Xn);ta.prototype.bytesPerElement=8,pn("StructArrayLayout2i4ub8",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.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,a,i,o,s)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l){var c=8*t;return this.uint16[c+0]=e,this.uint16[c+1]=r,this.uint16[c+2]=n,this.uint16[c+3]=a,this.uint16[c+4]=i,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=l,t},e}(Xn);ea.prototype.bytesPerElement=16,pn("StructArrayLayout8ui16",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.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,a,i,o,s)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l){var c=8*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=a,this.uint16[c+4]=i,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=l,t},e}(Xn);ra.prototype.bytesPerElement=16,pn("StructArrayLayout4i4ui16",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.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 a=3*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,t},e}(Xn);na.prototype.bytesPerElement=12,pn("StructArrayLayout3f12",na);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.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}(Xn);aa.prototype.bytesPerElement=4,pn("StructArrayLayout1ul4",aa);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),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,a,i,o,s,l,c,u)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h){var f=12*t,p=6*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=a,this.int16[f+4]=i,this.int16[f+5]=o,this.uint32[p+3]=s,this.uint16[f+8]=l,this.uint16[f+9]=c,this.int16[f+10]=u,this.int16[f+11]=h,t},e}(Xn);ia.prototype.bytesPerElement=24,pn("StructArrayLayout6i1ul2ui2i24",ia);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.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,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]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(Xn);oa.prototype.bytesPerElement=12,pn("StructArrayLayout2i2i2i12",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.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=12*t,o=3*t;return this.uint8[i+0]=e,this.uint8[i+1]=r,this.float32[o+1]=n,this.float32[o+2]=a,t},e}(Xn);sa.prototype.bytesPerElement=12,pn("StructArrayLayout2ub2f12",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,a,i,o,s,l,c,u,h,f,p,d,g){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v){var m=22*t,y=11*t,x=44*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=a,this.uint32[y+2]=i,this.uint32[y+3]=o,this.uint32[y+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=c,this.uint16[m+12]=u,this.float32[y+7]=h,this.float32[y+8]=f,this.uint8[x+36]=p,this.uint8[x+37]=d,this.uint8[x+38]=g,this.uint32[y+10]=v,t},e}(Xn);la.prototype.bytesPerElement=44,pn("StructArrayLayout2i2ui3ul3ui2f3ub1ul44",la);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.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,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x){var b=this.length;return this.resize(b+1),this.emplace(b,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b){var _=24*t,w=12*t;return this.int16[_+0]=e,this.int16[_+1]=r,this.int16[_+2]=n,this.int16[_+3]=a,this.int16[_+4]=i,this.int16[_+5]=o,this.uint16[_+6]=s,this.uint16[_+7]=l,this.uint16[_+8]=c,this.uint16[_+9]=u,this.uint16[_+10]=h,this.uint16[_+11]=f,this.uint16[_+12]=p,this.uint16[_+13]=d,this.uint16[_+14]=g,this.uint16[_+15]=v,this.uint16[_+16]=m,this.uint32[w+9]=y,this.float32[w+10]=x,this.float32[w+11]=b,t},e}(Xn);ca.prototype.bytesPerElement=48,pn("StructArrayLayout6i11ui1ul2f48",ca);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.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}(Xn);ua.prototype.bytesPerElement=4,pn("StructArrayLayout1f4",ua);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.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 a=3*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,t},e}(Xn);ha.prototype.bytesPerElement=6,pn("StructArrayLayout3i6",ha);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.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 a=2*t,i=4*t;return this.uint32[a+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t},e}(Xn);fa.prototype.bytesPerElement=8,pn("StructArrayLayout1ul2ui8",fa);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,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 a=3*t;return this.uint16[a+0]=e,this.uint16[a+1]=r,this.uint16[a+2]=n,t},e}(Xn);pa.prototype.bytesPerElement=6,pn("StructArrayLayout3ui6",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,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}(Xn);da.prototype.bytesPerElement=4,pn("StructArrayLayout2ui4",da);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.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}(Xn);ga.prototype.bytesPerElement=2,pn("StructArrayLayout1ui2",ga);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}(Xn);va.prototype.bytesPerElement=8,pn("StructArrayLayout2f8",va);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._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,this.float32[i+3]=a,t},e}(Xn);ma.prototype.bytesPerElement=16,pn("StructArrayLayout4f16",ma);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},radius:{configurable:!0},signedDistanceFromAnchor:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Wn);ya.prototype.size=24;var xa=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}(ia);pn("CollisionBoxArray",xa);var ba=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}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},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},Object.defineProperties(e.prototype,r),e}(Wn);ba.prototype.size=44;var _a=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 ba(this,t)},e}(la);pn("PlacedSymbolArray",_a);var wa=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},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},radialTextOffset:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.rightJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+2]=t},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.centerJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+3]=t},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.leftJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+4]=t},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.verticalPlacedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+5]=t},r.key.get=function(){return this._structArray.uint16[this._pos2+6]},r.key.set=function(t){this._structArray.uint16[this._pos2+6]=t},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+7]},r.textBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+7]=t},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.verticalTextBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.iconBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.featureIndex.set=function(t){this._structArray.uint16[this._pos2+13]=t},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+14]},r.numHorizontalGlyphVertices.set=function(t){this._structArray.uint16[this._pos2+14]=t},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+15]},r.numVerticalGlyphVertices.set=function(t){this._structArray.uint16[this._pos2+15]=t},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+16]},r.numIconVertices.set=function(t){this._structArray.uint16[this._pos2+16]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+9]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+9]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+10]},r.textBoxScale.set=function(t){this._structArray.float32[this._pos4+10]=t},r.radialTextOffset.get=function(){return this._structArray.float32[this._pos4+11]},r.radialTextOffset.set=function(t){this._structArray.float32[this._pos4+11]=t},Object.defineProperties(e.prototype,r),e}(Wn);wa.prototype.size=48;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.get=function(t){return new wa(this,t)},e}(ca);pn("SymbolInstanceArray",ka);var Ta=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={offsetX:{configurable:!0}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ta.prototype.size=4;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.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new Ta(this,t)},e}(ua);pn("GlyphOffsetArray",Aa);var Ma=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={x:{configurable:!0},y:{configurable:!0},tileUnitDistanceFromAnchor:{configurable:!0}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ma.prototype.size=6;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.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.prototype.get=function(t){return new Ma(this,t)},e}(ha);pn("SymbolLineVertexArray",Sa);var Ea=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.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ea.prototype.size=8;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.get=function(t){return new Ea(this,t)},e}(fa);pn("FeatureIndexArray",La);var Ca=Zn([{name:"a_pos",components:2,type:"Int16"}],4).members,Pa=function(t){void 0===t&&(t=[]),this.segments=t};function Oa(t,e){return 256*(t=c(Math.floor(t),0,255))+c(Math.floor(e),0,255)}Pa.prototype.prepareSegment=function(t,e,r,n){var a=this.segments[this.segments.length-1];return t>Pa.MAX_VERTEX_ARRAY_LENGTH&&w("Max vertices per segment is "+Pa.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!a||a.vertexLength+t>Pa.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==n)&&(a={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(a.sortKey=n),this.segments.push(a)),a},Pa.prototype.get=function(){return this.segments},Pa.prototype.destroy=function(){for(var t=0,e=this.segments;t>1;this.ids[n]>=t?r=n:e=n+1}for(var a=[];this.ids[e]===t;){var i=this.positions[3*e],o=this.positions[3*e+1],s=this.positions[3*e+2];a.push({index:i,start:o,end:s}),e++}return a},za.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,a){if(!(n>=a)){for(var i=e[n+a>>1],o=n-1,s=a+1;;){do{o++}while(e[o]i);if(o>=s)break;Ia(e,o,s),Ia(r,3*o,3*s),Ia(r,3*o+1,3*s+1),Ia(r,3*o+2,3*s+2)}t(e,r,n,s),t(e,r,s+1,a)}}(r,n,0,r.length-1),e.push(r.buffer,n.buffer),{ids:r,positions:n}},za.deserialize=function(t){var e=new za;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e},pn("FeaturePositionMap",za);var Da=function(t,e){this.gl=t.gl,this.location=e},Ra=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))},e}(Da),Fa=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t))},e}(Da),Ba=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))},e}(Da),Na=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))},e}(Da),ja=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]))},e}(Da),Va=function(t){function e(e,r){t.call(this,e,r),this.current=Wt.transparent}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a))},e}(Da),Ua=new Float32Array(16),qa=function(t){function e(e,r){t.call(this,e,r),this.current=Ua}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(Da);function Ha(t){return[Oa(255*t.r,255*t.g),Oa(255*t.b,255*t.a)]}var Ga=function(t,e,r){this.value=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t}),this.type=r,this.maxValue=-1/0};Ga.prototype.defines=function(){return this.names.map(function(t){return"#define HAS_UNIFORM_u_"+t})},Ga.prototype.setConstantPatternPositions=function(){},Ga.prototype.populatePaintArray=function(){},Ga.prototype.updatePaintArray=function(){},Ga.prototype.upload=function(){},Ga.prototype.destroy=function(){},Ga.prototype.setUniforms=function(t,e,r,n){e.set(n.constantOr(this.value))},Ga.prototype.getBinding=function(t,e){return"color"===this.type?new Va(t,e):new Fa(t,e)},Ga.serialize=function(t){var e=t.value,r=t.names,n=t.type;return{value:gn(e),names:r,type:n}},Ga.deserialize=function(t){var e=t.value,r=t.names,n=t.type;return new Ga(vn(e),r,n)};var Ya=function(t,e,r){this.value=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t}),this.type=r,this.maxValue=-1/0,this.patternPositions={patternTo:null,patternFrom:null}};Ya.prototype.defines=function(){return this.names.map(function(t){return"#define HAS_UNIFORM_u_"+t})},Ya.prototype.populatePaintArray=function(){},Ya.prototype.updatePaintArray=function(){},Ya.prototype.upload=function(){},Ya.prototype.destroy=function(){},Ya.prototype.setConstantPatternPositions=function(t,e){this.patternPositions.patternTo=t.tlbr,this.patternPositions.patternFrom=e.tlbr},Ya.prototype.setUniforms=function(t,e,r,n,a){var i=this.patternPositions;"u_pattern_to"===a&&i.patternTo&&e.set(i.patternTo),"u_pattern_from"===a&&i.patternFrom&&e.set(i.patternFrom)},Ya.prototype.getBinding=function(t,e){return new ja(t,e)};var Wa=function(t,e,r,n){this.expression=t,this.names=e,this.type=r,this.uniformNames=this.names.map(function(t){return"a_"+t}),this.maxValue=-1/0,this.paintVertexAttributes=e.map(function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?2:1,offset:0}}),this.paintVertexArray=new n};Wa.prototype.defines=function(){return[]},Wa.prototype.setConstantPatternPositions=function(){},Wa.prototype.populatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=a.length;a.reserve(t);var o=this.expression.evaluate(new Cn(0),e,{},n);if("color"===this.type)for(var s=Ha(o),l=i;lei.max||o.yei.max)&&(w("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=c(o.x,ei.min,ei.max),o.y=c(o.y,ei.min,ei.max))}return r}function ni(t,e,r,n,a){t.emplaceBack(2*e+(n+1)/2,2*r+(a+1)/2)}var ai=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 Kn,this.indexArray=new pa,this.segments=new Pa,this.programConfigurations=new Ka(Ca,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};function ii(t,e){for(var r=0;r1){if(ci(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(a)._add(e))}function pi(t,e){for(var r,n,a,i=!1,o=0;oe.y!=a.y>e.y&&e.x<(a.x-n.x)*(e.y-n.y)/(a.y-n.y)+n.x&&(i=!i);return i}function di(t,e){for(var r=!1,n=0,a=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-i.x)*(e.y-i.y)/(o.y-i.y)+i.x&&(r=!r)}return r}function gi(t,e,r){var n=r[0],a=r[2];if(t.xa.x&&e.x>a.x||t.ya.y&&e.y>a.y)return!1;var i=k(t,e,r[0]);return i!==k(t,e,r[1])||i!==k(t,e,r[2])||i!==k(t,e,r[3])}function vi(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].maxValue}function mi(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function yi(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=ti||c<0||c>=ti)){var u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=u.vertexLength;ni(this.layoutVertexArray,l,c,-1,-1),ni(this.layoutVertexArray,l,c,1,-1),ni(this.layoutVertexArray,l,c,1,1),ni(this.layoutVertexArray,l,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),u.vertexLength+=4,u.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{})},pn("CircleBucket",ai,{omit:["layers"]});var xi,bi=new Hn({"circle-sort-key":new jn(Tt.layout_circle["circle-sort-key"])}),_i={paint:new Hn({"circle-radius":new jn(Tt.paint_circle["circle-radius"]),"circle-color":new jn(Tt.paint_circle["circle-color"]),"circle-blur":new jn(Tt.paint_circle["circle-blur"]),"circle-opacity":new jn(Tt.paint_circle["circle-opacity"]),"circle-translate":new Nn(Tt.paint_circle["circle-translate"]),"circle-translate-anchor":new Nn(Tt.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Nn(Tt.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Nn(Tt.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new jn(Tt.paint_circle["circle-stroke-width"]),"circle-stroke-color":new jn(Tt.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new jn(Tt.paint_circle["circle-stroke-opacity"])}),layout:bi},wi="undefined"!=typeof Float32Array?Float32Array:Array;function ki(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,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)}),xi=new wi(3),wi!=Float32Array&&(xi[0]=0,xi[1]=0,xi[2]=0),function(){var t=new wi(4);wi!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ti=function(t){function e(e){t.call(this,e,_i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new ai(t)},e.prototype.queryRadius=function(t){var e=t;return vi("circle-radius",this,e)+vi("circle-stroke-width",this,e)+mi(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,i,o,s){for(var l=yi(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),i.angle,o),c=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),u="map"===this.paint.get("circle-pitch-alignment"),h=u?l:function(t,e){return l.map(function(t){return Ai(t,e)})}(0,s),f=u?c*o:c,p=0,d=n;pt.width||a.height>t.height||r.x>t.width-a.width||r.y>t.height-a.height)throw new RangeError("out of range source coordinates for image copy");if(a.width>e.width||a.height>e.height||n.x>e.width-a.width||n.y>e.height-a.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=i=t[0],a=o=t[1];for(var d=r;di&&(i=s),l>o&&(o=l);c=0!==(c=Math.max(i-n,o-a))?1/c:0}return qi(f,p,r,n,a,c),p}function Vi(t,e,r,n,a){var i,o;if(a===ho(t,e,r,n)>0)for(i=e;i=e;i-=n)o=lo(i,t[i],t[i+1],o);return o&&ro(o,o.next)&&(co(o),o=o.next),o}function Ui(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!ro(n,n.next)&&0!==eo(n.prev,n,n.next))n=n.next;else{if(co(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function qi(t,e,r,n,a,i,o){if(t){!o&&i&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=Ki(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=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)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,i);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,i?Gi(t,n,a,i):Hi(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),co(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?qi(t=Yi(Ui(t),e,r),e,r,n,a,i,2):2===o&&Wi(t,e,r,n,a,i):qi(Ui(t),e,r,n,a,i,1);break}}}function Hi(t){var e=t.prev,r=t,n=t.next;if(eo(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if($i(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&eo(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function Gi(t,e,r,n){var a=t.prev,i=t,o=t.next;if(eo(a,i,o)>=0)return!1;for(var s=a.xi.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=Ki(s,l,e,r,n),f=Ki(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&eo(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,d.x,d.y)&&eo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&eo(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,d.x,d.y)&&eo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Yi(t,e,r){var n=t;do{var a=n.prev,i=n.next.next;!ro(a,i)&&no(a,n,n.next,i)&&oo(a,i)&&oo(i,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(i.i/r),co(n),co(n.next),n=t=i),n=n.next}while(n!==t);return Ui(n)}function Wi(t,e,r,n,a,i){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&to(o,s)){var l=so(o,s);return o=Ui(o,o.next),l=Ui(l,l.next),qi(o,e,r,n,a,i),void qi(l,e,r,n,a,i)}s=s.next}o=o.next}while(o!==t)}function Xi(t,e){return t.x-e.x}function Zi(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&a!==n.x&&$i(ir.x||n.x===r.x&&Ji(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=so(e,t);Ui(r,r.next)}}function Ji(t,e){return eo(t.prev,t,e.prev)<0&&eo(e.next,t,t.next)<0}function Ki(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Qi(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function to(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&&no(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(oo(t,e)&&oo(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(eo(t.prev,t,e.prev)||eo(t,e.prev,e))||ro(t,e)&&eo(t.prev,t,t.next)>0&&eo(e.prev,e,e.next)>0)}function eo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function ro(t,e){return t.x===e.x&&t.y===e.y}function no(t,e,r,n){var a=io(eo(t,e,r)),i=io(eo(t,e,n)),o=io(eo(r,n,t)),s=io(eo(r,n,e));return a!==i&&o!==s||!(0!==a||!ao(t,r,e))||!(0!==i||!ao(t,n,e))||!(0!==o||!ao(r,t,n))||!(0!==s||!ao(r,e,n))}function ao(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 io(t){return t>0?1:t<0?-1:0}function oo(t,e){return eo(t.prev,t,t.next)<0?eo(t,e,t.next)>=0&&eo(t,t.prev,e)>=0:eo(t,e,t.prev)<0||eo(t,t.next,e)<0}function so(t,e){var r=new uo(t.i,t.x,t.y),n=new uo(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function lo(t,e,r,n){var a=new uo(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function co(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 uo(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 ho(t,e,r,n){for(var a=0,i=e,o=r-n;in;){if(a-n>600){var o=a-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(a,Math.floor(r+(o-s)*c/o+u)),i)}var h=e[r],f=n,p=a;for(po(e,n,r),i(e[a],h)>0&&po(e,n,a);f0;)p--}0===i(e[n],h)?po(e,n,p):po(e,++p,a),p<=r&&(n=p+1),r<=p&&(a=p-1)}}(t,e,r||0,n||t.length-1,a||go)}function po(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function go(t,e){return te?1:0}function vo(t,e){var r=t.length;if(r<=1)return[t];for(var n,a,i=[],o=0;o1)for(var l=0;l0&&(n+=t[a-1].length,r.holes.push(n))}return r},Bi.default=Ni;var bo=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 Kn,this.indexArray=new pa,this.indexArray2=new da,this.programConfigurations=new Ka(Fi,t.layers,t.zoom),this.segments=new Pa,this.segments2=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};bo.prototype.populate=function(t,e){this.hasPattern=yo("fill",this.layers,e);for(var r=this.layers[0].layout.get("fill-sort-key"),n=[],a=0,i=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},Mo.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,a=0,i=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(a+=t.readSVarint())s&&(s=a),(i+=t.readSVarint())c&&(c=i);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Mo.prototype.toGeoJSON=function(t,e,r){var n,a,i=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Mo.types[this.type];function u(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 Oo(t,e,r){if(3===t){var n=new Lo(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Co.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 Ao(this._pbf,e,this.extent,this._keys,this._values)};var zo={VectorTile:function(t,e){this.layers=t.readFields(Oo,{},e)},VectorTileFeature:Ao,VectorTileLayer:Lo},Io=zo.VectorTileFeature.types,Do=Math.pow(2,13);function Ro(t,e,r,n,a,i,o,s){t.emplaceBack(e,r,2*Math.floor(n*Do)+o,a*Do*2,i*Do*2,Math.round(s))}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 $n,this.indexArray=new pa,this.programConfigurations=new Ka(To,t.layers,t.zoom),this.segments=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};function Bo(t,e){return t.x===e.x&&(t.x<0||t.x>ti)||t.y===e.y&&(t.y<0||t.y>ti)}function No(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>ti})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>ti})}Fo.prototype.populate=function(t,e){this.features=[],this.hasPattern=yo("fill-extrusion",this.layers,e);for(var r=0,n=t;r=1){var m=p[g-1];if(!Bo(v,m)){u.vertexLength+4>Pa.MAX_VERTEX_ARRAY_LENGTH&&(u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var y=v.sub(m)._perp()._unit(),x=m.dist(v);d+x>32768&&(d=0),Ro(this.layoutVertexArray,v.x,v.y,y.x,y.y,0,0,d),Ro(this.layoutVertexArray,v.x,v.y,y.x,y.y,0,1,d),d+=x,Ro(this.layoutVertexArray,m.x,m.y,y.x,y.y,0,0,d),Ro(this.layoutVertexArray,m.x,m.y,y.x,y.y,0,1,d);var b=u.vertexLength;this.indexArray.emplaceBack(b,b+2,b+1),this.indexArray.emplaceBack(b+1,b+2,b+3),u.vertexLength+=4,u.primitiveLength+=2}}}}if(u.vertexLength+s>Pa.MAX_VERTEX_ARRAY_LENGTH&&(u=this.segments.prepareSegment(s,this.layoutVertexArray,this.indexArray)),"Polygon"===Io[t.type]){for(var _=[],w=[],k=u.vertexLength,T=0,A=o;T=2&&t[u-1].equals(t[u-2]);)u--;for(var h=0;h0;if(A&&x>h){var S=f.dist(g);if(S>2*p){var E=f.sub(f.sub(g)._mult(p/S)._round());this.updateDistance(g,E),this.addCurrentVertex(E,m,0,0,d),g=E}}var L=g&&v,C=L?r:c?"butt":n;if(L&&"round"===C&&(ka&&(C="bevel"),"bevel"===C&&(k>2&&(C="flipbevel"),k100)b=y.mult(-1);else{var P=k*m.add(y).mag()/m.sub(y).mag();b._perp()._mult(P*(M?-1:1))}this.addCurrentVertex(f,b,0,0,d),this.addCurrentVertex(f,b.mult(-1),0,0,d)}else if("bevel"===C||"fakeround"===C){var O=-Math.sqrt(k*k-1),z=M?O:0,I=M?0:O;if(g&&this.addCurrentVertex(f,m,z,I,d),"fakeround"===C)for(var D=Math.round(180*T/Math.PI/20),R=1;R2*p){var U=f.add(v.sub(f)._mult(p/V)._round());this.updateDistance(f,U),this.addCurrentVertex(U,y,0,0,d),f=U}}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,o,s)}},Xo.prototype.addCurrentVertex=function(t,e,r,n,a,i){void 0===i&&(i=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,i,!1,r,a),this.addHalfVertex(t,l,c,i,!0,-n,a),this.distance>Wo/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,a,i))},Xo.prototype.addHalfVertex=function(t,e,r,n,a,i,o){var s=t.x,l=t.y,c=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(a?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===i?0:i<0?-1:1)|(63&c)<<2,c>>6);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),a?this.e2=u:this.e1=u},Xo.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Wo-1):this.distance},pn("LineBucket",Xo,{omit:["layers","patternFeatures"]});var Zo=new Hn({"line-cap":new Nn(Tt.layout_line["line-cap"]),"line-join":new jn(Tt.layout_line["line-join"]),"line-miter-limit":new Nn(Tt.layout_line["line-miter-limit"]),"line-round-limit":new Nn(Tt.layout_line["line-round-limit"]),"line-sort-key":new jn(Tt.layout_line["line-sort-key"])}),Jo={paint:new Hn({"line-opacity":new jn(Tt.paint_line["line-opacity"]),"line-color":new jn(Tt.paint_line["line-color"]),"line-translate":new Nn(Tt.paint_line["line-translate"]),"line-translate-anchor":new Nn(Tt.paint_line["line-translate-anchor"]),"line-width":new jn(Tt.paint_line["line-width"]),"line-gap-width":new jn(Tt.paint_line["line-gap-width"]),"line-offset":new jn(Tt.paint_line["line-offset"]),"line-blur":new jn(Tt.paint_line["line-blur"]),"line-dasharray":new Un(Tt.paint_line["line-dasharray"]),"line-pattern":new Vn(Tt.paint_line["line-pattern"]),"line-gradient":new qn(Tt.paint_line["line-gradient"])}),layout:Zo},Ko=new(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 Cn(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,a){return r=h({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,a)},e}(jn))(Jo.paint.properties["line-width"].specification);Ko.useIntegerZoom=!0;var Qo=function(t){function e(e){t.call(this,e,Jo)}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=zi(t,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values["line-floorwidth"]=Ko.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new Xo(t)},e.prototype.queryRadius=function(t){var e=t,r=$o(vi("line-width",this,e),vi("line-gap-width",this,e)),n=vi("line-offset",this,e);return r/2+Math.abs(n)+mi(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=yi(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*$o(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var i=0;i0?e+2*t:t}var ts=Zn([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}]),es=Zn([{name:"a_projected_pos",components:3,type:"Float32"}],4),rs=(Zn([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Zn([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),ns=(Zn([{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"},{type:"Int16",name:"radius"},{type:"Int16",name:"signedDistanceFromAnchor"}]),Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),as=Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);function is(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()),Ln.applyArabicShaping&&(t=Ln.applyArabicShaping(t)),t}(t.text,e,r)}),t}Zn([{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"}]),Zn([{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:"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:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"radialTextOffset"}]),Zn([{type:"Float32",name:"offsetX"}]),Zn([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var os={"!":"\ufe15","#":"\uff03",$:"\uff04","%":"\uff05","&":"\uff06","(":"\ufe35",")":"\ufe36","*":"\uff0a","+":"\uff0b",",":"\ufe10","-":"\ufe32",".":"\u30fb","/":"\uff0f",":":"\ufe13",";":"\ufe14","<":"\ufe3f","=":"\uff1d",">":"\ufe40","?":"\ufe16","@":"\uff20","[":"\ufe47","\\":"\uff3c","]":"\ufe48","^":"\uff3e",_:"\ufe33","`":"\uff40","{":"\ufe37","|":"\u2015","}":"\ufe38","~":"\uff5e","\xa2":"\uffe0","\xa3":"\uffe1","\xa5":"\uffe5","\xa6":"\uffe4","\xac":"\uffe2","\xaf":"\uffe3","\u2013":"\ufe32","\u2014":"\ufe31","\u2018":"\ufe43","\u2019":"\ufe44","\u201c":"\ufe41","\u201d":"\ufe42","\u2026":"\ufe19","\u2027":"\u30fb","\u20a9":"\uffe6","\u3001":"\ufe11","\u3002":"\ufe12","\u3008":"\ufe3f","\u3009":"\ufe40","\u300a":"\ufe3d","\u300b":"\ufe3e","\u300c":"\ufe41","\u300d":"\ufe42","\u300e":"\ufe43","\u300f":"\ufe44","\u3010":"\ufe3b","\u3011":"\ufe3c","\u3014":"\ufe39","\u3015":"\ufe3a","\u3016":"\ufe17","\u3017":"\ufe18","\uff01":"\ufe15","\uff08":"\ufe35","\uff09":"\ufe36","\uff0c":"\ufe10","\uff0d":"\ufe32","\uff0e":"\u30fb","\uff1a":"\ufe13","\uff1b":"\ufe14","\uff1c":"\ufe3f","\uff1e":"\ufe40","\uff1f":"\ufe16","\uff3b":"\ufe47","\uff3d":"\ufe48","\uff3f":"\ufe33","\uff5b":"\ufe37","\uff5c":"\u2015","\uff5d":"\ufe38","\uff5f":"\ufe35","\uff60":"\ufe36","\uff61":"\ufe12","\uff62":"\ufe41","\uff63":"\ufe42"},ss=24,ls={horizontal:1,vertical:2,horizontalOnly:3},cs=function(){this.text="",this.sectionIndex=[],this.sections=[]};function us(t,e,r,n,a,i,o,s,l,c,u){var h,f=cs.fromFeature(t,r);c===ls.vertical&&f.verticalizePunctuation();var p=Ln.processBidirectionalText,d=Ln.processStyledBidirectionalText;if(p&&1===f.sections.length){h=[];for(var g=0,v=p(f.toString(),vs(f,s,n,e));g=0&&n>=t&&hs[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},cs.prototype.substring=function(t,e){var r=new cs;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},cs.prototype.toString=function(){return this.text},cs.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce(function(e,r){return Math.max(e,t.sections[r].scale)},0)};var hs={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},fs={};function ps(t,e,r,n){var a=Math.pow(t-e,2);return n?t=0,l=0,c=0;c0)&&("constant"!==a.value.kind||a.value.value.length>0),l="constant"!==o.value.kind||o.value.value&&o.value.value.length>0,c=n.get("symbol-sort-key");if(this.features=[],s||l){for(var u=e.iconDependencies,h=e.glyphDependencies,f=new Cn(this.zoom),p=0,d=t;p=0;for(var M=0,S=x.sections;M=0;s--)i[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:a},s>0&&(a+=e[s-1].dist(e[s]));for(var l=0;l0;this.addCollisionDebugVertices(i,o,s,l,c?this.collisionCircle:this.collisionBox,a.anchorPoint,r,c)}},Ps.prototype.generateCollisionDebugBuffers=function(){for(var t=0;t0},Ps.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ps.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},Ps.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},Ps.prototype.addIndicesForPlacedTextSymbol=function(t){for(var e=this.text.placedSymbolArray.get(t),r=e.vertexStartIndex+4*e.numGlyphs,n=e.vertexStartIndex;n1||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.addIndicesForPlacedTextSymbol(t)}),i.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedTextSymbol(i.verticalPlacedTextSymbolIndex);var o=this.icon.placedSymbolArray.get(a);if(o.numGlyphs){var s=o.vertexStartIndex;this.icon.indexArray.emplaceBack(s,s+1,s+2),this.icon.indexArray.emplaceBack(s+1,s+2,s+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},pn("SymbolBucket",Ps,{omit:["layers","collisionBoxArray","features","compareText"]}),Ps.MAX_GLYPHS=65535,Ps.addDynamicAttributes=Es;var Os=new Hn({"symbol-placement":new Nn(Tt.layout_symbol["symbol-placement"]),"symbol-spacing":new Nn(Tt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Nn(Tt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new jn(Tt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Nn(Tt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Nn(Tt.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Nn(Tt.layout_symbol["icon-ignore-placement"]),"icon-optional":new Nn(Tt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Nn(Tt.layout_symbol["icon-rotation-alignment"]),"icon-size":new jn(Tt.layout_symbol["icon-size"]),"icon-text-fit":new Nn(Tt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Nn(Tt.layout_symbol["icon-text-fit-padding"]),"icon-image":new jn(Tt.layout_symbol["icon-image"]),"icon-rotate":new jn(Tt.layout_symbol["icon-rotate"]),"icon-padding":new Nn(Tt.layout_symbol["icon-padding"]),"icon-keep-upright":new Nn(Tt.layout_symbol["icon-keep-upright"]),"icon-offset":new jn(Tt.layout_symbol["icon-offset"]),"icon-anchor":new jn(Tt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Nn(Tt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Nn(Tt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Nn(Tt.layout_symbol["text-rotation-alignment"]),"text-field":new jn(Tt.layout_symbol["text-field"]),"text-font":new jn(Tt.layout_symbol["text-font"]),"text-size":new jn(Tt.layout_symbol["text-size"]),"text-max-width":new jn(Tt.layout_symbol["text-max-width"]),"text-line-height":new Nn(Tt.layout_symbol["text-line-height"]),"text-letter-spacing":new jn(Tt.layout_symbol["text-letter-spacing"]),"text-justify":new jn(Tt.layout_symbol["text-justify"]),"text-radial-offset":new jn(Tt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Nn(Tt.layout_symbol["text-variable-anchor"]),"text-anchor":new jn(Tt.layout_symbol["text-anchor"]),"text-max-angle":new Nn(Tt.layout_symbol["text-max-angle"]),"text-writing-mode":new Nn(Tt.layout_symbol["text-writing-mode"]),"text-rotate":new jn(Tt.layout_symbol["text-rotate"]),"text-padding":new Nn(Tt.layout_symbol["text-padding"]),"text-keep-upright":new Nn(Tt.layout_symbol["text-keep-upright"]),"text-transform":new jn(Tt.layout_symbol["text-transform"]),"text-offset":new jn(Tt.layout_symbol["text-offset"]),"text-allow-overlap":new Nn(Tt.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Nn(Tt.layout_symbol["text-ignore-placement"]),"text-optional":new Nn(Tt.layout_symbol["text-optional"])}),zs={paint:new Hn({"icon-opacity":new jn(Tt.paint_symbol["icon-opacity"]),"icon-color":new jn(Tt.paint_symbol["icon-color"]),"icon-halo-color":new jn(Tt.paint_symbol["icon-halo-color"]),"icon-halo-width":new jn(Tt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new jn(Tt.paint_symbol["icon-halo-blur"]),"icon-translate":new Nn(Tt.paint_symbol["icon-translate"]),"icon-translate-anchor":new Nn(Tt.paint_symbol["icon-translate-anchor"]),"text-opacity":new jn(Tt.paint_symbol["text-opacity"]),"text-color":new jn(Tt.paint_symbol["text-color"],{runtimeType:Ft,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new jn(Tt.paint_symbol["text-halo-color"]),"text-halo-width":new jn(Tt.paint_symbol["text-halo-width"]),"text-halo-blur":new jn(Tt.paint_symbol["text-halo-blur"]),"text-translate":new Nn(Tt.paint_symbol["text-translate"]),"text-translate-anchor":new Nn(Tt.paint_symbol["text-translate-anchor"])}),layout:Os},Is=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:zt,this.defaultValue=t};Is.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},Is.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},Is.prototype.possibleOutputs=function(){return[void 0]},Is.prototype.serialize=function(){return null},pn("FormatSectionOverride",Is,{omit:["defaultValue"]});var Ds=function(t){function e(e){t.call(this,e,zs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){if(t.prototype.recalculate.call(this,e),"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 r=this.layout.get("text-writing-mode");if(r){for(var n=[],a=0,i=r;a=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},Qs=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=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=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},$s=tl;function tl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function el(t){return t.type===tl.Bytes?t.readVarint()+t.pos:t.pos+1}function rl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function nl(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 a=r.pos-1;a>=t;a--)r.buf[a+n]=r.buf[a]}function al(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function gl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}tl.Varint=0,tl.Fixed64=1,tl.Bytes=2,tl.Fixed32=5,tl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,i=this.pos;this.type=7&n,t(a,e,this),this.pos===i&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=pl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=gl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=pl(this.buf,this.pos)+4294967296*pl(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=pl(this.buf,this.pos)+4294967296*gl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Ks(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Ks(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,a,i=r.buf;if(n=(112&(a=i[r.pos++]))>>4,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<3,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<10,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<17,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<24,a<128)return rl(t,n,e);if(n|=(1&(a=i[r.pos++]))<<31,a<128)return rl(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=function(t,e,r){for(var n="",a=e;a239?4:l>223?3:l>191?2:1;if(a+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(i=t[a+1]))&&(c=(31&l)<<6|63&i)<=127&&(c=null):3===u?(i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&((c=(15&l)<<12|(63&i)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&i)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),a+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},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!==tl.Bytes)return t.push(this.readVarint(e));var r=el(this);for(t=t||[];this.pos127;);else if(e===tl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===tl.Fixed32)this.pos+=4;else{if(e!==tl.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,a,i=0;i55295&&n<57344){if(!a){n>56319||i+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):a=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,a=n;continue}n=a-55296<<10|n-56320|65536,a=null}else a&&(t[r++]=239,t[r++]=191,t[r++]=189,a=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&&nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Qs(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Qs(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&&nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,tl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,al,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,il,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,ll,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,ol,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,sl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,cl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,ul,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,hl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,fl,e)},writeBytesField:function(t,e){this.writeTag(t,tl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,tl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,tl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,tl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,tl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,tl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,tl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,tl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,tl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,tl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var vl=3;function ml(t,e,r){1===t&&r.readMessage(yl,e)}function yl(t,e,r){if(3===t){var n=r.readMessage(xl,{}),a=n.id,i=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:a,bitmap:new Ci({width:o+2*vl,height:s+2*vl},i),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function xl(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())}var bl=vl,_l=function(t){var e=this;this._callback=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback()})};_l.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){t._triggered=!1,t._callback()},0))};var wl=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},v(["receive","process"],this),this.invoker=new _l(this.process),this.target.addEventListener("message",this.receive,!1)};function kl(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}wl.prototype.send=function(t,e,r,n){var a=this,i=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[i]=r);var o=[];return this.target.postMessage({id:i,type:t,hasCallback:!!r,targetMapId:n,sourceMapId:this.mapId,data:gn(e,o)},o),{cancel:function(){r&&delete a.callbacks[i],a.target.postMessage({id:i,type:"",targetMapId:n,sourceMapId:a.mapId})}}},wl.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 this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()},wl.prototype.process=function(){var t=this;if(this.taskQueue.length){var e=this.taskQueue.shift(),r=this.tasks[e];if(delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),r)if(""===r.type){var n=this.callbacks[e];delete this.callbacks[e],n&&(r.error?n(vn(r.error)):n(null,vn(r.data)))}else{var a=!1,i=r.hasCallback?function(r,n){a=!0,delete t.cancelCallbacks[e];var i=[];t.target.postMessage({id:e,type:"",sourceMapId:t.mapId,error:r?gn(r):null,data:gn(n,i)},i)}:function(t){a=!0},o=null,s=vn(r.data);if(this.parent[r.type])o=this.parent[r.type](r.sourceMapId,s,i);else if(this.parent.getWorkerSource){var l=r.type.split(".");o=this.parent.getWorkerSource(r.sourceMapId,l[0],s.source)[l[1]](s,i)}else i(new Error("Could not find function "+r.type));!a&&o&&o.cancel&&(this.cancelCallbacks[e]=o.cancel)}}},wl.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)};var Tl=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]))};Tl.prototype.setNorthEast=function(t){return this._ne=t instanceof Al?new Al(t.lng,t.lat):Al.convert(t),this},Tl.prototype.setSouthWest=function(t){return this._sw=t instanceof Al?new Al(t.lng,t.lat):Al.convert(t),this},Tl.prototype.extend=function(t){var e,r,n=this._sw,a=this._ne;if(t instanceof Al)e=t,r=t;else{if(!(t instanceof Tl))return Array.isArray(t)?t.every(Array.isArray)?this.extend(Tl.convert(t)):this.extend(Al.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return n||a?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),a.lng=Math.max(r.lng,a.lng),a.lat=Math.max(r.lat,a.lat)):(this._sw=new Al(e.lng,e.lat),this._ne=new Al(r.lng,r.lat)),this},Tl.prototype.getCenter=function(){return new Al((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Tl.prototype.getSouthWest=function(){return this._sw},Tl.prototype.getNorthEast=function(){return this._ne},Tl.prototype.getNorthWest=function(){return new Al(this.getWest(),this.getNorth())},Tl.prototype.getSouthEast=function(){return new Al(this.getEast(),this.getSouth())},Tl.prototype.getWest=function(){return this._sw.lng},Tl.prototype.getSouth=function(){return this._sw.lat},Tl.prototype.getEast=function(){return this._ne.lng},Tl.prototype.getNorth=function(){return this._ne.lat},Tl.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Tl.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Tl.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Tl.convert=function(t){return!t||t instanceof Tl?t:new Tl(t)};var Al=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")};Al.prototype.wrap=function(){return new Al(u(this.lng,-180,180),this.lat)},Al.prototype.toArray=function(){return[this.lng,this.lat]},Al.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Al.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 Tl(new Al(this.lng-r,this.lat-e),new Al(this.lng+r,this.lat+e))},Al.convert=function(t){if(t instanceof Al)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Al(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Al(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 Ml=2*Math.PI*6378137;function Sl(t){return Ml*Math.cos(t*Math.PI/180)}function El(t){return(180+t)/360}function Ll(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Cl(t,e){return t/Sl(e)}function Pl(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Ol=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Ol.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Al.convert(t);return new Ol(El(r.lng),Ll(r.lat),Cl(e,r.lat))},Ol.prototype.toLngLat=function(){return new Al(360*this.x-180,Pl(this.y))},Ol.prototype.toAltitude=function(){return this.z*Sl(Pl(this.y))},Ol.prototype.meterInMercatorCoordinateUnits=function(){return 1/Ml*(t=Pl(this.y),1/Math.cos(t*Math.PI/180));var t};var zl=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Rl(0,t,e,r)};zl.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},zl.prototype.url=function(t,e){var r,n,a,i,o,s=(r=this.x,n=this.y,a=this.z,i=kl(256*r,256*(n=Math.pow(2,a)-n-1),a),o=kl(256*(r+1),256*(n+1),a),i[0]+","+i[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,a="",i=t;i>0;i--)a+=(e&(n=1<this.canonical.z?new Dl(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Dl(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Dl.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},Dl.prototype.children=function(t){if(this.overscaledZ>=t)return[new Dl(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 Dl(e,this.wrap,e,r,n),new Dl(e,this.wrap,e,r+1,n),new Dl(e,this.wrap,e,r,n+1),new Dl(e,this.wrap,e,r+1,n+1)]},Dl.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)},Fl.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Fl.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Fl.prototype.getPixels=function(){return new Pi({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Fl.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,a=e*this.dim+this.dim,i=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=a-1;break;case 1:a=n+1}switch(r){case-1:i=o-1;break;case 1:o=i+1}for(var s=-e*this.dim,l=-r*this.dim,c=i;c=0)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e&&e>=0)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}},Ul.prototype.getState=function(t,e){var r=String(e),n=this.state[t]||{},a=this.stateChanges[t]||{},i=h({},n[r],a[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){var o=this.deletedStates[t][e];if(null===o)return{};for(var s in o)delete i[s]}return i},Ul.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e)},Ul.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var a={};for(var i in this.stateChanges[n])this.state[n][i]||(this.state[n][i]={}),h(this.state[n][i],this.stateChanges[n][i]),a[i]=this.state[n][i];r[n]=a}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var l in this.state[o])s[l]={},this.state[o][l]={};else for(var c in this.deletedStates[o]){if(null===this.deletedStates[o][c])this.state[o][c]={};else for(var u=0,f=Object.keys(this.deletedStates[o][c]);u=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},ql.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new zo.VectorTile(new $s(this.rawTileData)).layers,this.sourceLayerCoder=new Nl(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},ql.prototype.query=function(t,e,r){var n=this;this.loadVTLayers();for(var i=t.params||{},o=ti/t.tileSize/t.scale,s=Dr(i.filter),l=t.queryGeometry,c=t.queryPadding*o,u=Hl(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),f=Hl(t.cameraQueryGeometry),p=0,d=this.grid3D.query(f.minX-c,f.minY-c,f.maxX+c,f.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 c=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var u=0,h=c;u=0)return!0;return!1}(i,l)){var c=this.sourceLayerCoder.decode(r),u=this.vtLayers[c].feature(n);if(a(new Cn(this.tileID.overscaledZ),u))for(var h=0;h-r/2;){if(--o<0)return!1;s-=t[o].dist(i),i=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>a)return!1;o++,s+=h.dist(f)}return!0}function Xl(t){for(var e=0,r=0;rc){var d=(c-l)/p,g=ye(h.x,f.x,d),v=ye(h.y,f.y,d),m=new xs(g,v,f.angleTo(h),u);return m._round(),!o||Wl(t,m,s,o,e)?m:void 0}l+=p}}function Ql(t,e,r,n,a,i,o,s,l){var c=Zl(n,i,o),u=Jl(n,a),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&_=0&&w=0&&p+u<=h){var k=new xs(_,w,x,g);k._round(),a&&!Wl(e,k,o,a,i)||d.push(k)}}f+=y}return l||d.length||s||(d=t(e,f/2,n,a,i,o,s,!0,c)),d}(t,f?e/2*s%e:(u/2+2*i)*o*s%e,e,c,r,h,f,!1,l)}Yl.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e>l.z,u=new a(l.x*c,l.y*c),h=new a(u.x+c,u.y+c),f=this.segments.prepareSegment(4,r,n);r.emplaceBack(u.x,u.y,u.x,u.y),r.emplaceBack(h.x,u.y,h.x,u.y),r.emplaceBack(u.x,h.y,u.x,h.y),r.emplaceBack(h.x,h.y,h.x,h.y);var p=f.vertexLength;n.emplaceBack(p,p+1,p+2),n.emplaceBack(p+1,p+2,p+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,Bl.members),this.maskedIndexBuffer=e.createIndexBuffer(n)}},Yl.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},Yl.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},Yl.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=A(t.cacheControl);r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),a=!1;if(this.expirationTime>n)a=!1;else if(e)if(this.expirationTime0&&(m=Math.max(10*l,m),this._addLineCollisionCircles(t,e,r,r.segment,y,m,n,i,o,h))}else{if(f){var x=new a(g,p),b=new a(v,p),_=new a(g,d),w=new a(v,d),k=f*Math.PI/180;x._rotate(k),b._rotate(k),_._rotate(k),w._rotate(k),g=Math.min(x.x,b.x,_.x,w.x),v=Math.max(x.x,b.x,_.x,w.x),p=Math.min(x.y,b.y,_.y,w.y),d=Math.max(x.y,b.y,_.y,w.y)}t.emplaceBack(r.x,r.y,g,p,v,d,n,i,o,0,0)}this.boxEndIndex=t.length};$l.prototype._addLineCollisionCircles=function(t,e,r,n,a,i,o,s,l,c){var u=i/2,h=Math.floor(a/u)||1,f=1+.4*Math.log(c)/Math.LN2,p=Math.floor(h*f/2),d=-i/2,g=r,v=n+1,m=d,y=-a/2,x=y-a/4;do{if(--v<0){if(m>y)return;v=0;break}m-=e[v].dist(g),g=e[v]}while(m>x);for(var b=e[v].dist(e[v+1]),_=-p;_a&&(k+=w-a),!(k=e.length)return;b=e[v].dist(e[v+1])}var T=k-m,A=e[v],M=e[v+1].sub(A)._unit()._mult(T)._add(A)._round(),S=Math.abs(k-d)0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function ec(t,e){return te?1:0}function rc(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],c=0;co)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=o-n,f=s-i,p=Math.min(h,f),d=p/2,g=new tc([],nc);if(0===p)return new a(n,i);for(var v=n;vy.d||!y.d)&&(y=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-y.d<=e||(d=b.h/2,g.push(new ac(b.p.x-d,b.p.y-d,d,t)),g.push(new ac(b.p.x+d,b.p.y-d,d,t)),g.push(new ac(b.p.x-d,b.p.y+d,d,t)),g.push(new ac(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+y.d)),y.p}function nc(t,e){return e.max-t.max}function ac(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,a=0;at.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,fi(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}tc.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},tc.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}},tc.prototype.peek=function(){return this.data[0]},tc.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var a=t-1>>1,i=e[a];if(r(n,i)>=0)break;e[t]=i,t=a}e[t]=n},tc.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,a=e[t];t=0)break;e[t]=o,t=i}e[t]=a};var ic=e(function(t){t.exports=function(t,e){var r,n,a,i,o,s,l,c;for(r=3&t.length,n=t.length-r,a=e,o=3432918353,s=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|a>>>19))+((5*(a>>>16)&65535)<<16)&4294967295))+((58964+(i>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:a^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return a^=t.length,a=2246822507*(65535&(a^=a>>>16))+((2246822507*(a>>>16)&65535)<<16)&4294967295,a=3266489909*(65535&(a^=a>>>13))+((3266489909*(a>>>16)&65535)<<16)&4294967295,(a^=a>>>16)>>>0}}),oc=e(function(t){t.exports=function(t,e){for(var r,n=t.length,a=e^n,i=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(i)|(255&t.charCodeAt(++i))<<8|(255&t.charCodeAt(++i))<<16|(255&t.charCodeAt(++i))<<24))+((1540483477*(r>>>16)&65535)<<16),a=1540483477*(65535&a)+((1540483477*(a>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++i;switch(n){case 3:a^=(255&t.charCodeAt(i+2))<<16;case 2:a^=(255&t.charCodeAt(i+1))<<8;case 1:a=1540483477*(65535&(a^=255&t.charCodeAt(i)))+((1540483477*(a>>>16)&65535)<<16)}return a=1540483477*(65535&(a^=a>>>13))+((1540483477*(a>>>16)&65535)<<16),(a^=a>>>15)>>>0}}),sc=ic,lc=ic,cc=oc;sc.murmur3=lc,sc.murmur2=cc;var uc=7;function hc(t,e){var r=0,n=0,a=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=a-uc;break;case"bottom-right":case"bottom-left":n=-a+uc;break;case"bottom":n=-e+uc;break;case"top":n=e-uc}switch(t){case"top-right":case"bottom-right":r=-a;break;case"top-left":case"bottom-left":r=a;break;case"left":r=e;break;case"right":r=-e}return[r,n]}function fc(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 pc=65535;function dc(t,e,r,n,i,o,s,l,c,u,h,f,p){var d=function(t,e,r,n,i,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=e.positionedGlyphs,h=[],f=0;fpc&&w(t.layerIds[0]+': Value for "text-size" is >= 256. Reduce your "text-size".'):"composite"===g.kind&&((v=[bs*p.compositeTextSizes[0].evaluate(o,{}),bs*p.compositeTextSizes[1].evaluate(o,{})])[0]>pc||v[1]>pc)&&w(t.layerIds[0]+': Value for "text-size" is >= 256. Reduce your "text-size".'),t.addSymbols(t.text,d,v,s,i,o,c,e,l.lineStartIndex,l.lineLength);for(var m=0,y=u;m=0;o--)if(n.dist(i[o])at&&(t.getActor().send("enforceCacheSizeLimit",nt),st=0)},t.clamp=c,t.clearTileCache=function(t){var e=self.caches.delete(rt);t&&e.catch(t).then(function(){return t()})},t.clone=function(t){var e=new wi(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.config=D,t.create=function(){var t=new wi(16);return wi!=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 wi(9);return wi!=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 wi(4);return wi!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=wr,t.createLayout=Zn,t.createStyleLayer=function(t){return"custom"===t.type?new js(t):new Vs[t.type](t)},t.deepEqual=o,t.ease=l,t.emitValidationErrors=sn,t.endsWith=m,t.enforceCacheSizeLimit=function(t){self.caches&&self.caches.open(rt).then(function(e){e.keys().then(function(r){for(var n=0;n=ti||c.y<0||c.y>=ti||function(t,e,r,n,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_){var k,T,A,M=t.addToLineVertexArray(e,r),S=0,E=0,L=0,C={},P=sc(""),O=(o.layout.get("text-radial-offset").evaluate(x,{})||0)*ss;if(t.allowVerticalPlacement&&n.vertical){var z=o.layout.get("text-rotate").evaluate(x,{})+90,I=n.vertical;A=new $l(s,r,e,l,c,u,I,h,f,p,t.overscaling,z)}for(var D in n.horizontal){var R=n.horizontal[D];if(!k){P=sc(R.text);var F=o.layout.get("text-rotate").evaluate(x,{});k=new $l(s,r,e,l,c,u,R,h,f,p,t.overscaling,F)}var B=1===R.lineCount;if(E+=dc(t,e,R,o,p,x,d,M,n.vertical?ls.horizontal:ls.horizontalOnly,B?Object.keys(n.horizontal):[D],C,b,_),B)break}n.vertical&&(L+=dc(t,e,n.vertical,o,p,x,d,M,ls.vertical,["vertical"],C,b,_));var N=k?k.boxStartIndex:t.collisionBoxArray.length,j=k?k.boxEndIndex:t.collisionBoxArray.length,V=A?A.boxStartIndex:t.collisionBoxArray.length,U=A?A.boxEndIndex:t.collisionBoxArray.length;if(i){var q=function(t,e,r,n,i,o){var s,l,c,u,h=e.image,f=r.layout,p=e.top-1/h.pixelRatio,d=e.left-1/h.pixelRatio,g=e.bottom+1/h.pixelRatio,v=e.right+1/h.pixelRatio;if("none"!==f.get("icon-text-fit")&&i){var m=v-d,y=g-p,x=f.get("text-size").evaluate(o,{})/24,b=i.left*x,_=i.right*x,w=i.top*x,k=_-b,T=i.bottom*x-w,A=f.get("icon-text-fit-padding")[0],M=f.get("icon-text-fit-padding")[1],S=f.get("icon-text-fit-padding")[2],E=f.get("icon-text-fit-padding")[3],L="width"===f.get("icon-text-fit")?.5*(T-y):0,C="height"===f.get("icon-text-fit")?.5*(k-m):0,P="width"===f.get("icon-text-fit")||"both"===f.get("icon-text-fit")?k:m,O="height"===f.get("icon-text-fit")||"both"===f.get("icon-text-fit")?T:y;s=new a(b+C-E,w+L-A),l=new a(b+C+M+P,w+L-A),c=new a(b+C+M+P,w+L+S+O),u=new a(b+C-E,w+L+S+O)}else s=new a(d,p),l=new a(v,p),c=new a(v,g),u=new a(d,g);var z=r.layout.get("icon-rotate").evaluate(o,{})*Math.PI/180;if(z){var I=Math.sin(z),D=Math.cos(z),R=[D,-I,I,D];s._matMult(R),l._matMult(R),u._matMult(R),c._matMult(R)}return[{tl:s,tr:l,bl:u,br:c,tex:h.paddedRect,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0}]}(0,i,o,0,gc(n.horizontal),x),H=o.layout.get("icon-rotate").evaluate(x,{});T=new $l(s,r,e,l,c,u,i,g,v,!1,t.overscaling,H),S=4*q.length;var G=t.iconSizeData,Y=null;"source"===G.kind?(Y=[bs*o.layout.get("icon-size").evaluate(x,{})])[0]>pc&&w(t.layerIds[0]+': Value for "icon-size" is >= 256. Reduce your "icon-size".'):"composite"===G.kind&&((Y=[bs*_.compositeIconSizes[0].evaluate(x,{}),bs*_.compositeIconSizes[1].evaluate(x,{})])[0]>pc||Y[1]>pc)&&w(t.layerIds[0]+': Value for "icon-size" is >= 256. Reduce your "icon-size".'),t.addSymbols(t.icon,q,Y,y,m,x,!1,e,M.lineStartIndex,M.lineLength)}var W=T?T.boxStartIndex:t.collisionBoxArray.length,X=T?T.boxEndIndex:t.collisionBoxArray.length;t.glyphOffsetArray.length>=Ps.MAX_GLYPHS&&w("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),t.symbolInstances.emplaceBack(e.x,e.y,C.right>=0?C.right:-1,C.center>=0?C.center:-1,C.left>=0?C.left:-1,C.vertical||-1,P,N,j,V,U,W,X,l,E,L,S,0,h,O)}(t,c,l,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,g,x,k,s,m,b,T,f,e,i,o)};if("line"===A)for(var E=0,L=function(t,e,r,n,i){for(var o=[],s=0;s=n&&f.x>=n||(h.x>=n?h=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=i&&f.y>=i||(h.y>=i?h=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round():f.y>=i&&(f=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round()),c&&h.equals(c[c.length-1])||(c=[h],o.push(c)),c.push(f)))))}return o}(e.geometry,0,0,ti,ti);E1){var F=Kl(R,_,r.vertical||p,n,24,v);F&&S(R,F)}}else if("Polygon"===e.type)for(var B=0,N=vo(e.geometry,0);B=M.maxzoom||"none"!==M.visibility&&(o(A,this.zoom),(d[M.id]=M.createBucket({index:c.bucketLayerIDs.length,layers:A,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:x,sourceID:this.source})).populate(b,g),c.bucketLayerIDs.push(A.map(function(t){return t.id})))}}}var S=t.mapObject(g.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(S).length?n.send("getGlyphs",{uid:this.uid,stacks:S},function(t,e){u||(u=t,h=e,C.call(s))}):h={};var E=Object.keys(g.iconDependencies);E.length?n.send("getImages",{icons:E},function(t,e){u||(u=t,f=e,C.call(s))}):f={};var L=Object.keys(g.patternDependencies);function C(){if(u)return i(u);if(h&&f&&p){var e=new a(h),r=new t.ImageAtlas(f,p);for(var n in d){var s=d[n];s instanceof t.SymbolBucket?(o(s.layers,this.zoom),t.performSymbolLayout(s,h,e.positions,f,r.iconPositions,this.showCollisionBoxes)):s.hasPattern&&(s instanceof t.LineBucket||s instanceof t.FillBucket||s instanceof t.FillExtrusionBucket)&&(o(s.layers,this.zoom),s.addFeatures(g,r.patternPositions))}this.status="done",i(null,{buckets:t.values(d).filter(function(t){return!t.isEmpty()}),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?e.positions:null})}}L.length?n.send("getImages",{icons:L},function(t,e){u||(u=t,p=e,C.call(s))}):p={},C.call(this)};var s="undefined"!=typeof performance,l={getEntriesByName:function(t){return!!(s&&performance&&performance.getEntriesByName)&&performance.getEntriesByName(t)},mark:function(t){return!!(s&&performance&&performance.mark)&&performance.mark(t)},measure:function(t,e,r){return!!(s&&performance&&performance.measure)&&performance.measure(t,e,r)},clearMarks:function(t){return!!(s&&performance&&performance.clearMarks)&&performance.clearMarks(t)},clearMeasures:function(t){return!!(s&&performance&&performance.clearMeasures)&&performance.clearMeasures(t)}},c=function(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},l.mark(this._marks.start)};function u(e,r){var n=t.getArrayBuffer(e.request,function(e,n,a,i){e?r(e):n&&r(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(n)),rawData:n,cacheControl:a,expires:i})});return function(){n.cancel(),r()}}c.prototype.finish=function(){l.mark(this._marks.end);var t=l.getEntriesByName(this._marks.measure);return 0===t.length&&(l.measure(this._marks.measure,this._marks.start,this._marks.end),t=l.getEntriesByName(this._marks.measure),l.clearMarks(this._marks.start),l.clearMarks(this._marks.end),l.clearMeasures(this._marks.measure)),t},l.Performance=c;var h=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||u,this.loading={},this.loaded={}};h.prototype.loadTile=function(e,r){var n=this,a=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new l.Performance(e.request),s=this.loading[a]=new i(e);s.abort=this.loadVectorData(e,function(e,i){if(delete n.loading[a],e||!i)return s.status="done",n.loaded[a]=s,r(e);var l=i.rawData,c={};i.expires&&(c.expires=i.expires),i.cacheControl&&(c.cacheControl=i.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=i.vectorTile,s.parse(i.vectorTile,n.layerIndex,n.actor,function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))}),n.loaded=n.loaded||{},n.loaded[a]=s})},h.prototype.reloadTile=function(t,e){var r=this.loaded,n=t.uid,a=this;if(r&&r[n]){var i=r[n];i.showCollisionBoxes=t.showCollisionBoxes;var o=function(t,r){var n=i.reloadCallback;n&&(delete i.reloadCallback,i.parse(i.vectorTile,a.layerIndex,a.actor,n)),e(t,r)};"parsing"===i.status?i.reloadCallback=o:"done"===i.status&&(i.vectorTile?i.parse(i.vectorTile,this.layerIndex,this.actor,o):o())}},h.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()},h.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var f=function(){this.loaded={}};f.prototype.loadTile=function(e,r){var n=e.uid,a=e.encoding,i=e.rawImageData,o=new t.DEMData(n,i,a);this.loaded=this.loaded||{},this.loaded[n]=o,r(null,o)},f.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var p={RADIUS:6378137,FLATTENING:1/298.257223563,POLAR_RADIUS:6356752.3142};function d(t){var e=0;if(t&&t.length>0){e+=Math.abs(g(t[0]));for(var r=1;r2){for(o=0;o=0}(t)===e?t:t.reverse()}var _=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,w=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))};w.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function F(t,e){for(var r=t.loadGeometry(),n=t.type,a=0,i=0,o=r.length,s=0;s>1;!function t(e,r,n,a,i,o){for(;i>a;){if(i-a>600){var s=i-a+1,l=n-a+1,c=Math.log(s),u=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(a,Math.floor(n-l*u/s+h)),Math.min(i,Math.floor(n+(s-l)*u/s+h)),o)}var f=r[2*n+o],p=a,d=i;for(N(e,r,a,n),r[2*i+o]>f&&N(e,r,a,i);pf;)d--}r[2*a+o]===f?N(e,r,a,d):N(e,r,++d,i),d<=n&&(a=d+1),n<=d&&(i=d-1)}}(e,r,s,a,i,o%2),t(e,r,n,a,s-1,o+1),t(e,r,n,s+1,i,o+1)}}(o,s,n,0,o.length-1,0)};H.prototype.range=function(t,e,r,n){return function(t,e,r,n,a,i,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var h=c.pop(),f=c.pop(),p=c.pop();if(f-p<=o)for(var d=p;d<=f;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=a&&l>=n&&l<=i&&u.push(t[d]);else{var g=Math.floor((p+f)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=a&&l>=n&&l<=i&&u.push(t[g]);var v=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(v)),(0===h?a>=s:i>=l)&&(c.push(g+1),c.push(f),c.push(v))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},H.prototype.within=function(t,e,r){return function(t,e,r,n,a,i){for(var o=[0,t.length-1,0],s=[],l=a*a;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=i)for(var f=h;f<=u;f++)V(e[2*f],e[2*f+1],r,n)<=l&&s.push(t[f]);else{var p=Math.floor((h+u)/2),d=e[2*p],g=e[2*p+1];V(d,g,r,n)<=l&&s.push(t[p]);var v=(c+1)%2;(0===c?r-a<=d:n-a<=g)&&(o.push(h),o.push(p-1),o.push(v)),(0===c?r+a>=d:n+a>=g)&&(o.push(p+1),o.push(u),o.push(v))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var G={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,map:function(t){return t}},Y=function(t){this.options=$(Object.create(G),t),this.trees=new Array(this.options.maxZoom+1)};function W(t,e,r,n,a){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:a}}function X(t,e){var r=t.geometry.coordinates,n=r[0],a=r[1];return{x:K(n),y:Q(a),zoom:1/0,index:e,parentId:-1}}function Z(t){return{type:"Feature",id:t.id,properties:J(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 J(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return $($({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function K(t){return t/360+.5}function Q(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 $(t,e){for(var r in e)t[r]=e[r];return t}function tt(t){return t.x}function et(t){return t.y}function rt(t,e,r,n,a,i){var o=a-r,s=i-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=a,n=i):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function nt(t,e,r,n){var a={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)at(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(a*c-l*i)/2:Math.sqrt(Math.pow(l-a,2)+Math.pow(c-i,2))),a=l,i=c}var u=e.length-3;e[2]=1,function t(e,r,n,a){for(var i,o=a,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],h=e[n],f=e[n+1],p=r+3;po)i=p,o=d;else if(d===o){var g=Math.abs(p-s);ga&&(i-r>3&&t(e,r,i,a),e[i+2]=o,n-i>3&&t(e,i,n,a))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function lt(t,e,r,n){for(var a=0;a1?1:r}function ht(t,e,r,n,a,i,o,s){if(n/=e,i>=(r/=e)&&o=n)return null;for(var l=[],c=0;c=r&&d=n)){var g=[];if("Point"===f||"MultiPoint"===f)ft(h,g,r,n,a);else if("LineString"===f)pt(h,g,r,n,a,!1,s.lineMetrics);else if("MultiLineString"===f)gt(h,g,r,n,a,!1);else if("Polygon"===f)gt(h,g,r,n,a,!0);else if("MultiPolygon"===f)for(var v=0;v=r&&o<=n&&(e.push(t[i]),e.push(t[i+1]),e.push(t[i+2]))}}function pt(t,e,r,n,a,i,o){for(var s,l,c=dt(t),u=0===a?mt:yt,h=t.start,f=0;fr&&(l=u(c,p,d,v,m,r),o&&(c.start=h+s*l)):y>n?x=r&&(l=u(c,p,d,v,m,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,v,m,n),b=!0),!i&&b&&(o&&(c.end=h+s*l),e.push(c),c=dt(t)),o&&(h+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===a?p:d)>=r&&y<=n&&vt(c,p,d,g),_=c.length-3,i&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&vt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function dt(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function gt(t,e,r,n,a,i){for(var o=0;oo.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function Tt(t,e,r,n){var a=e.geometry,i=e.type,o=[];if("Point"===i||"MultiPoint"===i)for(var s=0;s0&&e.size<(a?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++;a&&function(t,e){for(var r=0,n=0,a=t.length,i=a-2;n0===e)for(n=0,a=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;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new H(s,tt,et,i,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},Y.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),a=180===t[2]?180:((t[2]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,a=180;else if(r>a){var o=this.getClusters([r,n,180,i],e),s=this.getClusters([-180,n,a,i],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,h=l.range(K(r),Q(i),K(a),Q(n));u>5,r=t%32,n="No cluster with the specified id.",a=this.trees[r];if(!a)throw new Error(n);var i=a.points[e];if(!i)throw new Error(n);for(var o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,c=a.within(i.x,i.y,o);l1?this._map(c,!0):null,v=(l<<5)+(e+1),m=0,y=h;m1&&console.time("creation"),f=this.tiles[h]=kt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=t,a){if(e===l.maxZoom||e===a)continue;var d=1<1&&console.time("clipping");var g,v,m,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,k=.5+_,T=1+_;g=v=m=y=null,x=ht(t,u,r-_,r+k,0,f.minX,f.maxX,l),b=ht(t,u,r+w,r+T,0,f.minX,f.maxX,l),t=null,x&&(g=ht(x,u,n-_,n+k,1,f.minY,f.maxY,l),v=ht(x,u,n+w,n+T,1,f.minY,f.maxY,l),x=null),b&&(m=ht(b,u,n-_,n+k,1,f.minY,f.maxY,l),y=ht(b,u,n+w,n+T,1,f.minY,f.maxY,l),b=null),c>1&&console.timeEnd("clipping"),s.push(g||[],e+1,2*r,2*n),s.push(v||[],e+1,2*r,2*n+1),s.push(m||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},Mt.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,i=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,c=t,u=e,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[St(c,u,h)];return l&&l.source?(i>1&&console.log("found parent tile z%d-%d-%d",c,u,h),i>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,t,e,r),i>1&&console.timeEnd("drilling down"),this.tiles[s]?_t(this.tiles[s],a):null):null};var Lt=function(e){function r(t,r,n){e.call(this,t,r,Et),n&&(this.loadGeoJSON=n)}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 a=!!(n&&n.request&&n.request.collectResourceTiming)&&new l.Performance(n.request);this.loadGeoJSON(n,function(i,o){if(i||!o)return r(i);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));!function t(e,r){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(y(t,r)),e;case"GeometryCollection":return e.geometries=e.geometries.map(y(t,r)),e;case"Feature":return e.geometry=t(e.geometry,r),e;case"Polygon":case"MultiPolygon":return function(t,e){return"Polygon"===t.type?t.coordinates=x(t.coordinates,e):"MultiPolygon"===t.type&&(t.coordinates=t.coordinates.map(y(x,e))),t}(e,r);default:return e}}(o,!0);try{e._geoJSONIndex=n.cluster?new Y(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var a={},i={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var f=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 m(t,e,r,n,a,i,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else{var l=i.requests[s];l||(l=i.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,function(t,e){if(e)for(var r in e)n._doesCharSupportLocalGlyph(+r)||(i.glyphs[+r]=e[+r]);for(var a=0,o=l;athis.height)return t.warnOnce("LineAtlas out of space"),null;for(var i=0,o=0;o=n&&e.x=a&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,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),a=this._data;"string"==typeof a?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(a),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(a),this.actor.send(this.type+".loadData",n,function(t,a){r._removed||a&&a.abandoned||(r._loaded=!0,a&&a.resourceTiming&&a.resourceTiming[r.id]&&(r._resourceTiming=a.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,a=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var i={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};e.request=this.actor.send(a,i,function(t,i){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(i,n.map.painter,"reloadTile"===a),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),P=function(e){function r(t,r,n,a){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(a),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(a,i){n._loaded=!0,a?n.fire(new t.ErrorEvent(a)):i&&(n.image=i,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,a=-1/0,i=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("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,t.rasterBoundsAttributes.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 a=this.tiles[n];"loaded"!==a.state&&(a.state="loaded",a.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}(P),z=function(e){function r(r,n,a,i){e.call(this,r,n,a,i),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 a in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,t.rasterBoundsAttributes.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 i=this.tiles[a];"loaded"!==i.state&&(i.state="loaded",i.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},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.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},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.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),a=this.data[r][n];return this.data[r].splice(n,1),a.timeout&&clearTimeout(a.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(a.value),this.order.splice(this.order.indexOf(r),1),this},N.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};var j=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};j.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},j.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},j.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var V={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},U=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var a=t.gl;this.buffer=a.createBuffer(),t.bindVertexBuffer.set(this.buffer),a.bufferData(a.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};U.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},U.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},U.prototype.enableAttributes=function(t,e){for(var r=0;r1||(Math.abs(r)>1&&(1===Math.abs(r+a)?r+=a:1===Math.abs(r-a)&&(r-=a)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[i]&&(t.neighboringTiles[i].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var a in this._tiles){var i=this._tiles[a];if(!(n[a]||!i.hasData()||i.tileID.overscaledZ<=e||i.tileID.overscaledZ>r)){for(var o=i.tileID;i&&i.tileID.overscaledZ>e+1;){var s=i.tileID.scaledTo(i.tileID.overscaledZ-1);(i=this._tiles[s.key])&&i.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){for(var r=t.overscaledZ-1;r>=e;r--){var n=t.scaledTo(r);if(!n)return;var a=String(n.key),i=this._tiles[a];if(i&&i.hasData())return i;if(this._cache.has(n))return this._cache.get(n)}},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 a in this._tiles){var i=this._tiles[a];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+r),n[i.tileID.key]=i}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 a;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?a=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)}):(a=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&&(a=a.filter(function(t){return n._source.hasTile(t)}))):a=[];var i=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),o=Math.max(i-r.maxOverzooming,this._source.minzoom),s=Math.max(i+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(a,i);if(Ot(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);hthis._source.maxzoom){var v=d.children(this._source.maxzoom)[0],m=this.getTile(v);if(m&&m.hasData()){n[v.key]=v;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=g.wasRequested(),b=d.overscaledZ-1;b>=i;--b){var _=d.scaledTo(b);if(a[_.key])break;if(a[_.key]=!0,!(g=this.getTile(_))&&x&&(g=this._addTile(_)),g&&(n[_.key]=_,x=g.wasRequested(),g.hasData()))break}}}return n},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));var n=Boolean(r);return n||(r=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,"expired"),delete r._timers[t]},n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(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 a=this,i=[],o=this.transform;if(!o)return i;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map(function(t){return o.pointCoordinate(t)}),c=s.map(function(t){return o.pointCoordinate(t)}),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,g=0,v=c;g=0&&m[1].y+v>=0){var y=l.map(function(t){return s.getTilePoint(t)}),x=c.map(function(t){return s.getTilePoint(t)});i.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:g})}}},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}(t.Evented);function Pt(t,e){return t%32-e%32||e-t}function Ot(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(Qn.workerUrl)}Ct.maxOverzooming=10,Ct.maxUnderzooming=3;var It=function(){this.active={}};It.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function Qt(e,r,n,a,i,o,s,l){var c=a?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=a?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();for(var p=e.lineVertexArray,d=a?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,v=!1,m=0;mMath.abs(n.x-r.x)*a?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function ee(e,r,n,a,i,o,s,l,c,u,h,f,p,d){var g,v=r/24,m=e.lineOffsetX*v,y=e.lineOffsetY*v;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=$t(v,l,m,y,n,h,f,e,c,o,p,!1);if(!w)return{notEnoughRoom:!0};var k=Jt(w.first.point,s).point,T=Jt(w.last.point,s).point;if(a&&!n){var A=te(e.writingMode,k,T,d);if(A)return A}g=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:re(f,L,S,1,i),O=te(e.writingMode,S,P,d);if(O)return O}var z=ne(v*l.getoffsetX(e.glyphStartIndex),m,y,n,h,f,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p,!1);if(!z)return{notEnoughRoom:!0};g=[z]}for(var I=0,D=g;I0?1:-1,v=0;a&&(g*=-1,v=Math.PI),g<0&&(v+=Math.PI);for(var m=g>0?l+s:l+s+1,y=m,x=i,b=i,_=0,w=0,k=Math.abs(d);_+w<=k;){if((m+=g)=c)return null;if(b=x,void 0===(x=f[m])){var T=new t.Point(u.getx(m),u.gety(m)),A=Jt(T,h);if(A.signedDistanceFromCamera>0)x=f[m]=A.point;else{var M=m-g;x=re(0===_?o:new t.Point(u.getx(M),u.gety(M)),T,b,k-_+1,h)}}_+=w,w=b.dist(x)}var S=(k-_)/w,E=x.sub(b),L=E.mult(S)._add(b);return L._add(E._unit()._perp()._mult(n*g)),{point:L,angle:v+Math.atan2(x.y-b.y,x.x-b.x),tileDistance:p?{prevTileDistance:m-g===y?0:u.gettileUnitDistanceFromAnchor(m-g),lastSegmentViewportDistance:k-_}:null}}Wt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Wt.prototype.insert=function(t,e,r,n,a){this._forEachCell(e,r,n,a,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(a)},Wt.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)},Wt.prototype._insertBoxCell=function(t,e,r,n,a,i){this.boxCells[a].push(i)},Wt.prototype._insertCircleCell=function(t,e,r,n,a,i){this.circleCells[a].push(i)},Wt.prototype._query=function(t,e,r,n,a,i){if(r<0||t>this.width||n<0||e>this.height)return!a&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(a)return!0;for(var s=0;s0:o},Wt.prototype._queryCircle=function(t,e,r,n,a){var i=t-r,o=t+r,s=e-r,l=e+r;if(o<0||i>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,s,o,l,this._queryCellCircle,c,u,a),n?c.length>0:c},Wt.prototype.query=function(t,e,r,n,a){return this._query(t,e,r,n,!1,a)},Wt.prototype.hitTest=function(t,e,r,n,a){return this._query(t,e,r,n,!0,a)},Wt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Wt.prototype._queryCell=function(t,e,r,n,a,i,o,s){var l=o.seenUids,c=this.boxCells[a];if(null!==c)for(var u=this.bboxes,h=0,f=c;h=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return i.push(!0),!0;i.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var g=this.circleCells[a];if(null!==g)for(var v=this.circles,m=0,y=g;mo*o+s*s},Wt.prototype._circleAndRectCollide=function(t,e,r,n,a,i,o){var s=(i-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-a)/2,u=Math.abs(e-(a+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var ae=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ie(t,e){for(var r=0;rS)le(e,E,!1);else{var z=this.projectPoint(c,L,C),I=P*T;if(d.length>0){var D=z.x-d[d.length-4],R=z.y-d[d.length-3];if(I*I*2>D*D+R*R&&E+8-M&&F=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},se.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0)return this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(v=this.prevPlacement.variableOffsets[p.crossTileID].anchor),this.variableOffsets[p.crossTileID]={radialOffset:i,width:n,height:a,anchor:e,textBoxScale:o,prevAnchor:v},this.markUsedJustification(d,e,p,g),d.allowVerticalPlacement&&(this.markUsedOrientation(d,g,p),this.placedOrientations[p.crossTileID]=g),y},ve.prototype.placeLayerBucket=function(e,r,n,a,i,o,s,l,c,u){var h=this,f=e.layers[0].layout,p=t.evaluateSizeForZoom(e.textSizeData,this.transform.zoom),d=f.get("text-optional"),g=f.get("icon-optional"),v=f.get("text-allow-overlap"),m=f.get("icon-allow-overlap"),y=v&&(m||!e.hasIconData()||g),x=m&&(v||!e.hasTextData()||d),b=this.collisionGroups.get(e.sourceID),_="map"===f.get("text-rotation-alignment"),w="map"===f.get("text-pitch-alignment"),k="viewport-y"===f.get("symbol-z-order");!e.collisionArrays&&u&&e.deserializeCollisionBoxes(u);var T=function(a,u){if(!c[a.crossTileID])if(l)h.placements[a.crossTileID]=new fe(!1,!1,!1);else{var m,k=!1,T=!1,A=!0,M={box:null,offscreen:null},S={box:null,offscreen:null},E=null,L=null,C=0,P=0,O=0;u.textFeatureIndex&&(C=u.textFeatureIndex),u.verticalTextFeatureIndex&&(P=u.verticalTextFeatureIndex);var z=u.textBox;if(z){var I=function(r){var n=t.WritingMode.horizontal;if(e.allowVerticalPlacement&&!r&&h.prevPlacement){var i=h.prevPlacement.placedOrientations[a.crossTileID];i&&(h.placedOrientations[a.crossTileID]=i,n=i,h.markUsedOrientation(e,n,a))}return n},D=function(r,n){if(e.allowVerticalPlacement&&a.numVerticalGlyphVertices>0&&u.verticalTextBox)for(var i=0,o=e.writingModes;i0&&(R=R.filter(function(t){return t!==F.anchor})).unshift(F.anchor)}var B=function(t,n){for(var i=t.x2-t.x1,s=t.y2-t.y1,l=a.textBoxScale,c={box:[],offscreen:!1},u=v?2*R.length:R.length,f=0;f=R.length;if((c=h.attemptAnchorPlacement(p,t,i,s,a.radialTextOffset,l,_,w,o,r,b,d,a,e,n))&&c.box&&c.box.length){k=!0;break}}return c};D(function(){return B(z,t.WritingMode.horizontal)},function(){var r=u.verticalTextBox,n=M&&M.box&&M.box.length;return e.allowVerticalPlacement&&!n&&a.numVerticalGlyphVertices>0&&r?B(r,t.WritingMode.vertical):{box:null,offscreen:null}}),M&&(k=M.box,A=M.offscreen);var N=I(M&&M.box);if(!k&&h.prevPlacement){var j=h.prevPlacement.variableOffsets[a.crossTileID];j&&(h.variableOffsets[a.crossTileID]=j,h.markUsedJustification(e,j.anchor,a,N))}}else{var V=function(t,n){var i=h.collisionIndex.placeCollisionBox(t,f.get("text-allow-overlap"),o,r,b.predicate);return i&&i.box&&i.box.length&&(h.markUsedOrientation(e,n,a),h.placedOrientations[a.crossTileID]=n),i};D(function(){return V(z,t.WritingMode.horizontal)},function(){var r=u.verticalTextBox;return e.allowVerticalPlacement&&a.numVerticalGlyphVertices>0&&r?V(r,t.WritingMode.vertical):{box:null,offscreen:null}}),I(M&&M.box&&M.box.length)}}k=(m=M)&&m.box&&m.box.length>0,A=m&&m.offscreen;var U=u.textCircles;if(U){var q=e.text.placedSymbolArray.get(a.centerJustifiedTextSymbolIndex),H=t.evaluateSizeForFeature(e.textSizeData,p,q);E=h.collisionIndex.placeCollisionCircles(U,f.get("text-allow-overlap"),i,o,q,e.lineVertexArray,e.glyphOffsetArray,H,r,n,s,w,b.predicate),k=f.get("text-allow-overlap")||E.circles.length>0,A=A&&E.offscreen}u.iconFeatureIndex&&(O=u.iconFeatureIndex),u.iconBox&&(T=(L=h.collisionIndex.placeCollisionBox(u.iconBox,f.get("icon-allow-overlap"),o,r,b.predicate)).box.length>0,A=A&&L.offscreen);var G=d||0===a.numHorizontalGlyphVertices&&0===a.numVerticalGlyphVertices,Y=g||0===a.numIconVertices;G||Y?Y?G||(T=T&&k):k=T&&k:T=k=T&&k,k&&m&&m.box&&(S&&S.box&&P?h.collisionIndex.insertCollisionBox(m.box,f.get("text-ignore-placement"),e.bucketInstanceId,P,b.ID):h.collisionIndex.insertCollisionBox(m.box,f.get("text-ignore-placement"),e.bucketInstanceId,C,b.ID)),T&&L&&h.collisionIndex.insertCollisionBox(L.box,f.get("icon-ignore-placement"),e.bucketInstanceId,O,b.ID),k&&E&&h.collisionIndex.insertCollisionCircles(E.circles,f.get("text-ignore-placement"),e.bucketInstanceId,C,b.ID),h.placements[a.crossTileID]=new fe(k||y,T||x,A||e.justReloaded),c[a.crossTileID]=!0}};if(k)for(var A=e.getSortedSymbolIndexes(this.transform.angle),M=A.length-1;M>=0;--M){var S=A[M];T(e.symbolInstances.get(S),e.collisionArrays[S])}else for(var E=0;E=0&&(e.text.placedSymbolArray.get(c).crossTileID=i>=0&&c!==i?0:n.crossTileID)}},ve.prototype.markUsedOrientation=function(e,r,n){for(var a=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,i=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||g>0,b=p.numIconVertices>0;if(x){for(var _=Ae(y.text),w=(d+g)/4,k=0;k=0&&(e.text.placedSymbolArray.get(t).hidden=T||S)}),p.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(p.verticalPlacedTextSymbolIndex).hidden=T||M);var E=this.variableOffsets[p.crossTileID];E&&this.markUsedJustification(e,E.anchor,p,A);var L=this.placedOrientations[p.crossTileID];L&&(this.markUsedJustification(e,"left",p,L),this.markUsedOrientation(e,L,p))}if(b){for(var C=Ae(y.icon),P=0;Pt},ve.prototype.setStale=function(){this.stale=!0};var ye=Math.pow(2,25),xe=Math.pow(2,24),be=Math.pow(2,17),_e=Math.pow(2,16),we=Math.pow(2,9),ke=Math.pow(2,8),Te=Math.pow(2,1);function Ae(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*ye+e*xe+r*be+e*_e+r*we+e*ke+r*Te+e}var Me=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};Me.prototype.continuePlacement=function(t,e,r,n,a){for(;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 Me),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Se.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Ee=512/t.EXTENT/2,Le=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,a)}else{var c=o[t.scaledTo(Number(i)).key];c&&c.findMatches(e.symbolInstances,t,a)}}for(var u=0;u1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),function(t,e){l=null,o||(o=t,a=e,u())}),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),function(t,e){c=null,o||(o=t,i=e,u())});function u(){if(o)n(o);else if(a&&i){var e=t.browser.getImageData(i),r={};for(var s in a){var l=a[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,g=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,g,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:g,pixelRatio:d,sdf:p}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e.sprite,this.map._requestManager,function(e,r){if(n._spriteRequest=null,e)n.fire(new t.ErrorEvent(e));else if(r)for(var a in r)n.imageManager.addImage(a,r[a]);n.imageManager.setLoaded(!0),n.fire(new t.Event("data",{dataType:"style"}))}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var i=Bt(this.stylesheet.layers);this._order=i.map(function(t){return t.id}),this._layers={};for(var o=0,s=i;o0)throw new Error("Unimplemented: "+a.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.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.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 a=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 i=this.sourceCaches[e]=new Ct(e,r,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:a.loaded(),source:i.serialize(),sourceId:e}}),i.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 a=e.id;if(this.getLayer(a))this.fire(new t.ErrorEvent(new Error('Layer with id "'+a+'" already exists on this map')));else{var i;if("custom"===e.type){if(ze(this,t.validateCustomStyleLayer(e)))return;i=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(a,e.source),e=t.clone$1(e),e=t.extend(e,{source:a})),this._validate(t.validateStyle.layer,"layers."+a,e,{arrayIndex:-1},n))return;i=t.createStyleLayer(e),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}})}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,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&"custom"!==i.type){var s=this._removedLayers[a];delete this._removedLayers[a],s.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.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 a=r?this._order.indexOf(r):this._order.length;r&&-1===a?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(a,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._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.setLayerZoomRange=function(e,r,n){this._checkLoaded();var a=this.getLayer(e);a?a.minzoom===r&&a.maxzoom===n||(null!=r&&(a.minzoom=r),null!=n&&(a.maxzoom=n),this._updateLayer(a)):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 a=this.getLayer(e);if(a){if(!t.deepEqual(a.filter,r))return null==r?(a.filter=void 0,void this._updateLayer(a)):void(this._validate(t.validateStyle.filter,"layers."+a.id+".filter",r,null,n)||(a.filter=t.clone$1(r),this._updateLayer(a)))}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,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getLayoutProperty(r),n)||(i.setLayoutProperty(r,n,a),this._updateLayer(i)):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,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getPaintProperty(r),n)||(i.setPaintProperty(r,n,a)&&this._updateLayer(i),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,a=e.sourceLayer,i=this.sourceCaches[n],o=parseInt(e.id,10);if(void 0!==i){var s=i.getSource().type;"geojson"===s&&a?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==s||a?isNaN(o)||o<0?this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided and non-negative."))):i.setFeatureState(a,o,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,a=this.sourceCaches[n];if(void 0!==a){var i=a.getSource().type,o="vector"===i?e.sourceLayer:void 0,s=parseInt(e.id,10);"vector"!==i||o?void 0!==e.id&&isNaN(s)||s<0?this.fire(new t.ErrorEvent(new Error("The feature id parameter must be non-negative."))):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."))):a.removeFeatureState(o,s,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,a=this.sourceCaches[r],i=parseInt(e.id,10);if(void 0!==a)if("vector"!==a.getSource().type||n){if(!(isNaN(i)||i<0))return a.getFeatureState(n,i);this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided and non-negative.")))}else 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]&&(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={},a=[],i=this._order.length-1;i>=0;i--){var o=this._order[i];if(r(o)){n[o]=i;for(var s=0,l=t;s=0;d--){var g=this._order[d];if(r(g))for(var v=a.length-1;v>=0;v--){var m=a[v].feature;if(n[m.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;}"),Ye=cr("uniform float u_overscale_factor;varying float v_placed;varying float v_notUsed;varying float v_radius;varying vec2 v_extrude;varying vec2 v_extrude_scale;void main() {float alpha=0.5;vec4 color=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {color=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {color*=.2;}float extrude_scale_length=length(v_extrude_scale);float extrude_length=length(v_extrude)*extrude_scale_length;float stroke_width=15.0*extrude_scale_length/u_overscale_factor;float radius=v_radius*extrude_scale_length;float distance_to_edge=abs(extrude_length-radius);float opacity_t=smoothstep(-stroke_width,0.0,-distance_to_edge);gl_FragColor=opacity_t*color;}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;varying float v_radius;varying vec2 v_extrude;varying vec2 v_extrude_scale;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);highp float padding_factor=1.2;gl_Position.xy+=a_extrude*u_extrude_scale*padding_factor*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;v_radius=abs(a_extrude.y);v_extrude=a_extrude*padding_factor;v_extrude_scale=u_extrude_scale*u_camera_to_center_distance*collision_perspective_ratio;}"),We=cr("uniform highp vec4 u_color;void main() {gl_FragColor=u_color;}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),Xe=cr("#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);}"),Ze=cr("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;}"),Je=cr("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 vec4 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\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;float pixelRatio=u_scale.x;float tileRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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;}"),Ke=cr("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 vec4 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\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;float pixelRatio=u_scale.x;float tileZoomRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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);}"),Qe=cr("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;}"),$e=cr("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\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\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 vec4 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\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\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 pixelRatio=u_scale.x;float tileRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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;}"),tr=cr("#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;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;return (data.r+data.g*256.0+data.b*256.0*256.0)/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;}"),er=cr("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;}"),rr=cr("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);}"),nr=cr("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);}"),ar=cr("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec4 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_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 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 pixelRatio=u_scale.x;float tileZoomRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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 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,1.0);float x_b=mod(v_linesofar/pattern_size_b.x,1.0);float y_a=0.5+(v_normal.y*clamp(v_width2.s,0.0,(pattern_size_a.y+2.0)/2.0)/pattern_size_a.y);float y_b=0.5+(v_normal.y*clamp(v_width2.s,0.0,(pattern_size_b.y+2.0)/2.0)/pattern_size_b.y);vec2 pos_a=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,vec2(x_a,y_a));vec2 pos_b=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,vec2(x_b,y_b));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;\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 vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_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 mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_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);}"),ir=cr("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);}"),or=cr("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;}"),sr=cr("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 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;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[0],a_size[1],u_size_t)/256.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size[0]/256.0;} else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {size=u_size;} 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),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));}"),lr=cr("#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 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;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[0],a_size[1],u_size_t)/256.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size[0]/256.0;} else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {size=u_size;} 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),0.0,1.0);float gamma_scale=gl_Position.w;vec2 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;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=vec2(tex.x,tex.y);v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}");function cr(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,function(t,e,r,a,i){return n[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+a+" "+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n"}),vertexSource:e=e.replace(r,function(t,e,r,a,i){var o="float"===a?"vec2":"vec4",s=i.match(/color/)?"color":o;return n[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+o+" a_"+i+";\nvarying "+r+" "+a+" "+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+s+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+o+" a_"+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+a+" "+i+" = a_"+i+";\n#else\n "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+a+" "+i+" = unpack_mix_"+s+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n"})}}var ur=Object.freeze({prelude:Be,background:Ne,backgroundPattern:je,circle:Ve,clippingMask:Ue,heatmap:qe,heatmapTexture:He,collisionBox:Ge,collisionCircle:Ye,debug:We,fill:Xe,fillOutline:Ze,fillOutlinePattern:Je,fillPattern:Ke,fillExtrusion:Qe,fillExtrusionPattern:$e,hillshadePrepare:tr,hillshade:er,line:rr,lineGradient:nr,linePattern:ar,lineSDF:ir,raster:or,symbolIcon:sr,symbolSDF:lr}),hr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};hr.prototype.bind=function(t,e,r,n,a,i,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c>16,l>>16],u_pixel_coord_lower:[65535&s,65535&l]}}fr.prototype.draw=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var v,m=t.gl;for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(a),t.setCullFace(i),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,h,{zoom:f});for(var x=(v={},v[m.LINES]=2,v[m.TRIANGLES]=3,v[m.LINE_STRIP]=1,v)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],k=w.vaos||(w.vaos={});(k[s]||(k[s]=new hr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,g),m.drawElements(e,w.primitiveLength*x,m.UNSIGNED_SHORT,w.primitiveOffset*x*2)}};var dr=function(e,r,n,a){var i=r.style.light,o=i.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===i.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var c=i.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:i.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:a}},gr=function(e,r,n,a,i,o,s){return t.extend(dr(e,r,n,a),pr(o,r,s),{u_height_factor:-Math.pow(2,i.overscaledZ)/s.tileSize/8})},vr=function(t){return{u_matrix:t}},mr=function(e,r,n,a){return t.extend(vr(e),pr(n,r,a))},yr=function(t,e){return{u_matrix:t,u_world:e}},xr=function(e,r,n,a,i){return t.extend(mr(e,r,n,a),{u_world:i})},br=function(e,r,n,a){var i,o,s=e.transform;if("map"===a.paint.get("circle-pitch-alignment")){var l=ce(n,1,s.zoom);i=!0,o=[l,l]}else i=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===a.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,a.paint.get("circle-translate"),a.paint.get("circle-translate-anchor")),u_pitch_with_map:+i,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},_r=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)}},wr=function(t,e,r){var n=ce(r,1,e.zoom),a=Math.pow(2,e.zoom-r.tileID.overscaledZ),i=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*a),e.pixelsToGLUnits[1]/(n*a)],u_overscale_factor:i}},kr=function(t,e){return{u_matrix:t,u_color:e}},Tr=function(t){return{u_matrix:t}},Ar=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ce(e,1,r),u_intensity:n}},Mr=function(t,e,r){var n=r.paint.get("hillshade-shadow-color"),a=r.paint.get("hillshade-highlight-color"),i=r.paint.get("hillshade-accent-color"),o=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(o-=t.transform.angle);var s=!t.options.moving;return{u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),s),u_image:0,u_latrange:Er(t,e.tileID),u_light:[r.paint.get("hillshade-exaggeration"),o],u_shadow:n,u_highlight:a,u_accent:i}},Sr=function(e,r){var n=e.dem.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[n,n],u_zoom:e.tileID.overscaledZ,u_maxzoom:r}};function Er(e,r){var n=Math.pow(2,r.canonical.z),a=r.canonical.y;return[new t.MercatorCoordinate(0,a/n).toLngLat().lat,new t.MercatorCoordinate(0,(a+1)/n).toLngLat().lat]}var Lr=function(e,r,n){var a=e.transform;return{u_matrix:Ir(e,r,n),u_ratio:1/ce(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Cr=function(e,r,n){return t.extend(Lr(e,r,n),{u_image:0})},Pr=function(e,r,n,a){var i=e.transform,o=zr(r,i);return{u_matrix:Ir(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ce(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[t.browser.devicePixelRatio,o,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Or=function(e,r,n,a,i){var o=e.transform,s=e.lineAtlas,l=zr(r,o),c="round"===n.layout.get("line-cap"),u=s.getDash(a.from,c),h=s.getDash(a.to,c),f=u.width*i.fromScale,p=h.width*i.toScale;return t.extend(Lr(e,r,n),{u_patternscale_a:[l/f,-u.height/2],u_patternscale_b:[l/p,-h.height/2],u_sdfgamma:s.width/(256*Math.min(f,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:h.y,u_mix:i.t})};function zr(t,e){return 1/ce(t,1,e.tileZoom)}function Ir(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var Dr=function(t,e,r,n,a){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*a.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:a.paint.get("raster-brightness-min"),u_brightness_high:a.paint.get("raster-brightness-max"),u_saturation_factor:(o=a.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(i=a.paint.get("raster-contrast"),i>0?1/(1-i):1+i),u_spin_weights:function(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]}(a.paint.get("raster-hue-rotate"))};var i,o};var Rr=function(t,e,r,n,a,i,o,s,l,c){var u=a.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:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:i,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Fr=function(e,r,n,a,i,o,s,l,c,u,h){var f=i.transform;return t.extend(Rr(e,r,n,a,i,o,s,l,c,u),{u_gamma_scale:a?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Br=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Nr=function(e,r,n,a,i,o){return t.extend(function(t,e,r,n){var a=r.imageManager.getPattern(t.from),i=r.imageManager.getPattern(t.to),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:i.tl,u_pattern_br_b:i.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:i.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ce(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(a,o,n,i),{u_matrix:e,u_opacity:r})},jr={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.Uniform4f(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.Uniform4f(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.Uniform4f(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:_r,collisionCircle:_r,debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},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)}},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.Uniform4f(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.Uniform1f(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.Uniform1f(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.Uniform1f(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 Vr(e,r){for(var n=e.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),a=0;a0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=i.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.clamp(f?l:1-c,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}}function en(e,r,n){var a=e.context,i=a.gl,o=n.posMatrix,s=e.useProgram("debug"),l=At.disabled,c=Mt.disabled,u=e.colorModeForRenderPass(),h="$debug";s.draw(a,i.LINE_STRIP,l,c,u,Et.disabled,kr(o,t.Color.red),h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);for(var f=r.getTileByID(n.key).latestRawTileData,p=f&&f.byteLength||0,d=Math.floor(p/1024),g=r.getTile(n).tileSize,v=512/Math.min(g,512),m=function(t,e,r,n){n=n||1;var a,i,o,s,l,c,u,h,f=[];for(a=0,i=t.length;a":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]},nn={symbol:function(t,e,r,n,a){if("translucent"===t.renderPass){var i=Mt.disabled,o=t.colorModeForRenderPass();0!==r.paint.get("icon-opacity").constantOr(1)&&Xr(t,e,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright"),i,o,a),0!==r.paint.get("text-opacity").constantOr(1)&&Xr(t,e,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright"),i,o,a),e.map.showCollisionBoxes&&function(t,e,r,n){qr(t,e,r,n,!1),qr(t,e,r,n,!0)}(t,e,r,n)}},circle:function(e,r,n,a){if("translucent"===e.renderPass){var i=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=void 0!==n.layout.get("circle-sort-key").constantOr(1);if(0!==i.constantOr(1)||0!==o.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,h=e.depthModeForSublayer(0,At.ReadOnly),f=Mt.disabled,p=e.colorModeForRenderPass(),d=[],g=0;ge.y){var r=t;t=e,e=r}return{x0:t.x,y0:t.y,x1:e.x,y1:e.y,dx:e.x-t.x,dy:e.y-t.y}}function sn(t,e,r,n,a){var i=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx0,h=e.dx<0,f=i;fl.dy&&(o=s,s=l,l=o),s.dy>c.dy&&(o=s,s=c,c=o),l.dy>c.dy&&(o=l,l=c,c=o),s.dy&&sn(c,s,n,a,i),l.dy&&sn(c,l,n,a,i)}an.prototype.resize=function(e,r){var n=this.context.gl;if(this.width=e*t.browser.devicePixelRatio,this.height=r*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var a=0,i=this.style._order;a256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(At.disabled);var a=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var i=0,o=e;i256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Mt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},an.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Mt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},an.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):"opaque"===this.renderPass?St.unblended:St.alphaBlended},an.prototype.depthModeForSublayer=function(t,e,r){if(!this.opaquePassEnabledForLayer())return At.disabled;var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new At(r||this.context.gl.LEQUAL,e,[n,n])},an.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer=0;this.currentLayer--){var M=this.style._layers[n[this.currentLayer]],S=a[M.source],E=s[M.source];this._renderTileClippingMasks(M,E),this.renderLayer(this,S,M,E)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},an.prototype.isPatternMissing=function(t){if(!t)return!1;var e=this.imageManager.getPattern(t.from),r=this.imageManager.getPattern(t.to);return!e||!r},an.prototype.useProgram=function(t,e){void 0===e&&(e=this.emptyProgramConfiguration),this.cache=this.cache||{};var r=""+t+(e.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new fr(this.context,ur[t],e,jr[t],this._showOverdrawInspector)),this.cache[r]},an.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()},an.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)};var cn=function(e,r,n){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===n||n,this._minZoom=e||0,this._maxZoom=r||22,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._posMatrixCache={},this._alignedPosMatrixCache={}},un={minZoom:{configurable:!0},maxZoom:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerPoint:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};cn.prototype.clone=function(){var t=new cn(this._minZoom,this._maxZoom,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._calcMatrices(),t},un.minZoom.get=function(){return this._minZoom},un.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},un.maxZoom.get=function(){return this._maxZoom},un.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},un.renderWorldCopies.get=function(){return this._renderWorldCopies},un.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},un.worldSize.get=function(){return this.tileSize*this.scale},un.centerPoint.get=function(){return this.size._div(2)},un.size.get=function(){return new t.Point(this.width,this.height)},un.bearing.get=function(){return-this.angle/Math.PI*180},un.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))},un.pitch.get=function(){return this._pitch/Math.PI*180},un.pitch.set=function(e){var r=t.clamp(e,0,60)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},un.fov.get=function(){return this._fov/Math.PI*180},un.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())},un.zoom.get=function(){return this._zoom},un.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())},un.center.get=function(){return this._center},un.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},cn.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},cn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),a=this.pointCoordinate(new t.Point(this.width,0)),i=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,a.x,i.x,o.x)),l=Math.floor(Math.max(n.x,a.x,i.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},cn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var a=t.MercatorCoordinate.fromLngLat(this.center),i=Math.pow(2,r),o=new t.Point(i*a.x-.5,i*a.y-.5);return function(e,r,n,a){void 0===a&&(a=!0);var i=1<=0&&l<=i)for(c=r;co&&(a=o-v)}if(this.lngRange){var m=p.x,y=c.x/2;m-yl&&(n=l-y)}void 0===n&&void 0===a||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==a?a:p.y))),this._unmodified=u,this._constraining=!1}},cn.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var e=this._fov/2,r=Math.PI/2+this._pitch,n=Math.sin(e)*this.cameraToCenterDistance/Math.sin(Math.PI-r-e),a=this.point,i=a.x,o=a.y,s=1.01*(Math.cos(Math.PI/2-this._pitch)*n+this.cameraToCenterDistance),l=this.height/50,c=new Float64Array(16);t.perspective(c,this._fov,this.width/this.height,l,s),t.scale(c,c,[1,-1,1]),t.translate(c,c,[0,0,-this.cameraToCenterDistance]),t.rotateX(c,c,this._pitch),t.rotateZ(c,c,this.angle),t.translate(c,c,[-i,-o,0]),this.mercatorMatrix=t.scale([],c,[this.worldSize,this.worldSize,this.worldSize]),t.scale(c,c,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=c;var u=this.width%2/2,h=this.height%2/2,f=Math.cos(this.angle),p=Math.sin(this.angle),d=i-Math.round(i)+f*u+p*h,g=o-Math.round(o)+f*h+p*u,v=new Float64Array(c);if(t.translate(v,v,[d>.5?d-1:d,g>.5?g-1:g,0]),this.alignedProjMatrix=v,c=t.create(),t.scale(c,c,[this.width/2,-this.height/2,1]),t.translate(c,c,[1,-1,0]),this.labelPlaneMatrix=c,c=t.create(),t.scale(c,c,[1,-1,1]),t.translate(c,c,[-1,-1,0]),t.scale(c,c,[2/this.width,2/this.height,1]),this.glCoordMatrix=c,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(c=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=c,this._posMatrixCache={},this._alignedPosMatrixCache={}}},cn.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},cn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},cn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,a=r.y,i=r.x,o=r.y,s=0,l=e;s=3&&(this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:+(e[3]||0),pitch:+(e[4]||0)}),!0)},hn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var fn=function(e){function n(n,a,i,o){void 0===o&&(o={});var s=r.mousePos(a.getCanvasContainer(),i),l=a.unproject(s);e.call(this,n,t.extend({point:s,lngLat:l,originalEvent:i},o)),this._defaultPrevented=!1,this.target=a}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var a={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},a.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,a),n}(t.Event),pn=function(e){function n(n,a,i){var o=r.touchPos(a.getCanvasContainer(),i),s=o.map(function(t){return a.unproject(t)}),l=o.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new t.Point(0,0)),c=a.unproject(l);e.call(this,n,{points:o,point:l,lngLats:s,lngLat:c,originalEvent:i}),this._defaultPrevented=!1}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var a={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},a.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,a),n}(t.Event),dn=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),gn=function(e){this._map=e,this._el=e.getCanvasContainer(),this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};gn.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gn.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gn.prototype.isEnabled=function(){return!!this._enabled},gn.prototype.isActive=function(){return!!this._active},gn.prototype.isZooming=function(){return!!this._zooming},gn.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gn.prototype.onWheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),a=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":a>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(a*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.isActive()||this._start(e)),e.preventDefault()}},gn.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this.isActive()||this._start(t)},gn.prototype._start=function(e){if(this._delta){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0,this._map.fire(new t.Event("movestart",{originalEvent:e})),this._map.fire(new t.Event("zoomstart",{originalEvent:e}))),this._finishTimeout&&clearTimeout(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=this._map._requestRenderFrame(this._onScrollFrame))}},gn.prototype._onScrollFrame=function(){var e=this;if(this._frameId=null,this.isActive()){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,a=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==a&&(a=1/a);var i="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(i*a))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o="number"==typeof this._targetZoom?this._targetZoom:r.zoom,s=this._startZoom,l=this._easing,c=!1;if("wheel"===this._type&&s&&l){var u=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=l(u);r.zoom=t.number(s,o,h),u<1?this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame)):c=!0}else r.zoom=o,c=!0;r.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(new t.Event("move",{originalEvent:this._lastWheelEvent})),this._map.fire(new t.Event("zoom",{originalEvent:this._lastWheelEvent})),c&&(this._active=!1,this._finishTimeout=setTimeout(function(){e._zooming=!1,e._map.fire(new t.Event("zoomend",{originalEvent:e._lastWheelEvent})),e._map.fire(new t.Event("moveend",{originalEvent:e._lastWheelEvent})),delete e._targetZoom},200))}},gn.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,a=(t.browser.now()-n.start)/n.duration,i=n.easing(a+.01)-n.easing(a),o=.27/Math.sqrt(i*i+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};var vn=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=r.clickTolerance||1,t.bindAll(["_onMouseMove","_onMouseUp","_onKeyDown"],this)};vn.prototype.isEnabled=function(){return!!this._enabled},vn.prototype.isActive=function(){return!!this._active},vn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},vn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},vn.prototype.onMouseDown=function(e){this.isEnabled()&&e.shiftKey&&0===e.button&&(t.window.document.addEventListener("mousemove",this._onMouseMove,!1),t.window.document.addEventListener("keydown",this._onKeyDown,!1),t.window.document.addEventListener("mouseup",this._onMouseUp,!1),r.disableDrag(),this._startPos=this._lastPos=r.mousePos(this._el,e),this._active=!0)},vn.prototype._onMouseMove=function(t){var e=r.mousePos(this._el,t);if(!(this._lastPos.equals(e)||!this._box&&e.dist(this._startPos)180&&(p=180);var d=p/180;c+=h*p*(d/2),Math.abs(r._normalizeBearing(c,0))0&&r-e[0][0]>160;)e.shift()};var xn=t.bezier(0,0,.3,1),bn=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._state="disabled",this._clickTolerance=r.clickTolerance||1,t.bindAll(["_onMove","_onMouseUp","_onTouchEnd","_onBlur","_onDragFrame"],this)};bn.prototype.isEnabled=function(){return"disabled"!==this._state},bn.prototype.isActive=function(){return"active"===this._state},bn.prototype.enable=function(){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-drag-pan"),this._state="enabled")},bn.prototype.disable=function(){if(this.isEnabled())switch(this._el.classList.remove("mapboxgl-touch-drag-pan"),this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("dragend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},bn.prototype.onMouseDown=function(e){"enabled"===this._state&&(e.ctrlKey||0!==r.mouseButton(e)||(r.addEventListener(t.window.document,"mousemove",this._onMove,{capture:!0}),r.addEventListener(t.window.document,"mouseup",this._onMouseUp),this._start(e)))},bn.prototype.onTouchStart=function(e){"enabled"===this._state&&(e.touches.length>1||(r.addEventListener(t.window.document,"touchmove",this._onMove,{capture:!0,passive:!1}),r.addEventListener(t.window.document,"touchend",this._onTouchEnd),this._start(e)))},bn.prototype._start=function(e){t.window.addEventListener("blur",this._onBlur),this._state="pending",this._startPos=this._mouseDownPos=this._prevPos=this._lastPos=r.mousePos(this._el,e),this._inertia=[[t.browser.now(),this._startPos]]},bn.prototype._onMove=function(e){e.preventDefault();var n=r.mousePos(this._el,e);this._lastPos.equals(n)||"pending"===this._state&&n.dist(this._mouseDownPos)1400&&(s=1400,o._unit()._mult(s));var l=s/750,c=o.mult(-l/2);this._map.panBy(c,{duration:1e3*l,easing:xn,noMoveStart:!0},{originalEvent:t})}}},bn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},bn.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>0&&r-e[0][0]>160;)e.shift()};var _n=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onKeyDown"],this)};function wn(t){return t*(2-t)}_n.prototype.isEnabled=function(){return!!this._enabled},_n.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},_n.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},_n.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,n=0,a=0,i=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),i=-1);break;case 40:t.shiftKey?n=-1:(i=1,t.preventDefault());break;default:return}var o=this._map,s=o.getZoom(),l={duration:300,delayEndEvents:500,easing:wn,zoom:e?Math.round(s)+e*(t.shiftKey?2:1):s,bearing:o.getBearing()+15*r,pitch:o.getPitch()+10*n,offset:[100*-a,100*-i],center:o.getCenter()};o.easeTo(l,{originalEvent:t})}};var kn=function(e){this._map=e,t.bindAll(["_onDblClick","_onZoomEnd"],this)};kn.prototype.isEnabled=function(){return!!this._enabled},kn.prototype.isActive=function(){return!!this._active},kn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},kn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},kn.prototype.onTouchStart=function(t){var e=this;if(this.isEnabled()&&!(t.points.length>1))if(this._tapped){var r=t.points[0],n=this._tappedPoint;if(n&&n.dist(r)<=30){t.originalEvent.preventDefault();var a=function(){e._tapped&&e._zoom(t),e._map.off("touchcancel",i),e._resetTapped()},i=function(){e._map.off("touchend",a),e._resetTapped()};this._map.once("touchend",a),this._map.once("touchcancel",i)}else this._resetTapped()}else this._tappedPoint=t.points[0],this._tapped=setTimeout(function(){e._tapped=null,e._tappedPoint=null},300)},kn.prototype._resetTapped=function(){clearTimeout(this._tapped),this._tapped=null,this._tappedPoint=null},kn.prototype.onDblClick=function(t){this.isEnabled()&&(t.originalEvent.preventDefault(),this._zoom(t))},kn.prototype._zoom=function(t){this._active=!0,this._map.on("zoomend",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},kn.prototype._onZoomEnd=function(){this._active=!1,this._map.off("zoomend",this._onZoomEnd)};var Tn=t.bezier(0,0,.15,1),An=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onMove","_onEnd","_onTouchFrame"],this)};An.prototype.isEnabled=function(){return!!this._enabled},An.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-zoom-rotate"),this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around)},An.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),this._enabled=!1)},An.prototype.disableRotation=function(){this._rotationDisabled=!0},An.prototype.enableRotation=function(){this._rotationDisabled=!1},An.prototype.onStart=function(e){if(this.isEnabled()&&2===e.touches.length){var n=r.mousePos(this._el,e.touches[0]),a=r.mousePos(this._el,e.touches[1]),i=n.add(a).div(2);this._startVec=n.sub(a),this._startAround=this._map.transform.pointLocation(i),this._gestureIntent=void 0,this._inertia=[],r.addEventListener(t.window.document,"touchmove",this._onMove,{passive:!1}),r.addEventListener(t.window.document,"touchend",this._onEnd)}},An.prototype._getTouchEventData=function(t){var e=r.mousePos(this._el,t.touches[0]),n=r.mousePos(this._el,t.touches[1]),a=e.sub(n);return{vec:a,center:e.add(n).div(2),scale:a.mag()/this._startVec.mag(),bearing:this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI}},An.prototype._onMove=function(e){if(2===e.touches.length){var r=this._getTouchEventData(e),n=r.vec,a=r.scale,i=r.bearing;if(!this._gestureIntent){var o=this._rotationDisabled&&1!==a||Math.abs(1-a)>.15;Math.abs(i)>10?this._gestureIntent="rotate":o&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._map.fire(new t.Event(this._gestureIntent+"start",{originalEvent:e})),this._map.fire(new t.Event("movestart",{originalEvent:e})),this._startVec=n)}this._lastTouchEvent=e,this._frameId||(this._frameId=this._map._requestRenderFrame(this._onTouchFrame)),e.preventDefault()}},An.prototype._onTouchFrame=function(){this._frameId=null;var e=this._gestureIntent;if(e){var r=this._map.transform;this._startScale||(this._startScale=r.scale,this._startBearing=r.bearing);var n=this._getTouchEventData(this._lastTouchEvent),a=n.center,i=n.bearing,o=n.scale,s=r.pointLocation(a),l=r.locationPoint(s);"rotate"===e&&(r.bearing=this._startBearing+i),r.zoom=r.scaleZoom(this._startScale*o),r.setLocationAtPoint(this._startAround,l),this._map.fire(new t.Event(e,{originalEvent:this._lastTouchEvent})),this._map.fire(new t.Event("move",{originalEvent:this._lastTouchEvent})),this._drainInertiaBuffer(),this._inertia.push([t.browser.now(),o,a])}},An.prototype._onEnd=function(e){r.removeEventListener(t.window.document,"touchmove",this._onMove,{passive:!1}),r.removeEventListener(t.window.document,"touchend",this._onEnd);var n=this._gestureIntent,a=this._startScale;if(this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._gestureIntent,delete this._startScale,delete this._startBearing,delete this._lastTouchEvent,n){this._map.fire(new t.Event(n+"end",{originalEvent:e})),this._drainInertiaBuffer();var i=this._inertia,o=this._map;if(i.length<2)o.snapToNorth({},{originalEvent:e});else{var s=i[i.length-1],l=i[0],c=o.transform.scaleZoom(a*s[1]),u=o.transform.scaleZoom(a*l[1]),h=c-u,f=(s[0]-l[0])/1e3,p=s[2];if(0!==f&&c!==u){var d=.15*h/f;Math.abs(d)>2.5&&(d=d>0?2.5:-2.5);var g=1e3*Math.abs(d/(12*.15)),v=c+d*g/2e3;v<0&&(v=0),o.easeTo({zoom:v,duration:g,easing:Tn,around:this._aroundCenter?o.getCenter():o.unproject(p),noMoveStart:!0},{originalEvent:e})}else o.snapToNorth({},{originalEvent:e})}}},An.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>2&&r-e[0][0]>160;)e.shift()};var Mn={scrollZoom:gn,boxZoom:vn,dragRotate:yn,dragPan:bn,keyboard:_n,doubleClickZoom:kn,touchZoomRotate:An},Sn=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.resetNorthPitch=function(e,r){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())e?1:0}),["bottom","left","right","top"])){var o=this.transform,s=o.project(t.LngLat.convert(e)),l=o.project(t.LngLat.convert(r)),c=s.rotate(-n*Math.PI/180),u=l.rotate(-n*Math.PI/180),h=new t.Point(Math.max(c.x,u.x),Math.max(c.y,u.y)),f=new t.Point(Math.min(c.x,u.x),Math.min(c.y,u.y)),p=h.sub(f),d=(o.width-a.padding.left-a.padding.right)/p.x,g=(o.height-a.padding.top-a.padding.bottom)/p.y;if(!(g<0||d<0)){var v=Math.min(o.scaleZoom(o.scale*Math.min(d,g)),a.maxZoom),m=t.Point.convert(a.offset),y=(a.padding.left-a.padding.right)/2,x=(a.padding.top-a.padding.bottom)/2,b=new t.Point(m.x+y,m.y+x).mult(o.scale/o.zoomScale(v));return{center:o.unproject(s.add(l).div(2).sub(b)),zoom:v,bearing:n}}t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.")}else t.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'")},r.prototype.fitBounds=function(t,e,r){return this._fitInternal(this.cameraForBounds(t,e),e,r)},r.prototype.fitScreenCoordinates=function(e,r,n,a,i){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(r)),n,a),a,i)},r.prototype._fitInternal=function(e,r,n){return e?(r=t.extend(e,r)).linear?this.easeTo(r,n):this.flyTo(r,n):this},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,a=!1,i=!1,o=!1;return"zoom"in e&&n.zoom!==+e.zoom&&(a=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),"bearing"in e&&n.bearing!==+e.bearing&&(i=!0,n.bearing=+e.bearing),"pitch"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),this.fire(new t.Event("movestart",r)).fire(new t.Event("move",r)),a&&this.fire(new t.Event("zoomstart",r)).fire(new t.Event("zoom",r)).fire(new t.Event("zoomend",r)),i&&this.fire(new t.Event("rotatestart",r)).fire(new t.Event("rotate",r)).fire(new t.Event("rotateend",r)),o&&this.fire(new t.Event("pitchstart",r)).fire(new t.Event("pitch",r)).fire(new t.Event("pitchend",r)),this.fire(new t.Event("moveend",r))},r.prototype.easeTo=function(e,r){var n=this;this.stop(),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||t.browser.prefersReducedMotion)&&(e.duration=0);var a=this.transform,i=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l="zoom"in e?+e.zoom:i,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,h=a.centerPoint.add(t.Point.convert(e.offset)),f=a.pointLocation(h),p=t.LngLat.convert(e.center||f);this._normalizeCenter(p);var d,g,v=a.project(f),m=a.project(p).sub(v),y=a.zoomScale(l-i);return e.around&&(d=t.LngLat.convert(e.around),g=a.locationPoint(d)),this._zooming=l!==i,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,e.noMoveStart),clearTimeout(this._easeEndTimeoutID),this._ease(function(e){if(n._zooming&&(a.zoom=t.number(i,l,e)),n._rotating&&(a.bearing=t.number(o,c,e)),n._pitching&&(a.pitch=t.number(s,u,e)),d)a.setLocationAtPoint(d,g);else{var f=a.zoomScale(a.zoom-i),p=l>i?Math.min(2,y):Math.max(.5,y),x=Math.pow(p,1-e),b=a.unproject(v.add(m.mult(e*x)).mult(f));a.setLocationAtPoint(a.renderWorldCopies?b.wrap():b,h)}n._fireMoveEvents(r)},function(){e.delayEndEvents?n._easeEndTimeoutID=setTimeout(function(){return n._afterEase(r)},e.delayEndEvents):n._afterEase(r)},e),this},r.prototype._prepareEase=function(e,r){this._moving=!0,r||this.fire(new t.Event("movestart",e)),this._zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&this.fire(new t.Event("rotatestart",e)),this._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){var r=this._zooming,n=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,r&&this.fire(new t.Event("zoomend",e)),n&&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(t.browser.prefersReducedMotion){var a=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(a,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var i=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c="zoom"in e?t.clamp(+e.zoom,i.minZoom,i.maxZoom):o,u="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,f=i.zoomScale(c-o),p=i.centerPoint.add(t.Point.convert(e.offset)),d=i.pointLocation(p),g=t.LngLat.convert(e.center||d);this._normalizeCenter(g);var v=i.project(d),m=i.project(g).sub(v),y=e.curve,x=Math.max(i.width,i.height),b=x/f,_=m.mag();if("minZoom"in e){var w=t.clamp(Math.min(e.minZoom,o,c),i.minZoom,i.maxZoom),k=x/i.zoomScale(w-o);y=Math.sqrt(k/_*2)}var T=y*y;function A(t){var e=(b*b-x*x+(t?-1:1)*T*T*_*_)/(2*(t?b:x)*T*_);return Math.log(Math.sqrt(e*e+1)-e)}function M(t){return(Math.exp(t)-Math.exp(-t))/2}function S(t){return(Math.exp(t)+Math.exp(-t))/2}var E=A(0),L=function(t){return S(E)/S(E+y*t)},C=function(t){return x*((S(E)*(M(e=E+y*t)/S(e))-M(E))/T)/_;var e},P=(A(1)-E)/y;if(Math.abs(_)<1e-6||!isFinite(P)){if(Math.abs(x-b)<1e-6)return this.easeTo(e,r);var O=be.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=h!==l,this._prepareEase(r,!1),this._ease(function(e){var a=e*P,f=1/L(a);i.zoom=1===e?c:o+i.scaleZoom(f),n._rotating&&(i.bearing=t.number(s,u,e)),n._pitching&&(i.pitch=t.number(l,h,e));var d=1===e?g:i.unproject(v.add(m.mult(C(a))).mult(f));i.setLocationAtPoint(i.renderWorldCopies?d.wrap():d,p),n._fireMoveEvents(r)},function(){return n._afterEase(r)},e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var t=this._onEaseEnd;delete this._onEaseEnd,t.call(this)}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),En=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};En.prototype.getDefaultPosition=function(){return"bottom-right"},En.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},En.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},En.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)}},En.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var Ln=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Ln.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","Mapbox logo"),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},Ln.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Ln.prototype.getDefaultPosition=function(){return"bottom-left"},Ln.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Ln.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}},Ln.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 Cn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Cn.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Cn.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 minZoom");var i=new cn(e.minZoom,e.maxZoom,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 Cn,this._controls=[],this._mapId=t.uniqueId(),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 On))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 a._update(!1)}),this.on("moveend",function(){return a._update(!1)}),this.on("zoom",function(){return a._update(!0)}),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),function(t,e){var n=t.getCanvasContainer(),a=null,i=!1,o=null;for(var s in Mn)t[s]=new Mn[s](t,e),e.interactive&&e[s]&&t[s].enable(e[s]);r.addEventListener(n,"mouseout",function(e){t.fire(new fn("mouseout",t,e))}),r.addEventListener(n,"mousedown",function(a){i=!0,o=r.mousePos(n,a);var s=new fn("mousedown",t,a);t.fire(s),s.defaultPrevented||(e.interactive&&!t.doubleClickZoom.isActive()&&t.stop(),t.boxZoom.onMouseDown(a),t.boxZoom.isActive()||t.dragPan.isActive()||t.dragRotate.onMouseDown(a),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onMouseDown(a))}),r.addEventListener(n,"mouseup",function(e){var r=t.dragRotate.isActive();a&&!r&&t.fire(new fn("contextmenu",t,a)),a=null,i=!1,t.fire(new fn("mouseup",t,e))}),r.addEventListener(n,"mousemove",function(e){if(!t.dragPan.isActive()&&!t.dragRotate.isActive()){for(var r=e.target;r&&r!==n;)r=r.parentNode;r===n&&t.fire(new fn("mousemove",t,e))}}),r.addEventListener(n,"mouseover",function(e){for(var r=e.target;r&&r!==n;)r=r.parentNode;r===n&&t.fire(new fn("mouseover",t,e))}),r.addEventListener(n,"touchstart",function(r){var n=new pn("touchstart",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&t.stop(),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onTouchStart(r),t.touchZoomRotate.onStart(r),t.doubleClickZoom.onTouchStart(n))},{passive:!1}),r.addEventListener(n,"touchmove",function(e){t.fire(new pn("touchmove",t,e))},{passive:!1}),r.addEventListener(n,"touchend",function(e){t.fire(new pn("touchend",t,e))}),r.addEventListener(n,"touchcancel",function(e){t.fire(new pn("touchcancel",t,e))}),r.addEventListener(n,"click",function(a){var i=r.mousePos(n,a);(!o||i.equals(o)||i.dist(o)-1&&this._controls.splice(r,1),e.onRemove(this),this},a.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],a=r[1];return this._resizeCanvas(n,a),this.transform.resize(n,a),this.painter.resize(n,a),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e)).fire(new t.Event("resize",e)).fire(new t.Event("moveend",e)),this},a.prototype.getBounds=function(){return this.transform.getBounds()},a.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},a.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},a.prototype.setMinZoom=function(t){if((t=null==t?0:t)>=0&&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")},a.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},a.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},a.prototype.getMaxZoom=function(){return this.transform.maxZoom},a.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},a.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},a.prototype.isMoving=function(){return this._moving||this.dragPan.isActive()||this.dragRotate.isActive()||this.scrollZoom.isActive()},a.prototype.isZooming=function(){return this._zooming||this.scrollZoom.isZooming()},a.prototype.isRotating=function(){return this._rotating||this.dragRotate.isActive()},a.prototype.on=function(t,e,r){var a=this;if(void 0===r)return n.prototype.on.call(this,t,e);var i=function(){var n;if("mouseenter"===t||"mouseover"===t){var i=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?i||(i=!0,r.call(a,new fn(t,a,n.originalEvent,{features:o}))):i=!1},mouseout:function(){i=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(a,new fn(t,a,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(a,new fn(t,a,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=a.getLayer(e)?a.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(a,t),delete t.features)},n)}}();for(var o in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(o,i.delegates[o]);return this},a.prototype.off=function(t,e,r){if(void 0===r)return n.prototype.off.call(this,t,e);if(this._delegatedListeners&&this._delegatedListeners[t])for(var a=this._delegatedListeners[t],i=0;i180;){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}Fn.prototype._updateZoomButtons=function(){var t=this._map.getZoom();t===this._map.getMaxZoom()?this._zoomInButton.classList.add("mapboxgl-ctrl-icon-disabled"):this._zoomInButton.classList.remove("mapboxgl-ctrl-icon-disabled"),t===this._map.getMinZoom()?this._zoomOutButton.classList.add("mapboxgl-ctrl-icon-disabled"):this._zoomOutButton.classList.remove("mapboxgl-ctrl-icon-disabled")},Fn.prototype._rotateCompassArrow=function(){var t=this.options.visualizePitch?"scale("+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+") rotateX("+this._map.transform.pitch+"deg) rotateZ("+this._map.transform.angle*(180/Math.PI)+"deg)":"rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},Fn.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new yn(t,{button:"left",element:this._compass}),r.addEventListener(this._compass,"mousedown",this._handler.onMouseDown),r.addEventListener(this._compass,"touchstart",this._handler.onMouseDown,{passive:!1}),this._handler.enable()),this._container},Fn.prototype.onRemove=function(){r.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),r.removeEventListener(this._compass,"mousedown",this._handler.onMouseDown),r.removeEventListener(this._compass,"touchstart",this._handler.onMouseDown,{passive:!1}),this._handler.disable(),delete this._handler),delete this._map},Fn.prototype._createButton=function(t,e,n){var a=r.create("button",t,this._container);return a.type="button",a.title=e,a.setAttribute("aria-label",e),a.addEventListener("click",n),a};var Nn={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function jn(t,e,r){var n=t.classList;for(var a in Nn)n.remove("mapboxgl-"+r+"-anchor-"+a);n.add("mapboxgl-"+r+"-anchor-"+e)}var Vn,Un=function(e){function n(n,a){if(e.call(this),(n instanceof t.window.HTMLElement||a)&&(n=t.extend({element:n},a)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick"],this),this._anchor=n&&n.anchor||"center",this._color=n&&n.color||"#3FB1CE",this._draggable=n&&n.draggable||!1,this._state="inactive",n&&n.element)this._element=n.element,this._offset=t.Point.convert(n&&n.offset||[0,0]);else{this._defaultMarker=!0,this._element=r.create("div");var i=r.createNS("http://www.w3.org/2000/svg","svg");i.setAttributeNS(null,"display","block"),i.setAttributeNS(null,"height","41px"),i.setAttributeNS(null,"width","27px"),i.setAttributeNS(null,"viewBox","0 0 27 41");var o=r.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"stroke","none"),o.setAttributeNS(null,"stroke-width","1"),o.setAttributeNS(null,"fill","none"),o.setAttributeNS(null,"fill-rule","evenodd");var s=r.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");var l=r.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");for(var c=0,u=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];c5280?Xn(e,c,f/5280,"mi"):Xn(e,c,f,"ft")}else r&&"nautical"===r.unit?Xn(e,c,h/1852,"nm"):Xn(e,c,h,"m")}function Xn(t,e,r,n){var a,i,o,s=(a=r,(i=Math.pow(10,(""+Math.floor(a)).length-1))*(o=(o=a/i)>=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;"m"===n&&s>=1e3&&(s/=1e3,n="km"),t.style.width=e*l+"px",t.innerHTML=s+n}Yn.prototype.getDefaultPosition=function(){return"bottom-left"},Yn.prototype._onMove=function(){Wn(this._map,this._container,this.options)},Yn.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},Yn.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Yn.prototype.setUnit=function(t){this.options.unit=t,Wn(this._map,this._container,this.options)};var Zn=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"),this._className="mapboxgl-ctrl"};Zn.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Zn.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Zn.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Zn.prototype._setupUI=function(){(this._fullscreenButton=r.create("button",this._className+"-icon "+this._className+"-fullscreen",this._controlContainer)).type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Zn.prototype._updateTitle=function(){var t=this._isFullscreen()?"Exit fullscreen":"Enter fullscreen";this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},Zn.prototype._isFullscreen=function(){return this._fullscreen},Zn.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(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-fullscreen"),this._updateTitle())},Zn.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 Jn={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},Kn=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Jn),r),t.bindAll(["_update","_onClickClose","remove"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){var r=this;return this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",function(t){r._update(t.point)}),this._map.on("mouseup",function(t){r._update(t.point)}),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("click",this._onClickClose),this._map.off("remove",this.remove),this._map.off("mousemove"),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._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){var t=this;return this._trackPointer=!0,this._pos=null,this._map&&(this._map.off("move",this._update),this._map.on("mousemove",function(e){t._update(e.point)}),this._map.on("drag",function(e){t._update(e.point)}),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(),a=t.window.document.createElement("body");for(a.innerHTML=e;r=a.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return 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._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._onClickClose))},n.prototype._update=function(e){var n=this,a=this._lngLat||this._trackPointer;if(this._map&&a&&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 n._container.classList.add(t)})),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=Bn(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var i=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),o=this.options.anchor,s=function e(r){if(r){if("number"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),"top-left":new t.Point(n,n),"top-right":new t.Point(-n,n),bottom:new t.Point(0,-r),"bottom-left":new t.Point(n,-n),"bottom-right":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var a=t.Point.convert(r);return{center:a,top:a,"top-left":a,"top-right":a,bottom:a,"bottom-left":a,"bottom-right":a,left:a,right:a}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),"top-left":t.Point.convert(r["top-left"]||[0,0]),"top-right":t.Point.convert(r["top-right"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),"bottom-left":t.Point.convert(r["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(r["bottom-right"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!o){var l,c=this._container.offsetWidth,u=this._container.offsetHeight;l=i.y+s.bottom.ythis._map.transform.height-u?["bottom"]:[],i.xthis._map.transform.width-c/2&&l.push("right"),o=0===l.length?"bottom":l.join("-")}var h=i.add(s[o]).round();r.setTransform(this._container,Nn[o]+" translate("+h.x+"px,"+h.y+"px)"),jn(this._container,o,"popup")}},n.prototype._onClickClose=function(){this.remove()},n}(t.Evented),Qn={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,Map:In,NavigationControl:Fn,GeolocateControl:Hn,AttributionControl:En,ScaleControl:Yn,FullscreenControl:Zn,Popup:Kn,Marker:Un,Style:Re,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,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 It.workerCount},set workerCount(t){It.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 Qn}),r},"object"==typeof r&&"undefined"!=typeof e?e.exports=a():(n=n||self).mapboxgl=a()},{}],428:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<p[1][2]&&(m[0]=-m[0]),p[0][2]>p[2][0]&&(m[1]=-m[1]),p[1][0]>p[0][1]&&(m[2]=-m[2]),!0}},{"./normalize":430,"gl-mat4/clone":261,"gl-mat4/create":262,"gl-mat4/determinant":263,"gl-mat4/invert":267,"gl-mat4/transpose":278,"gl-vec3/cross":335,"gl-vec3/dot":340,"gl-vec3/length":350,"gl-vec3/normalize":357}],430:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,a=0;a<16;a++)t[a]=e[a]*n;return!0}},{}],431:[function(t,e,r){var n=t("gl-vec3/lerp"),a=t("mat4-recompose"),i=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,h){if(0===o(e)||0===o(r))return!1;var f=i(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=i(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p||(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),a(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{"gl-mat4/determinant":263,"gl-vec3/lerp":351,"mat4-decompose":429,"mat4-recompose":432,"quat-slerp":484}],432:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},a=(n.create(),n.create());e.exports=function(t,e,r,i,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(a),0!==i[2]&&(a[9]=i[2],n.multiply(t,t,a)),0!==i[1]&&(a[9]=0,a[8]=i[1],n.multiply(t,t,a)),0!==i[0]&&(a[8]=0,a[4]=i[0],n.multiply(t,t,a)),n.scale(t,t,r),t}},{"gl-mat4/create":262,"gl-mat4/fromRotationTranslation":265,"gl-mat4/identity":266,"gl-mat4/multiply":269,"gl-mat4/scale":276,"gl-mat4/translate":277}],433:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],434:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("mat4-interpolate"),i=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),c=t("gl-mat4/lookAt"),u=t("gl-mat4/translate"),h=(t("gl-mat4/scale"),t("gl-vec3/normalize")),f=[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]}e.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,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else a(o,f,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],h(g,g);var v=this.computedInverse;i(v,o);var m=this.computedEye,y=v[15];m[0]=v[12]/y,m[1]=v[13]/y,m[2]=v[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=m[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),h=0,a=0,f=o.length;a0;--p)r[h++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":508}],436:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,a=0,i=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 c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==a||u!==i||l(s))&&(r=0|t,a=c||0,i=u||0,e&&e(r,a,i,o))}function u(t){c(0,t)}function h(){(r||a||i||o.shift||o.alt||o.meta||o.control)&&(a=i=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,a,i,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function v(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",h),t.addEventListener("keyup",f),t.addEventListener("keydown",f),t.addEventListener("keypress",f),t!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}v();var m={element:t};return Object.defineProperties(m,{enabled:{get:function(){return s},set:function(e){e?v():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",h),t.removeEventListener("keyup",f),t.removeEventListener("keydown",f),t.removeEventListener("keypress",f),t!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return a},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),m};var n=t("mouse-event")},{"mouse-event":438}],437:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var a=t.clientX||0,i=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=a-o.left,r[1]=i-o.top,r}},{}],438:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.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 E=t.getters||[],L=new Array(M),C=0;C=0?L[C]=!0:L[C]=!1;return function(t,e,r,M,S,E){var L=E.length,C=S.length;if(C<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var P="extractContour"+S.join("_"),O=[],z=[],I=[],D=0;D0&&N.push(l(D,S[R-1])+"*"+s(S[R-1])),z.push(d(D,S[R])+"=("+N.join("-")+")|0")}for(var D=0;D=0;--D)j.push(s(S[D]));z.push(w+"=("+j.join("*")+")|0",b+"=mallocUint32("+w+")",x+"=mallocUint32("+w+")",k+"=0"),z.push(g(0)+"=0");for(var R=1;R<1<0;T=T-1&d)w.push(x+"["+k+"+"+m(T)+"]");w.push(y(0));for(var T=0;T=0;--e)G(e,0);for(var r=[],e=0;e0){",p(S[e]),"=1;");t(e-1,r|1<=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),i.push("1"),o.push("s["+l+"]-2"));var c=".lo("+i.join()+").hi("+o.join()+")";if(0===i.length&&(c=""),a>0){n.push("if(1");for(var l=0;l=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",a,"(src.pick(",s.join(),")",c);for(var l=0;l=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(var l=0;l1){dst.set(",s.join(),",",u,",0.5*(src.get(",f.join(),")-src.get(",p.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>1){diff(",h,",src.pick(",f.join(),")",c,",src.pick(",p.join(),")",c,");}else{zero(",h,");};");break;case"mirror":0===a?n.push("dst.set(",s.join(),",",u,",0);"):n.push("zero(",h,");");break;case"wrap":var d=s.slice(),g=s.slice();e[l]<0?(d[u]="s["+u+"]-2",g[u]="0"):(d[u]="s["+u+"]-1",g[u]="1"),0===a?n.push("if(s[",u,"]>2){dst.set(",s.join(),",",u,",0.5*(src.get(",d.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>2){diff(",h,",src.pick(",d.join(),")",c,",src.pick(",g.join(),")",c,");}else{zero(",h,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}a>0&&n.push("};")}for(var s=0;s<1<>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var c={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in c){var e=c[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var u=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;tthis_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:a,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":147}],446:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("./doConvert.js");e.exports=function(t,e){for(var r=[],i=t,o=1;Array.isArray(i);)r.push(i.length),o*=i.length,i=i[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),a(e,t),e)}},{"./doConvert.js":447,ndarray:451}],447:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":147}],448:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=32;function i(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r0?s.push(["d",d,"=s",d,"-d",h,"*n",h].join("")):s.push(["d",d,"=s",d].join("")),h=d),0!=(p=t.length-1-l)&&(f>0?s.push(["e",p,"=s",p,"-e",f,"*n",f,",f",p,"=",c[p],"-f",f,"*n",f].join("")):s.push(["e",p,"=s",p,",f",p,"=",c[p]].join("")),f=p)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",a,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var v=new Function("insertionSort","quickSort",r.join("\n")),m=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),a=["left","right","data","offset"].concat(o(t.length)),s=i(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var c=[],u=1;u1){for(r.push("dptr=0;sptr=ptr"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"b){break __l}"].join("")),u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");for(r.push("dptr=cptr;sptr=cptr-s0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"scratch)){",f("cptr",h("cptr-s0")),"cptr-=s0","}",f("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e),y=function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),c=i(e),u=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var h=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var f=[],p=1;p=0;--i)0!==(o=t[i])&&n.push(["for(i",o,"=0;i",o,"1)for(i=0;i1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,a,i){if(1===r.length)n.push("ptr0="+d(r[0]));else{for(var o=0;o1)for(o=0;o=1;--o)a&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function x(){t.length>1&&c&&n.push("free(pivot1)","free(pivot2)")}function b(e,r){var a="el"+e,i="el"+r;if(t.length>1){var o="__l"+ ++u;y(o,[a,i],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",a,";",a,"=",i,";",i,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(d(a)),">",g(d(i)),"){tmp0=",a,";",a,"=",i,";",i,"=tmp0}"].join(""))}function _(e,r){t.length>1?m([e,r],!1,v("ptr0",g("ptr1"))):n.push(v(d(e),g(d(r))))}function w(e,r,a){if(t.length>1){var i="__l"+ ++u;y(i,[r],!0,[e,"=",g("ptr0"),"-pivot",a,"[pivot_ptr]\n","if(",e,"!==0){break ",i,"}"].join(""))}else n.push([e,"=",g(d(r)),"-pivot",a].join(""))}function k(e,r){t.length>1?m([e,r],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join(""))}function T(e,r,a){t.length>1?(m([e,r,a],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join("")),n.push("++"+r,"--"+a)):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","ptr2=",d(a),"\n","++",r,"\n","--",a,"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join(""))}function A(t,e){k(t,e),n.push("--"+e)}function M(e,r,a){t.length>1?m([e,r],!0,[v("ptr0",g("ptr1")),"\n",v("ptr1",["pivot",a,"[pivot_ptr]"].join(""))].join("")):n.push(v(d(e),g(d(r))),v(d(r),"pivot"+a))}function S(e,r){n.push(["if((",r,"-",e,")<=",a,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function E(e,r,a){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),m([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",u,"}"].join("")),n.push(a,"}")):n.push(["while(",g(d(e)),"===pivot",r,"){",a,"}"].join(""))}return n.push("var "+h.join(",")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?m(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",v("ptr5","x"),"\n",v("ptr6","y"),"\n",v("ptr7","z")].join("")):n.push(["pivot1=",g(d("el2")),"\n","pivot2=",g(d("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(d("el1")),"\n","y=",g(d("el3")),"\n","z=",g(d("el5")),"\n",v(d("index1"),"x"),"\n",v(d("index3"),"y"),"\n",v(d("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),T("k","less","great"),n.push("break"),n.push("}else{"),A("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--greatindex5){"),E("less",1,"++less"),E("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,m);return v(m,y)}},{"typedarray-pool":543}],449:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),a={};e.exports=function(t){var e=t.order,r=t.dtype,i=[e,r].join(":"),o=a[i];return o||(a[i]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":448}],450:[function(t,e,r){"use strict";var n=t("ndarray-linear-interpolate"),a=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=new Array(_inline_3_arg4_)}",args:[{name:"_inline_3_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg2_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg3_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}",args:[{name:"_inline_4_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_4_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg4_",lvalue:!1,rvalue:!1,count:0}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warpND",blockSize:64}),i=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}",args:[{name:"_inline_7_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_7_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp1D",blockSize:64}),o=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}",args:[{name:"_inline_10_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_10_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp2D",blockSize:64}),s=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}",args:[{name:"_inline_13_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_13_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp3D",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:i(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:a(t,r,n.bind(void 0,e),e.shape.length)}return t}},{"cwise/lib/wrapper":150,"ndarray-linear-interpolate":444}],451:[function(t,e,r){var n=t("iota-array"),a=t("is-buffer"),i="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;tMath.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&i.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):i.push("ORDER})")),i.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),a?i.push("return this.data.set("+u+",v)}"):i.push("return this.data["+u+"]=v}"),i.push("proto.get=function "+r+"_get("+l.join(",")+"){"),a?i.push("return this.data.get("+u+")}"):i.push("return this.data["+u+"]}"),i.push("proto.index=function "+r+"_index(",l.join(),"){return "+u+"}"),i.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map(function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")}).join(",")+","+o.map(function(t){return"this.stride["+t+"]"}).join(",")+",this.offset)}");var p=o.map(function(t){return"a"+t+"=this.shape["+t+"]"}),d=o.map(function(t){return"c"+t+"=this.stride["+t+"]"});i.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var g=0;g=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");i.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"c"+t}).join(",")+",b)}"),i.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map(function(t){return"a"+t+"=this.shape["+t+"]"}).join(",")+","+o.map(function(t){return"b"+t+"=this.stride["+t+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return i.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),i.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map(function(t){return"shape["+t+"]"}).join(",")+","+o.map(function(t){return"stride["+t+"]"}).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",i.join("\n"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.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,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n)for(n=0,s=0;s>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-a:a;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===i?(r+=1,o=0):o+=1:0===o?(o=i,r-=1):o-=1;return n.pack(o,r)}},{"double-bits":168}],453:[function(t,e,r){var n=Math.PI,a=c(120);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function o(t,e,r,n,a,i){return["C",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}function s(t,e,r,i,o,c,u,h,f,p){if(p)k=p[0],T=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(h=(d=l(h,f,-o)).x))/2,v=(e-(f=d.y))/2,m=g*g/(r*r)+v*v/(i*i);m>1&&(r*=m=Math.sqrt(m),i*=m);var y=r*r,x=i*i,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*v*v-x*g*g)/(y*v*v+x*g*g)));b==1/0&&(b=1);var _=b*r*v/i+(t+h)/2,w=b*-i*g/r+(e+f)/2,k=Math.asin(((e-w)/i).toFixed(9)),T=Math.asin(((f-w)/i).toFixed(9));(k=t<_?n-k:k)<0&&(k=2*n+k),(T=h<_?n-T:T)<0&&(T=2*n+T),u&&k>T&&(k-=2*n),!u&&T>k&&(T-=2*n)}if(Math.abs(T-k)>a){var A=T,M=h,S=f;T=k+a*(u&&T>k?1:-1);var E=s(h=_+r*Math.cos(T),f=w+i*Math.sin(T),r,i,o,0,u,M,S,[T,A,_,w])}var L=Math.tan((T-k)/4),C=4/3*r*L,P=4/3*i*L,O=[2*t-(t+C*Math.sin(k)),2*e-(e-P*Math.cos(k)),h+C*Math.sin(T),f-P*Math.cos(T),h,f];if(p)return O;E&&(O=O.concat(E));for(var z=0;z7&&(r.push(m.splice(0,7)),m.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-a),m=["C",x,b,m[1],m[2],m[3],m[4]];break;case"T":"Q"==e||"T"==e?(h=2*p-h,f=2*d-f):(h=p,f=d),m=o(p,d,h,f,m[1],m[2]);break;case"Q":h=m[1],f=m[2],m=o(p,d,m[1],m[2],m[3],m[4]);break;case"L":m=i(p,d,m[1],m[2]);break;case"H":m=i(p,d,m[1],d);break;case"V":m=i(p,d,p,m[1]);break;case"Z":m=i(p,d,l,u)}e=y,p=m[m.length-2],d=m[m.length-1],m.length>4?(n=m[m.length-4],a=m[m.length-3]):(n=p,a=d),r.push(m)}return r}},{}],454:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;oi){var b=a[c],_=1/Math.sqrt(v*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(m[w]*g[k]-m[k]*g[w])}}}for(o=0;oi)for(_=1/Math.sqrt(T),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return a},r.faceNormals=function(t,e,r){for(var n=t.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;oi?1/Math.sqrt(p):0;for(c=0;c<3;++c)f[c]*=p;a[o]=f}return a}},{}],455:[function(t,e,r){"use strict";var n=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.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,e){for(var r,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0){var h=Math.sqrt(u+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-i)/h,t[3]=.5*h}else{var f=Math.max(e,i,c),h=Math.sqrt(2*f-u+1);e>=f?(t[0]=.5*h,t[1]=.5*(a+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):i>=f?(t[0]=.5*(r+a)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-a)/h)}return t}},{}],457:[function(t,e,r){"use strict";e.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),u(r=[].slice.call(r,0,4),r);var a=new h(r,e,Math.log(n));a.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&a.lookAt(0,t.eye,t.center,t.up);return a};var n=t("filtered-vector"),a=t("gl-mat4/lookAt"),i=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=c(r,n,a,i);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=a/o,t[3]=i/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function h(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 f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;i(r,e);var n=this.computedCenter,a=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);a[0]=n[0]+s*r[2],a[1]=n[1]+s*r[6],a[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 c=0,h=0;h<3;++h)c+=r[l+4*h]*a[h];r[12+l]=-c}},f.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},f.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},f.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},f.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=a[1],o=a[5],s=a[9],c=l(i,o,s);i/=c,o/=c,s/=c;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=l(u-=i*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var g=a[2],v=a[6],m=a[10],y=g*i+v*o+m*s,x=g*u+v*h+m*f,b=l(g-=y*i+x*u,v-=y*o+x*h,m-=y*s+x*f);g/=b,v/=b,m/=b;var _=u*e+i*r,w=h*e+o*r,k=f*e+s*r;this.center.move(t,_,w,k);var T=Math.exp(this.computedRadius[0]);T=Math.max(1e-4,T+n),this.radius.set(t,Math.log(T))},f.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var a=this.computedMatrix,i=a[0],o=a[4],s=a[8],u=a[1],h=a[5],f=a[9],p=a[2],d=a[6],g=a[10],v=e*i+r*u,m=e*o+r*h,y=e*s+r*f,x=-(d*y-g*m),b=-(g*v-p*y),_=-(p*m-d*v),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var T=this.computedRotation,A=T[0],M=T[1],S=T[2],E=T[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,_=g;var z=Math.sin(n)/l(x,b,_);x*=z,b*=z,_*=z,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 I=c(L,C,P,O);I>1e-6?(L/=I,C/=I,P/=I,O/=I):(L=C=P=0,O=1),this.rotation.set(t,L,C,P,O)},f.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;a(i,e,r,n);var o=this.computedRotation;s(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},f.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},f.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]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var a=n[15];if(Math.abs(a)>1e-6){var i=n[12]/a,l=n[13]/a,c=n[14]/a;this.recalcMatrix(t);var h=Math.exp(this.computedRadius[0]);this.center.set(t,i-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},f.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},f.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},f.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])]},f.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]}},f.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 a=t.distance;a&&a>0&&this.radius.set(e,Math.log(a)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":456,"filtered-vector":228,"gl-mat4/fromQuat":264,"gl-mat4/invert":267,"gl-mat4/lookAt":268}],458:[function(t,e,r){"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r="undefined"!=typeof r?r+"":" ",e)+t}},{"repeat-string":501}],459:[function(t,e,r){"use strict";function n(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]:["{}","[]","()"],a=e.escape||"___",i=!!e.flat;n.forEach(function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function i(e,i,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),a+s+a}r.forEach(function(t,n){for(var a,o=0;t!=a;)if(a=t,t=t.replace(e,i),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("(\\"+a+r+"\\"+a+")","g"),t[0]+"$1"+t[1])}),e})});var o=new RegExp("\\"+a+"([0-9]+)\\"+a);return i?r:function t(e,r,n){for(var a,i=[],s=0;a=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");i.push(e.slice(0,a.index)),i.push(t(r[a[1]],r)),e=e.slice(a.index+a[0].length)}return i.push(e),i}(r[0],r)}function a(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",a=t[0];if(!a)return"";for(var i=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;a!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=a,a=a.replace(i,s)}return a}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 i(t,e){return Array.isArray(t)?a(t,e):n(t,e)}i.parse=n,i.stringify=a,e.exports=i},{}],460:[function(t,e,r){"use strict";var n=t("pick-by-alias");e.exports=function(t){var e;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&&(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"}),e={x:t.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);return e}},{"pick-by-alias":466}],461:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(a,function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(i);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(e.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==n[o])return a.unshift(r),e.push(a);if(a.length0;--o)i=l[o],r=s[o],s[o]=s[i],s[i]=r,l[o]=l[r],l[r]=i,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,a,i,o=1;for((r=r||new Array(t))[0]=0,i=1;i0;--i)e=e-(n=e/o|0)*o|0,o=o/i|0,a=0|r[i],r[i]=0|r[n],r[n]=0|a;return r}},{"invert-permutation":416,"typedarray-pool":543}],466:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,i,o={};if("string"==typeof e&&(e=a(e)),Array.isArray(e)){var s={};for(i=0;i0){o=i[u][r][0],l=u;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=i[h][r],p=0;p0&&(o=d,s=g,l=h)}return a?s:(o&&c(o,l),s)}function h(t,r){var a=i[r][t][0],o=[t];c(a,r);for(var s=a[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(i[0][t].length+i[1][t].length===0)break;var l=o[o.length-1],h=t,f=o[1],p=u(l,h,!0);if(n(e[l],e[h],e[f],e[p])<0)break;o.push(t),s=u(l,h)}return o}function f(t,e){return e[1]===e[e.length-1]}for(var o=0;o0;){i[0][o].length;var g=h(o,p);f(d,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t("compare-angle")},{"compare-angle":128}],468:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),a=new Array(e.length),i=new Array(e.length),o=[],s=0;s0;){var c=o.pop();a[c]=!1;for(var u=r[c],s=0;s0})).length,v=new Array(g),m=new Array(g),p=0;p0;){var N=F.pop(),j=L[N];l(j,function(t,e){return t-e});var V,U=j.length,q=B[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p=0)&&(B[H]=1^q,F.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t("edges-to-adjacency-list"),a=t("planar-dual"),i=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),c=t("./lib/trim-leaves");function u(t,e){for(var r=new Array(t),n=0;n>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?g=new(h(e.dtype))(m):e.dtype&&(g=e.dtype,Array.isArray(g)&&(g.length=m));for(var y=0;yr||s>p){for(var f=0;fl||A>c||M=E||o===s)){var u=x[i];void 0===s&&(s=u.length);for(var h=o;h=g&&p<=m&&d>=v&&d<=y&&P.push(f)}var _=b[i],w=_[4*o+0],k=_[4*o+1],L=_[4*o+2],C=_[4*o+3],O=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(_,o+1),z=.5*a,I=i+1;e(r,n,z,I,w,k||L||C||O),e(r,n+z,z,I,k,L||C||O),e(r+z,n,z,I,L,C||O),e(r+z,n+z,z,I,C,O)}}}(0,0,1,0,0,1),P},g;function L(t,e,r){for(var n=1,a=.5,i=.5,o=.5,s=0;s0&&e[a]===r[0]))return 1;i=t[a-1]}for(var s=1;i;){var l=i.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,i=i.right}else if(c>0)i=i.left;else{if(!(c<0))return 0;s=1,i=i.right}}return s}}(m.slabs,m.coordinates);return 0===i.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(i),y)};var n=t("robust-orientation")[3],a=t("slab-decomposition"),i=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r=-t},pointBetween:function(e,r,n){var a=e[1]-r[1],i=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*i+a*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-a>t&&(i-c)*(a-u)/(o-u)+c-n>t&&(s=!s),i=c,o=u}return s}};return e}},{}],477:[function(t,e,r){var n={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]),a=1;a0})}function u(t,n){var a=t.seg,i=n.seg,o=a.start,s=a.end,c=i.start,u=i.end;r&&r.checkIntersection(a,i);var h=e.linesIntersect(o,s,c,u);if(!1===h){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var f=e.pointsSame(o,c),p=e.pointsSame(s,u);if(f&&p)return n;var d=!f&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(f)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===h.alongA&&(-1===h.alongB?l(t,c):0===h.alongB?l(t,h.pt):1===h.alongB&&l(t,u)),0===h.alongB&&(-1===h.alongA?l(n,o):0===h.alongA?l(n,h.pt):1===h.alongA&&l(n,s));return!1}for(var h=[];!i.isEmpty();){var f=i.getHead();if(r&&r.vert(f.pt[0]),f.isStart){r&&r.segmentNew(f.seg,f.primary);var p=c(f),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function v(){if(d){var t=u(f,d);if(t)return t}return!!g&&u(f,g)}r&&r.tempStatus(f.seg,!!d&&d.seg,!!g&&g.seg);var m,y,x=v();if(x)t?(y=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=f.seg.myFill,r&&r.segmentUpdate(x.seg),f.other.remove(),f.remove();if(i.getHead()!==f){r&&r.rewind(f.seg);continue}t?(y=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=g?g.seg.myFill.above:a,f.seg.myFill.above=y?!f.seg.myFill.below:f.seg.myFill.below):null===f.seg.otherFill&&(m=g?f.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:f.primary?o:a,f.seg.otherFill={above:m,below:m}),r&&r.status(f.seg,!!d&&d.seg,!!g&&g.seg),f.other.status=p.insert(n.node({ev:f}))}else{var b=f.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)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!f.primary){var _=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=_}h.push(f.seg)}i.getHead().remove()}return r&&r.done(),h}return t?{addRegion:function(t){for(var n,a,i,o=t[t.length-1],l=0;l=c?(T=1,y=c+2*f+d):y=f*(T=-f/c)+d):(T=0,p>=0?(A=0,y=d):-p>=h?(A=1,y=h+2*p+d):y=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(T=0,y=d):-f>=c?(T=1,y=c+2*f+d):y=f*(T=-f/c)+d;else{var M=1/k;y=(T*=M)*(c*T+u*(A*=M)+2*f)+A*(u*T+h*A+2*p)+d}else T<0?(b=h+p)>(x=u+f)?(_=b-x)>=(w=c-2*u+h)?(T=1,A=0,y=c+2*f+d):y=(T=_/w)*(c*T+u*(A=1-T)+2*f)+A*(u*T+h*A+2*p)+d:(T=0,b<=0?(A=1,y=h+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/h)+d):A<0?(b=c+f)>(x=u+p)?(_=b-x)>=(w=c-2*u+h)?(A=1,T=0,y=h+2*p+d):y=(T=1-(A=_/w))*(c*T+u*A+2*f)+A*(u*T+h*A+2*p)+d:(A=0,b<=0?(T=1,y=c+2*f+d):f>=0?(T=0,y=d):y=f*(T=-f/c)+d):(_=h+p-u-f)<=0?(T=0,A=1,y=h+2*p+d):_>=(w=c-2*u+h)?(T=1,A=0,y=c+2*f+d):y=(T=_/w)*(c*T+u*(A=1-T)+2*f)+A*(u*T+h*A+2*p)+d;var S=1-T-A;for(l=0;l1)for(var r=1;r0){var c=t[r-1];if(0===n(s,c)&&i(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":113,"compare-cell":129,"compare-oriented-cell":130}],491:[function(t,e,r){"use strict";var n=t("array-bounds"),a=t("color-normalize"),i=t("update-diff"),o=t("pick-by-alias"),s=t("object-assign"),l=t("flatten-vertex-data"),c=t("to-float32"),u=c.float32,h=c.fract32;e.exports=function(t,e){"function"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,c,p,d,g,v,m=t._gl,y={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),c=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),v=t.buffer({usage:"static",type:"float",data:f}),k(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:v,stride:24,offset:0},lineOffset:{buffer:v,stride:24,offset:8},capOffset:{buffer:v,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:f.length}),s(b,{update:k,draw:_,destroy:T,regl:t,gl:m,canvas:m.canvas,groups:x}),b;function b(t){t?k(t):null===t&&T(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)})}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function k(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,c){var u=x[c];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"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),i(u,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 i=0;i 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 sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\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) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, 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=a}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:a,miter:e}},v.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},v.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()},v.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>v.precisionThreshold||e.scale[1]*e.viewport.height>v.precisionThreshold?t.shaders.rect(e):"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=v.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))}),this},v.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,h){var d=e.passes[h];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"}),d||(e.passes[h]=d={id:h,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=i({},v.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,h 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=u(["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 vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(palette,\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) * pixelRatio;\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"]),d&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}y.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},y.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},y.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=l(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var f={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(f):e.elements=s.elements(f)}return a({data:g.float(t),usage:"dynamic"}),i({data:g.fract(t),usage:"dynamic"}),c({data:new Uint8Array(u),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var a=r.activation;if(a.forEach(function(t){return t&&t.destroy&&t.destroy()}),a.length=0,e&&"number"!=typeof e[0]){for(var i=[],o=0,l=Math.min(e.length,r.count);o=0)return i;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===a.length?a[0]:a},y.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 a=.25*(t=t.slice()).length%e;a2?(s[0],s[2],n=s[1],a=s[3]):s.length?(n=s[0],a=s[1]):(s.x,n=s.y,s.x+s.width,a=s.y+s.height),l.length>2?(i=l[0],o=l[2],l[1],l[3]):l.length?(i=l[0],o=l[1]):(i=l.x,l.y,o=l.x+l.width,l.y+l.height),[i,n,o,a]}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]}e.exports=u,u.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)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nT))&&(s.lower||!(k>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){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[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=i(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 l(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)||W(t.data))}function c(t,e,r,n,a,i){for(var o=0;o(a=s)&&(a=n.buffer.byteLength,5123===h?a>>=1:5125===h&&(a>>=2)),n.vertCount=a,a=o,0>o&&(a=4,1===(o=n.buffer.dimension)&&(a=0),2===o&&(a=1),3===o&&(a=4)),n.primType=a}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),a.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)c(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,a=-1,o=0,f=0;Array.isArray(t)||W(t)||l(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=Q[t.usage]),"primitive"in t&&(n=rt[t.primitive]),"count"in t&&(a=0|t.count),"type"in t&&(f=u[t.type]),"length"in t?o=0|t.length:(o=a,5123===f||5122===f?o*=2:5125!==f&&5124!==f||(o*=4))),i(h,e,r,n,a,o,f)}else c(),h.primType=4,h.vertCount=0,h.type=5121;return s}var c=r.create(null,34963,!0),h=new a(c._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=h,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(h)},s},createStream:function(t){var e=h.pop();return e||(e=new a(r.create(null,34963,!0,!1)._buffer)),i(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof a?t._elements:null},clear:function(){X(s).forEach(o)}}}function g(t){for(var e=G.allocType(5123,t.length),r=0;r>>31<<15,a=(i<<1>>>24)-127,i=i>>13&1023;e[r]=-24>a?n:-14>a?n+(i+1024>>-14-a):15>=a,r.height>>=a,p(r,n[a]),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&&(i.getTotalTextureSize=function(){var t=0;return Object.keys(mt).forEach(function(e){t+=mt[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=a.texInfo;P.call(r);var i=L();return"number"==typeof t?M(i,0|t,"number"==typeof e?0|e:0|t):t?(O(r,t),S(i,t)):M(i,1,1),r.genMipmaps&&(i.mipmask=(i.width<<1)-1),a.mipmask=i.mipmask,c(a,i),a.internalformat=i.internalformat,n.width=i.width,n.height=i.height,D(a),E(i,3553),z(r,3553),R(),C(i),o.profile&&(a.stats.size=k(a.internalformat,a.type,i.width,i.height,r.genMipmaps,!1)),n.format=tt[a.internalformat],n.type=et[a.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=at[r.wrapS],n.wrapT=at[r.wrapT],n}var a=new I(3553);return mt[a.id]=a,i.textureCount++,n(e,r),n.subimage=function(t,e,r,i){e|=0,r|=0,i|=0;var o=m();return c(o,a),o.width=0,o.height=0,p(o,t),o.width=o.width||(a.width>>i)-e,o.height=o.height||(a.height>>i)-r,D(a),d(o,3553,e,r,i),R(),T(o),n},n.resize=function(e,r){var i=0|e,s=0|r||i;if(i===a.width&&s===a.height)return n;n.width=a.width=i,n.height=a.height=s,D(a);for(var l,c=a.channels,u=a.type,h=0;a.mipmask>>h;++h){var f=i>>h,p=s>>h;if(!f||!p)break;l=G.zero.allocType(u,f*p*c),t.texImage2D(3553,h,a.format,f,p,0,a.format,a.type,l),l&&G.zero.freeType(l)}return R(),o.profile&&(a.stats.size=k(a.internalformat,a.type,i,s,!1,!1)),n},n._reglType="texture2d",n._texture=a,o.profile&&(n.stats=a.stats),n.destroy=function(){a.decRef()},n},createCube:function(e,r,n,a,s,l){function h(t,e,r,n,a,i){var s,l=f.texInfo;for(P.call(l),s=0;6>s;++s)g[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],a),S(g[5],i);else if(O(l,t),u(f,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],f),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(g[s],t,t);for(c(f,g[0]),f.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,f.internalformat=g[0].internalformat,h.width=g[0].width,h.height=g[0].height,D(f),s=0;6>s;++s)E(g[s],34069+s);for(z(l,34067),R(),o.profile&&(f.stats.size=k(f.internalformat,f.type,h.width,h.height,l.genMipmaps,!0)),h.format=tt[f.internalformat],h.type=et[f.type],h.mag=rt[l.magFilter],h.min=nt[l.minFilter],h.wrapS=at[l.wrapS],h.wrapT=at[l.wrapT],s=0;6>s;++s)C(g[s]);return h}var f=new I(34067);mt[f.id]=f,i.cubeCount++;var g=Array(6);return h(e,r,n,a,s,l),h.subimage=function(t,e,r,n,a){r|=0,n|=0,a|=0;var i=m();return c(i,f),i.width=0,i.height=0,p(i,e),i.width=i.width||(f.width>>a)-r,i.height=i.height||(f.height>>a)-n,D(f),d(i,34069+t,r,n,a),R(),T(i),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return R(),o.profile&&(f.stats.size=k(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=f,o.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},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);z(e.texInfo,e.target)})}}}function A(t,e,r,n,a,i){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,a=t;return"object"==typeof t&&(a=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=a._reglType)?r=a:"textureCube"===t?r=a:"renderbuffer"===t&&(n=a,e=36161),new o(e,r,n)}function h(t,e,r,i,s){return r?((t=n.create2D({width:t,height:e,format:i,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=a.create({width:t,height:e,format:i}))._renderbuffer.refCount=0,new o(36161,null,t))}function f(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r),t.width=e,t.height=r)}function d(){this.id=k++,T[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function v(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,i.framebufferCount--,delete T[e.id]}function m(e){var n;t.bindFramebuffer(36160,e.framebuffer);var a=e.colorAttachments;for(n=0;na;++a){for(c=0;ct;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){X(T).forEach(v)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,X(T).forEach(function(e){e.framebuffer=t.createFramebuffer(),m(e)})}})}function M(){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 S(t,e,r,n){function a(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function i(t,e){for(var r=0;rt&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);X(c).forEach(e),c={},X(u).forEach(e),u={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,h={},r.shaderCount=0},program:function(t,e,n){var a=h[e];a||(a=h[e]={});var i=a[t];return i||(i=new s(e,t),r.shaderCount++,l(i),a[t]=i,f.push(i)),i},restore:function(){c={},u={};for(var t=0;t"+e+"?"+a+".constant["+e+"]:0;"}).join(""),"}}else{","if(",o,"(",a,".buffer)){",u,"=",s,".createStream(",34962,",",a,".buffer);","}else{",u,"=",s,".getBuffer(",a,".buffer);","}",h,'="type" in ',a,"?",i.glTypes,"[",a,".type]:",u,".dtype;",l.normalized,"=!!",a,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l})}),o}function A(t,e,r,n,a){var o=_(t),s=function(t,e,r){function n(t){if(t in a){var r=a[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return"width"in r?n=0|r.width:t=!1,"height"in r?o=0|r.height:t=!1,new I(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var a=t.shared.context,i=n;"width"in r||(i=e.def(a,".","framebufferWidth","-",s));var c=o;return"height"in r||(c=e.def(a,".","framebufferHeight","-",l)),[s,l,i,c]})}if(t in i){var c=i[t];return t=F(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,a=e.def(r,".x|0"),i=e.def(r,".y|0");return[a,i,e.def('"width" in ',r,"?",r,".width|0:","(",n,".","framebufferWidth","-",a,")"),r=e.def('"height" in ',r,"?",r,".height|0:","(",n,".","framebufferHeight","-",i,")")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new I(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,".","framebufferWidth"),e.def(r,".","framebufferHeight")]}):null}var a=t.static,i=t.dynamic;if(t=n("viewport")){var o=t;t=new I(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,".viewportWidth",r[2]),e.set(n,".viewportHeight",r[3]),r})}return{viewport:t,scissor_box:n("scissor.box")}}(t,o),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,a={};return nt.forEach(function(t){function e(e,i){if(t in r){var s=e(r[t]);a[o]=R(function(){return s})}else if(t in n){var l=n[t];a[o]=F(l,function(t,e){return i(t,e,t.invoke(e,l))})}}var o=m(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return e(function(t){return t},function(t,e,r){return r});case"depth.func":return e(function(t){return kt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,"[",r,"]")});case"depth.range":return e(function(t){return t},function(t,e,r){return[e.def("+",r,"[0]"),e=e.def("+",r,"[1]")]});case"blend.func":return e(function(t){return[wt["srcRGB"in t?t.srcRGB:t.src],wt["dstRGB"in t?t.dstRGB:t.dst],wt["srcAlpha"in t?t.srcAlpha:t.src],wt["dstAlpha"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('"',t,n,'" in ',r,"?",r,".",t,n,":",r,".",t)}t=t.constants.blendFuncs;var a=n("src","RGB"),i=n("dst","RGB"),o=(a=e.def(t,"[",a,"]"),e.def(t,"[",n("src","Alpha"),"]"));return[a,i=e.def(t,"[",i,"]"),o,t=e.def(t,"[",n("dst","Alpha"),"]")]});case"blend.equation":return e(function(t){return"string"==typeof t?[J[t],J[t]]:"object"==typeof t?[J[t.rgb],J[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,a=e.def(),i=e.def();return(t=t.cond("typeof ",r,'==="string"')).then(a,"=",i,"=",n,"[",r,"];"),t.else(a,"=",n,"[",r,".rgb];",i,"=",n,"[",r,".alpha];"),e(t),[a,i]});case"blend.color":return e(function(t){return i(4,function(e){return+t[e]})},function(t,e,r){return i(4,function(t){return e.def("+",r,"[",t,"]")})});case"stencil.mask":return e(function(t){return 0|t},function(t,e,r){return e.def(r,"|0")});case"stencil.func":return e(function(t){return[kt[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]},function(t,e,r){return[t=e.def('"cmp" in ',r,"?",t.constants.compareFuncs,"[",r,".cmp]",":",7680),e.def(r,".ref|0"),e=e.def('"mask" in ',r,"?",r,".mask|0:-1")]});case"stencil.opFront":case"stencil.opBack":return e(function(e){return["stencil.opBack"===t?1029:1028,Tt[e.fail||"keep"],Tt[e.zfail||"keep"],Tt[e.zpass||"keep"]]},function(e,r,n){function a(t){return r.def('"',t,'" in ',n,"?",i,"[",n,".",t,"]:",7680)}var i=e.constants.stencilOps;return["stencil.opBack"===t?1029:1028,a("fail"),a("zfail"),a("zpass")]});case"polygonOffset.offset":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,".factor|0"),e=e.def(r,".units|0")]});case"cull.face":return e(function(t){var e=0;return"front"===t?e=1028:"back"===t&&(e=1029),e},function(t,e,r){return e.def(r,'==="front"?',1028,":",1029)});case"lineWidth":return e(function(t){return t},function(t,e,r){return r});case"frontFace":return e(function(t){return At[t]},function(t,e,r){return e.def(r+'==="cw"?2304:2305')});case"colorMask":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return i(4,function(t){return"!!"+r+"["+t+"]"})});case"sample.coverage":return e(function(t){return["value"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('"value" in ',r,"?+",r,".value:1"),e=e.def("!!",r,".invert")]})}}),a}(t),u=w(t),h=s.viewport;return h&&(c.viewport=h),(s=s[h=m("scissor.box")])&&(c[h]=s),(o={framebuffer:o,draw:l,shader:u,state:c,dirty:s=0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,v,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,v,m,g+"<<(("+m+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,v]+");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,h=c.draw,f=n.draw,p=function(){var a=f.elements,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,".","elements"),a&&i("if("+a+")"+u+".bindBuffer(34963,"+a+".buffer.buffer);"),a}(),d=a("primitive"),g=a("offset"),v=function(){var a=f.count,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,".","count"),a}();if("number"==typeof v){if(0===v)return}else r("if(",v,"){"),r.exit("}");Q&&(s=a("instances"),l=t.instancing);var m=p+".type",y=f.elements&&D(f.elements);Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),i(),r("}else if(",s,"<0){"),o(),r("}")):i():o()}function q(t,e,r,n,a){return a=(e=b()).proc("body",a),Q&&(e.instancing=a.def(e.shared.extensions,".angle_instanced_arrays")),t(e,a,r,n),e.compile().body}function H(t,e,r,n){C(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function a(){return!0}t.batchId="a1",C(t,e),N(t,e,r,n.attributes,a),j(t,e,r,n.uniforms,a),V(t,e,e,r)}function Y(t,e,r,n){function a(t){return t.contextDep&&o||t.propDep}function i(t){return!a(t)}C(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&M(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),L(t,u,r.state,a),r.profile&&a(r.profile)&&B(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,i),N(t,u,r,n.attributes,a),j(t,c,r,n.uniforms,i),j(t,u,r,n.uniforms,a),V(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link(function(e){return q(G,t,r,e,2)}),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function W(t,r){function n(e){var n=r.shader[e];n&&a.set(i.shader,"."+e,n.append(t,a))}var a=t.proc("scope",3);t.batchId="a2";var i=t.shared,o=i.current;M(t,a,r.context),r.framebuffer&&r.framebuffer.append(t,a),z(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,a);v(n)?n.forEach(function(r,n){a.set(t.next[e],"["+n+"]",r)}):a.set(i.next,"."+e,n)}),B(t,a,r,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(e){var n=r.draw[e];n&&a.set(i.draw,"."+e,""+n.append(t,a))}),Object.keys(r.uniforms).forEach(function(n){a.set(i.uniforms,"["+e.id(n)+"]",r.uniforms[n].append(t,a))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,a),i=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){a.set(i,"."+t,n[t])})}),n("vert"),n("frag"),0=--this.refCount&&o(this)},a.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,i=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(i=e.shape)[0],i=0|i[1]):("radius"in e&&(n=i=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(i=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,i="number"==typeof r?0|r:n):e||(n=i=1),n!==c.width||i!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=i,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,i),a.profile&&(c.stats.size=vt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new i(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,i=0|r||n;return n===c.width&&i===c.height?o:(o.width=c.width=n,o.height=c.height=i,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,i),a.profile&&(c.stats.size=vt[c.format]*c.width*c.height),o)},o._reglType="renderbuffer",o._renderbuffer=c,a.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){X(u).forEach(o)},restore:function(){X(u).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)}}},yt=[];yt[6408]=4,yt[6407]=3;var xt=[];xt[5121]=1,xt[5126]=4,xt[36193]=2;var bt=["x","y","z","w"],_t="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),wt={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},kt={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},Tt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},At={cw:2304,ccw:2305},Mt=new I(!1,!1,!1,function(){});return function(t){function e(){if(0===Z.length)w&&w.update(),$=null;else{$=q.next(e),h();for(var t=Z.length-1;0<=t;--t){var r=Z[t];r&&r(P,null,0)}v.flush(),w&&w.update()}}function r(){!$&&0=Z.length&&n()}}}}function u(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=v.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=v.drawingBufferHeight}function h(){P.tick+=1,P.time=g(),u(),G.procs.poll()}function f(){u(),G.procs.refresh(),w&&w.update()}function g(){return(H()-k)/1e3}if(!(t=a(t)))return null;var v=t.gl,m=v.getContextAttributes();v.isContextLost();var y=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={},a=0;ae;++e)tt(j({framebuffer:t.framebuffer.faces[e]},t),l);else tt(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return I.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:m,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=J;break;case"restore":r=K;break;case"destroy":r=Q}return r.push(e),{cancel:function(){for(var t=0;t=r)return a.substr(0,r);for(;r>a.length&&e>1;)1&e&&(a+=t),e>>=1,t+=t;return a=(a+=t).substr(0,r)}},{}],502:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],503:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,a=e-2;a>=0;--a){var i=r,o=t[a],s=(r=i+o)-i,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,a=n;a>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function u(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",c(function(t){for(var e=new Array(t),r=0;r>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return u(e,t)}function h(t){if(2===t.length)return[["diff(",u(t[0][0],t[1][1]),",",u(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r0&&r.push(","),r.push("[");for(var o=0;o0&&r.push(","),o===a?r.push("+b[",i,"]"):r.push("+A[",i,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r0){if(i<=0)return o;n=a+i}else{if(!(a<0))return o;if(i>=0)return o;n=-(a+i)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var a=t[0]-n[0],i=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],h=e[2]-n[2],f=r[2]-n[2],d=i*c,g=o*l,v=o*s,m=a*c,y=a*l,x=i*s,b=u*(d-g)+h*(v-m)+f*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(v)+Math.abs(m))*Math.abs(h)+(Math.abs(y)+Math.abs(x))*Math.abs(f));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(h(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var a=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)a.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");a.push("}var s=new Array(arguments.length);for(var i=0;i0&&o>0||i<0&&o<0)return!1;var s=n(r,t,e),l=n(a,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===i&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var a=0;a<2;++a){var i=t[a],o=e[a],s=Math.min(i,o),l=Math.max(i,o),c=r[a],u=n[a],h=Math.min(c,u),f=Math.max(c,u);if(f=n?(a=h,(l+=1)=n?(a=h,(l+=1)0?1:0}},{}],515:[function(t,e,r){"use strict";e.exports=function(t){return a(n(t))};var n=t("boundary-cells"),a=t("reduce-simplicial-complex")},{"boundary-cells":96,"reduce-simplicial-complex":490}],516:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,"undefined"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n>1,v=E[2*m+1];","if(v===b){return m}","if(b0&&l.push(","),l.push("[");for(var n=0;n0&&l.push(","),l.push("B(C,E,c[",a[0],"],c[",a[1],"])")}l.push("]")}l.push(");")}}for(var i=t+1;i>1;--i){i>1,s=i(t[o],e);s<=0?(0===s&&(a=o),r=o+1):s>0&&(n=o-1)}return a}function u(t,e){for(var r=new Array(t.length),a=0,o=r.length;a=t.length||0!==i(t[v],s)););}return r}function h(t,e){if(e<0)return[];for(var r=[],a=(1<>>u&1&&c.push(a[u]);e.push(c)}return s(e)},r.skeleton=h,r.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=m(t);;){var r=e,n=2*t+1,a=2*(t+1),i=t;if(n0;){var r=y(t);if(r>=0){var n=m(r);if(e0){var t=T[0];return v(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=T[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(t){if(!u[t]){u[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],g(e)),A[r]>=0&&w(A[r],g(r))}}for(var T=[],A=new Array(i),h=0;h>1;h>=0;--h)x(h);for(;;){var E=_();if(E<0||c[E]>r)break;k(E)}for(var L=[],h=0;h=0&&r>=0&&e!==r){var n=A[e],a=A[r];n!==a&&P.push([n,a])}}),a.unique(a.normalize(P)),{positions:L,edges:P}};var n=t("robust-orientation"),a=t("simplicial-complex")},{"robust-orientation":508,"simplicial-complex":520}],523:[function(t,e,r){"use strict";e.exports=function(t,e){var r,i,o,s;if(e[0][0]e[1][0]))return a(e,t);r=e[1],i=e[0]}if(t[0][0]t[1][0]))return-a(t,e);o=t[1],s=t[0]}var l=n(r,i,s),c=n(r,i,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,i),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return i[0]-s[0]};var n=t("robust-orientation");function a(t,e){var r,a,i,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]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return lu?s-u:l-u}r=e[1],a=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function h(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=c(this.slabs[e],t),a=-1;if(r&&(a=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,a=u.value):(a=u.value,s=u.key))}var h=this.horizontal[e];if(h.length>0){var f=n.ge(h,t[1],l);if(f=h.length)return a;p=h[f]}}if(p.start)if(s){var d=i(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(a=p.index)}else a=p.index;else p.y!==t[1]&&(a=p.index)}}}return a}},{"./lib/order-segments":523,"binary-search-bounds":92,"functional-red-black-tree":232,"robust-orientation":508}],525:[function(t,e,r){"use strict";var n=t("robust-dot-product"),a=t("robust-sum");function i(t,e){var r=a(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var a=-e/(n-e);a<0?a=0:a>1&&(a=1);for(var i=1-a,o=t.length,s=new Array(o),l=0;l0||a>0&&u<0){var h=o(s,u,l,a);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),a=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(a,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(a,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":505,"robust-sum":513}],526:[function(t,e,r){!function(){"use strict";var t={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 e(r){return function(r,n){var a,i,o,s,l,c,u,h,f,p=1,d=r.length,g="";for(i=0;i=0),s.type){case"b":a=parseInt(a,10).toString(2);break;case"c":a=String.fromCharCode(parseInt(a,10));break;case"d":case"i":a=parseInt(a,10);break;case"j":a=JSON.stringify(a,null,s.width?parseInt(s.width):0);break;case"e":a=s.precision?parseFloat(a).toExponential(s.precision):parseFloat(a).toExponential();break;case"f":a=s.precision?parseFloat(a).toFixed(s.precision):parseFloat(a);break;case"g":a=s.precision?String(Number(a.toPrecision(s.precision))):parseFloat(a);break;case"o":a=(parseInt(a,10)>>>0).toString(8);break;case"s":a=String(a),a=s.precision?a.substring(0,s.precision):a;break;case"t":a=String(!!a),a=s.precision?a.substring(0,s.precision):a;break;case"T":a=Object.prototype.toString.call(a).slice(8,-1).toLowerCase(),a=s.precision?a.substring(0,s.precision):a;break;case"u":a=parseInt(a,10)>>>0;break;case"v":a=a.valueOf(),a=s.precision?a.substring(0,s.precision):a;break;case"x":a=(parseInt(a,10)>>>0).toString(16);break;case"X":a=(parseInt(a,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?g+=a:(!t.number.test(s.type)||h&&!s.sign?f="":(f=h?"+":"-",a=a.toString().replace(t.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+a).length,l=s.width&&u>0?c.repeat(u):"",g+=s.align?f+a+l:"0"===c?f+l+a:l+f+a)}return g}(function(e){if(a[e])return a[e];var r,n=e,i=[],o=0;for(;n;){if(null!==(r=t.text.exec(n)))i.push(r[0]);else if(null!==(r=t.modulo.exec(n)))i.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return a[e]=i}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var a=Object.create(null);"undefined"!=typeof r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],527:[function(t,e,r){"use strict";var n=t("parenthesis");e.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=["[]","()","{}","<>",'""',"''","``","\u201c\u201d","\xab\xbb"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map(function(t){return 1===t.length&&(t+=t),t}));var a=n.parse(t,{flat:!0,brackets:r.ignore}),i=a[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=c[c.length-1];var p=t[e];if(i[e]=0&&s[e].push(o[g])}i[e]=d}else{if(n[e]===r[e]){for(var v=[],m=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(a[x]=!1,v.push(x),m.push(s[x]),y+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(v);for(var b=new Array(y),d=0;d c)|0 },"),"generic"===e&&i.push("getters:[0],");for(var s=[],l=[],c=0;c>>7){");for(var c=0;c<1<<(1<128&&c%128==0){h.length>0&&f.push("}}");var p="vExtra"+h.length;i.push("case ",c>>>7,":",p,"(m&0x7f,",l.join(),");break;"),f=["function ",p,"(m,",l.join(),"){switch(m){"],h.push(f)}f.push("case ",127&c,":");for(var d=new Array(r),g=new Array(r),v=new Array(r),m=new Array(r),y=0,x=0;xx)&&!(c&1<<_)!=!(c&1<0&&(A="+"+v[b]+"*c");var M=d[b].length/y*.5,S=.5+m[b]/y*.5;T.push("d"+b+"-"+S+"-"+M+"*("+d[b].join("+")+A+")/("+g[b].join("+")+")")}f.push("a.push([",T.join(),"]);","break;")}i.push("}},"),h.length>0&&f.push("}}");for(var E=[],c=0;c<1<1&&(i=1),i<-1&&(i=-1),a*Math.acos(i)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,h=t.ry,f=t.xAxisRotation,p=void 0===f?0:f,d=t.largeArcFlag,g=void 0===d?0:d,v=t.sweepFlag,m=void 0===v?0:v,y=[];if(0===u||0===h)return[];var x=Math.sin(p*a/360),b=Math.cos(p*a/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),h=Math.abs(h);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(h,2);k>1&&(u*=Math.sqrt(k),h*=Math.sqrt(k));var T=function(t,e,r,n,i,o,l,c,u,h,f,p){var d=Math.pow(i,2),g=Math.pow(o,2),v=Math.pow(f,2),m=Math.pow(p,2),y=d*g-d*m-g*v;y<0&&(y=0),y/=d*m+g*v;var x=(y=Math.sqrt(y)*(l===c?-1:1))*i/o*p,b=y*-o/i*f,_=h*x-u*b+(t+r)/2,w=u*x+h*b+(e+n)/2,k=(f-x)/i,T=(p-b)/o,A=(-f-x)/i,M=(-p-b)/o,S=s(1,0,k,T),E=s(k,T,A,M);return 0===c&&E>0&&(E-=a),1===c&&E<0&&(E+=a),[_,w,S,E]}(e,r,l,c,u,h,g,m,x,b,_,w),A=n(T,4),M=A[0],S=A[1],E=A[2],L=A[3],C=Math.abs(L)/(a/4);Math.abs(1-C)<1e-7&&(C=1);var P=Math.max(Math.ceil(C),1);L/=P;for(var O=0;Oe[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":62,assert:69,"is-svg-path":425,"normalize-svg-path":532,"parse-svg-path":461}],532:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,h=null,f=0,p=0,d=0,g=t.length;d4?(o=v[v.length-4],s=v[v.length-3]):(o=f,s=p),r.push(v)}return r};var n=t("svg-arc-to-cubic-bezier");function a(t,e,r,n){return["C",t,e,r,n,r,n]}function i(t,e,r,n,a,i){return["C",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}},{"svg-arc-to-cubic-bezier":530}],533:[function(t,e,r){"use strict";var n,a=t("svg-path-bounds"),i=t("parse-svg-path"),o=t("draw-svg-path"),s=t("is-svg-path"),l=t("bitmap-sdf"),c=document.createElement("canvas"),u=c.getContext("2d");e.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");e||(e={});var r,h;e.shape?(r=e.shape[0],h=e.shape[1]):(r=c.width=e.w||e.width||200,h=c.height=e.h||e.height||200);var f=Math.min(r,h),p=e.stroke||0,d=e.viewbox||e.viewBox||a(t),g=[r/(d[2]-d[0]),h/(d[3]-d[1])],v=Math.min(g[0]||0,g[1]||0)/2;u.fillStyle="black",u.fillRect(0,0,r,h),u.fillStyle="white",p&&("number"!=typeof p&&(p=1),u.strokeStyle=p>0?"white":"black",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*h),u.scale(v,v),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 m=new Path2D(t);u.fill(m),p&&u.stroke(m)}else{var y=i(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*f})}},{"bitmap-sdf":94,"draw-svg-path":169,"is-svg-path":425,"parse-svg-path":461,"svg-path-bounds":531}],534:[function(t,e,r){(function(r){"use strict";e.exports=function t(e,r,a){var a=a||{};var o=i[e];o||(o=i[e]={" ":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),a=0,i=0,o=0;o0&&(h+=.02);for(var p=new Float32Array(u),d=0,g=-.5*h,f=0;f1&&(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=C(t,360),e=C(e,100),r=C(r,100),0===e)n=a=i=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),a=o(l,s,t),i=o(l,s,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(e.h,l,u),h=!0,f="hsl"),e.hasOwnProperty("a")&&(i=e.a));var p,d,g;return i=L(i),{ok:h,format:e.format||f,r:o(255,s(a.r,0)),g:o(255,s(a.g,0)),b:o(255,s(a.b,0)),a:i}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=i(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=u.ok,this._tc_id=a++}function u(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),c=(i+l)/2;if(i==l)n=a=0;else{var u=i-l;switch(a=c>.5?u/(2-i-l):u/(i+l),i){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(c(n));return i}function M(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,a=r.s,i=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:a,v:i})),i=(i+s)%1;return o}c.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 e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=L(t),this._roundA=i(100*this._a)/100,this},toHsv:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=h(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return f(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,a){var o=[z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16)),z(D(n))];if(a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(100*C(this._r,255))+"%",g:i(100*C(this._g,255))+"%",b:i(100*C(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+i(100*C(this._r,255))+"%, "+i(100*C(this._g,255))+"%, "+i(100*C(this._b,255))+"%)":"rgba("+i(100*C(this._r,255))+"%, "+i(100*C(this._g,255))+"%, "+i(100*C(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var a=c(t);r="#"+p(a._r,a._g,a._b,a._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 c(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(m,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(v,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(T,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},c.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:I(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),a=c(e).toRgb(),i=r/100;return c({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},c.readability=function(e,r){var n=c(e),a=c(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,a,i=c.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7}return a},c.mostReadable=function(t,e,r){var n,a,i,o,s=null,l=0;a=(r=r||{}).includeFallbackColors,i=r.level,o=r.size;for(var u=0;ul&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:i,size:o})||!a?s:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var S=c.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"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function L(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function P(t){return o(1,s(0,t))}function O(t){return parseInt(t,16)}function z(t){return 1==t.length?"0"+t:""+t}function I(t){return t<=1&&(t=100*t+"%"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return O(t)/255}var F,B,N,j=(B="[\\s|\\(]+("+(F="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",N="[\\s|\\(]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",{CSS_UNIT:new RegExp(F),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+N),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 V(t){return!!j.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],536:[function(t,e,r){"use strict";e.exports=a,e.exports.float32=e.exports.float=a,e.exports.fract32=e.exports.fract=function(t){if(t.length){for(var e=a(t),r=0,n=e.length;rh&&(h=l[0]),l[1]f&&(f=l[1])}function a(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(a);break;case"Point":n(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(n)}}if(!e){var i,o,s=r(t),l=new Array(2),c=1/0,u=c,h=-c,f=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++eh&&(h=l[0]),l[1]f&&(f=l[1])}),t.objects)a(t.objects[o]);e=t.bbox=[c,u,h,f]}return e},a=function(t,e){for(var r,n=t.length,a=n-e;a<--n;)r=t[a],t[a++]=t[n],t[n]=r};function i(t,e){var r=e.id,n=e.bbox,a=null==e.properties?{}:e.properties,i=o(t,e);return null==r&&null==n?{type:"Feature",properties:a,geometry:i}:null==n?{type:"Feature",id:r,properties:a,geometry:i}:{type:"Feature",id:r,bbox:n,properties:a,geometry:i}}function o(t,e){var n=r(t),i=t.arcs;function o(t,e){e.length&&e.pop();for(var r=i[t<0?~t:t],o=0,s=r.length;o1)n=function(t,e,r){var n,a=[],i=[];function o(t){var e=t<0?~t:t;(i[e]||(i[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":l(e.arcs);break;case"MultiPolygon":e.arcs.forEach(l)}}(e),i.forEach(null==r?function(t){a.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&a.push(t[0].i)}),a}(0,e,r);else for(a=0,n=new Array(i=t.arcs.length);a1)for(var i,o,c=1,u=l(a[0]);cu&&(o=a[0],a[0]=a[c],a[c]=o,u=i);return a})}}var u=function(t,e){for(var r=0,n=t.length;r>>1;t[a]=2))throw new Error("n must be \u22652");if(t.transform)throw new Error("already quantized");var r,a=n(t),i=a[0],o=(a[2]-i)/(e-1)||1,s=a[1],l=(a[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-i)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(u);break;case"Point":c(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,a=1,c=1,u=t.length,h=t[0],f=h[0]=Math.round((h[0]-i)/o),p=h[1]=Math.round((h[1]-s)/l);aMath.max(r,n)?a[2]=1:r>Math.max(e,n)?a[0]=1:a[1]=1;for(var i=0,o=0,l=0;l<3;++l)i+=t[l]*t[l],o+=a[l]*t[l];for(l=0;l<3;++l)a[l]-=o/i*t[l];return s(a,a),a}function f(t,e,r,a,i,o,s,l){this.center=n(r),this.up=n(a),this.right=n(i),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 c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.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,a=0,i=0;i<3;++i)a+=e[i]*r[i],n+=e[i]*e[i];var l=Math.sqrt(n),u=0;for(i=0;i<3;++i)r[i]-=e[i]*a/n,u+=r[i]*r[i],e[i]/=l;var h=Math.sqrt(u);for(i=0;i<3;++i)r[i]/=h;var f=this.computedToward;o(f,e,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],v=Math.cos(d),m=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=v*y,w=m*y,k=x,T=-v*x,A=-m*x,M=y,S=this.computedEye,E=this.computedMatrix;for(i=0;i<3;++i){var L=_*r[i]+w*f[i]+k*e[i];E[4*i+1]=T*r[i]+A*f[i]+M*e[i],E[4*i+2]=L,E[4*i+3]=0}var C=E[1],P=E[5],O=E[9],z=E[2],I=E[6],D=E[10],R=P*D-O*I,F=O*z-C*D,B=C*I-P*z,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(i=0;i<3;++i)S[i]=b[i]+E[2+4*i]*p;for(i=0;i<3;++i){u=0;for(var j=0;j<3;++j)u+=E[i+4*j]*S[j];E[12+i]=-u}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 a=this.computedMatrix;d[0]=a[2],d[1]=a[6],d[2]=a[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)a[4*c]=o[c],a[4*c+1]=s[c],a[4*c+2]=l[c];i(a,a,n,d);for(c=0;c<3;++c)o[c]=a[4*c],s[c]=a[4*c+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 a=this.computedMatrix,i=(Math.exp(this.computedRadius[0]),a[1]),o=a[5],s=a[9],l=c(i,o,s);i/=l,o/=l,s/=l;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=c(u-=i*p,h-=o*p,f-=s*p),g=(u/=d)*e+i*r,v=(h/=d)*e+o*r,m=(f/=d)*e+s*r;this.center.move(t,g,v,m);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},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 i=1;"number"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var o=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[i],l=e[i+4],h=e[i+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),g=Math.max(f,p,d);f===g?(s=s<0?-1:1,l=h=0):d===g?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var v=c(s,l,h);s/=v,l/=v,h/=v}var m,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*h,k=c(x-=s*w,b-=l*w,_-=h*w),T=l*(_/=k)-h*(b/=k),A=h*(x/=k)-s*_,M=s*b-l*x,S=c(T,A,M);if(T/=S,A/=S,M/=S,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,s,l,h),this.right.jump(t,x,b,_),2===i){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,O=E*T+L*A+C*M;m=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(O,P)}else{var z=e[2],I=e[6],D=e[10],R=z*s+I*l+D*h,F=z*x+I*b+D*_,B=z*T+I*A+D*M;m=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,m),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;a(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,Y=U[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*W,G-j*W,Y-V*W)},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 a=(n=n||this.computedUp)[0],i=n[1],o=n[2],s=c(a,i,o);if(!(s<1e-6)){a/=s,i/=s,o/=s;var l=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,g=d[0],v=d[1],m=d[2],y=a*g+i*v+o*m,x=c(g-=y*a,v-=y*i,m-=y*o);if(!(x<.01&&(x=c(g=i*f-o*h,v=o*l-a*f,m=a*h-i*l))<1e-6)){g/=x,v/=x,m/=x,this.up.set(t,a,i,o),this.right.set(t,g,v,m),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=i*m-o*v,_=o*g-a*m,w=a*v-i*g,k=c(b,_,w),T=a*l+i*h+o*f,A=g*l+v*h+m*f,M=(b/=k)*l+(_/=k)*h+(w/=k)*f,S=Math.asin(u(T)),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),z=Math.abs(C-E),I=Math.abs(C-2*Math.PI-E);O0?r.pop():new ArrayBuffer(t)}function f(t){return new Uint8Array(h(t),0,t)}function p(t){return new Uint16Array(h(2*t),0,t)}function d(t){return new Uint32Array(h(4*t),0,t)}function g(t){return new Int8Array(h(t),0,t)}function v(t){return new Int16Array(h(2*t),0,t)}function m(t){return new Int32Array(h(4*t),0,t)}function y(t){return new Float32Array(h(4*t),0,t)}function x(t){return new Float64Array(h(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(h(t),0,t):f(t)}function _(t){return new DataView(h(t),0,t)}function w(t){t=a.nextPow2(t);var e=a.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[a.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|a.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[a.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return h(t);switch(e){case"uint8":return f(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return g(t);case"int16":return v(t);case"int32":return m(t);case"float":case"float32":return y(t);case"double":case"float64":return x(t);case"uint8_clamped":return b(t);case"buffer":return w(t);case"data":case"dataview":return _(t);default:return null}return null},r.mallocArrayBuffer=h,r.mallocUint8=f,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=v,r.mallocInt32=m,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer)},{"bit-twiddle":93,buffer:106,dup:171}],544:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(i=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));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,i+"px",n.font].filter(function(t){return t}).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,i,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(k=0;k-1?parseInt(t[1+a]):0,l=i>-1?parseInt(r[1+i]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*L*(l-s)}if(!0===o.superscripts){var c=t.indexOf(d),h=r.indexOf(d),p=c>-1?parseInt(t[1+c]):0,g=h>-1?parseInt(r[1+h]):0;p!==g&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,g-p),n=n.replace("?px ",F())),A-=.25*L*(g-p)}if(!0===o.bolds){var v=t.indexOf(u)>-1,y=r.indexOf(u)>-1;!v&&y&&(n=x?n.replace("italic ","italic bold "):"bold "+n),v&&!y&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(f)>-1,b=r.indexOf(f)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w",i="",o=a.length,s=i.length,l=e[0]===d||e[0]===m,c=0,u=-s;c>-1&&-1!==(c=r.indexOf(a,c))&&-1!==(u=r.indexOf(i,c+o))&&!(u<=c);){for(var h=c;h=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(e[0]);-1===f?n[h]+=e:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,g=r.substr(p,u-p).indexOf(a);c=-1!==g?g:u+s}return n}function b(t,e){var r=n(t,128);return e?i(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var a=b(t,n),i=function(t,e,r){for(var n=e.textAlign||"start",a=e.textBaseline||"alphabetic",i=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[i]:a})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,a){var i,o=y(n);return o?o[r]=a:(i=t.indexOf(n))>=0?e[i]=a:(i=t.length,e[i]=a,t[i]=n),this})},delete___:{value:x(function(n){var a,i,o=y(n);return o?r in o&&delete o[r]:!((a=t.indexOf(n))<0||(i=t.length-1,t[a]=void 0,e[a]=e[i],t[a]=t[i],t.length=i,e.length=i,0))})}})};g.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 g||b();var e,n=new r,a=void 0,i=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(a||(a=new g),a.set(t,e)),this}:function(t,e){if(i)try{n.set(t,e)}catch(r){a||(a=new g),a.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return a?n.has(t)?n.get(t):a.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!a&&a.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return a&&a.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==v)throw new Error("bogus call to permitHostObjects___");i=!0})}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=g)}function v(t){t.permitHostObjects___&&t.permitHostObjects___(v)}function m(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{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."))}}()},{}],551:[function(t,e,r){var n=t("./hidden-store.js");e.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)}}},{"./hidden-store.js":552}],552:[function(t,e,r){e.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}},{}],553:[function(t,e,r){var n=t("./create-store.js");e.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}}}},{"./create-store.js":551}],554:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":234}],555:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),a=t.month(),i=""+this.toChineseMonth(n,a);return e&&i.length<2&&(i="0"+i),this.isIntercalaryMonth(n,a)&&(i+="i"),i},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var a=e[e.length-1];r="i"===a||"I"===a}return this.toMonthIndex(t,n,r)},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}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var a=this.intercalaryMonth(t);if(r&&e!==a||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return a?!r&&e<=a?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 a,o=this._validateYear(t,n.local.invalidyear),s=f[o-f[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(a=i.newDate(l,c,u)).add(4-(a.dayOfWeek()||7),"d");var h=this.toJD(t,e,r)-a.toJD();return 1+Math.floor(h/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=h[t-h[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 a=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(a.year()),e=a.month(),r=a.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,a){var i,o,s;if("object"==typeof t)o=t,i=e||{};else{var l="number"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error("Lunar year outside range 1888-2111");var c="number"==typeof e&&e>=1&&e<=12;if(!c)throw new Error("Lunar month outside range 1 - 12");var u,p="number"==typeof r&&r>=1&&r<=30;if(!p)throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(u=!1,i=n):(u=!!n,i=a||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=h[o.year-h[0]],v=g>>13;d=v?o.month>v?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var m=0;m>9&4095,(x>>5&15)-1,(31&x)+s);return i.year=b.getFullYear(),i.month=1+b.getMonth(),i.day=b.getDate(),i}(t,s,r,o);return i.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=i.fromJD(t),r=function(t,e,r,n){var a,i;if("object"==typeof t)a=t,i=e||{};else{var o="number"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s="number"==typeof e&&e>=1&&e<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l="number"==typeof r&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");a={year:t,month:e,day:r},i=n||{}}var c=f[a.year-f[0]],u=a.year<<9|a.month<<5|a.day;i.year=u>=c?a.year:a.year-1,c=f[i.year-f[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(a.year,a.month-1,a.day);p=Math.round((g-d)/864e5);var v,m=h[i.year-h[0]];for(v=0;v<13;v++){var y=m&1<<12-v?30:29;if(p>13;!x||v=2&&n<=6},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((a.year()-1)/100)+1]||""}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year()+(a.year()<0?1:0),e=a.month(),(r=a.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=i},{"../main":569,"object-assign":455}],558:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.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 a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.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,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.ethiopian=i},{"../main":569,"object-assign":455}],559:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.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)?30: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 a=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(a)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(a)%10-3]}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t<=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+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=i},{"../main":569,"object-assign":455}],560:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.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\u012bs","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 a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),t=t<=0?t+1:t,(r=a.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=i},{"../main":569,"object-assign":455}],561:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.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 a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),r=a.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),a=Math.floor((e-n)/30.6001),i=a-Math.floor(a<14?1:13),o=r-Math.floor(i>2?4716:4715),s=e-n-Math.floor(30.6001*a);return o<=0&&o--,this.newDate(o,i,s)}}),n.calendars.julian=i},{"../main":569,"object-assign":455}],562:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(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}i.prototype=new n.baseCalendar,a(i.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 a=this._validate(t,e,r,n.local.invalidDate).toJD(),i=this._toHaab(a),o=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return a.day()+20*a.month()+360*a.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=i},{"../main":569,"object-assign":455}],563:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar;var o=n.instance("gregorian");a(i.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 a=this._validate(t,e,r,n.local.invalidMonth);(t=a.year())<0&&t++;for(var i=a.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=i},{"../main":569,"object-assign":455}],564:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.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(),"undefined"==typeof 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),"undefined"==typeof 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 a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=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+=i.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],i.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),a=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var o=9,s=this.NEPALI_CALENDAR_DATA[i][0],l=this.NEPALI_CALENDAR_DATA[i][o]-s+1;a>l;)++o>12&&(o=1,i++),l+=this.NEPALI_CALENDAR_DATA[i][o];var c=this.NEPALI_CALENDAR_DATA[i][o]-(l-a);return this.newDate(i,o,c)},_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 a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t-(t>=0?474:473),s=474+o(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(i/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),a=2820;if(1029982!==n){var i=Math.floor(n/366),s=o(n,366);a=Math.floor((2134*i+2816*s+2815)/1028522)+i+1}var l=a+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),h=t-this.toJD(l,u,1)+1;return this.newDate(l,u,h)}}),n.calendars.persian=i,n.calendars.jalali=i},{"../main":569,"object-assign":455}],566:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(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);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.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 a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.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},{"../main":569,"object-assign":455}],567:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(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);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.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 a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.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},{"../main":569,"object-assign":455}],568:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.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\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","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,a=0,i=0;ir)return o[a]-o[a-1];a++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate),i=12*(a.year()-1)+a.month()-15292;return a.day()+o[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var a=r+15292,i=Math.floor((a-1)/12),s=i+1,l=a-12*i,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var a=n.baseCalendar.prototype.isValid.apply(this,arguments);return a&&(a=(t=null!=t.year?t.year:t)>=1276&&t<=1500),a},_validate:function(t,e,r,a){var i=n.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw a.replace(/\{0\}/,this.local.name);return i}}),n.calendars.ummalqura=i;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]},{"../main":569,"object-assign":455}],569:[function(t,e,r){var n=t("object-assign");function a(){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 i(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(c.local.invalidDate||c.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(a.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,a){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,a):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="",a=0;r>0;){var i=r%10;n=(0===i?"":t[i]+e[a])+n,a++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(i.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(c.local.invalidDate||c.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(c.local.differentCalendars||c.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,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.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,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.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,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.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),a=t.calendar().fromJD(n);return this._validateLevel--,[a.year(),a.month(),a.day()]}try{var i=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);a=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(i,o)&&(o=this.newDate(i,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(i)),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o)))):"m"===r&&(!function(t){for(;oe-1+t.minMonth;)i++,o-=e,e=t.monthsInYear(i)}(this),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o))));var s=[i,this.fromMonthOfYear(i,o),a];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 a={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],i=r<0?-1:1;e=this._add(t,r*a[0]+i*a[1],a[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),a="m"===r?e:t.month(),i="d"===r?e:t.day();return"y"!==r&&"m"!==r||(i=Math.min(i,this.daysInMonth(n,a))),t.date(n,a,i)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var a=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=a-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),a=new Date(n.year(),n.month()-1,n.day());return a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0),a.setHours(a.getHours()>12?a.getHours()+2:0),a},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new a;c.cdate=i,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":455}],570:[function(t,e,r){var n=t("object-assign"),a=t("./main");n(a.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"}),a.local=a.regionalOptions[""],n(a.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(a.baseCalendar.prototype,{UNIX_EPOCH:a.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:a.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 a.local.invalidFormat||a.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,i,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,h=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n1}),d=function(t,e,r,n){var a=""+e;if(p(t,n))for(;a.length1},x=function(t,r){var n=y(t,r),i=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+i+"}"),s=e.substring(A).match(o);if(!s)throw(a.local.missingNumberAt||a.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){y("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,i){for(var o=y(t,i)?n:r,s=0;s-1){p=1,d=g;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(t,e,r,n,a){r&&"object"!=typeof r&&(a=n,n=r,r=null),"string"!=typeof n&&(a=n,n="");var i=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return i.parseDate(n,t,a)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||i.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:i.today().add(t,"d"):i.newDate(t)}})},{"./main":569,"object-assign":455}],571:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":147}],572:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":571}],573:[function(t,e,r){"use strict";e.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}]},{}],574:[function(t,e,r){"use strict";var n=t("./arrow_paths"),a=t("../../plots/font_attributes"),i=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;e.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:a({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",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.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",i.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:a({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/font_attributes":790,"./arrow_paths":573}],575:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r=a.getFromId(t,e.xref),n=a.getFromId(t,e.yref);e._extremes={},r&&s(e,r),n&&s(e,n)})}function s(t,e){var r,n=e._id,i=n.charAt(0),o=t[i],s=t["a"+i],l=t[i+"ref"],c=t["a"+i+"ref"],u=t["_"+i+"padplus"],h=t["_"+i+"padminus"],f={x:1,y:-1}[i]*t[i+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+f,g=p-f,v=3*t.startarrowsize*t.arrowwidth||0,m=v+f,y=v-f;if(c===l){var x=a.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=a.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,m),ppadminus:Math.max(h,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else m=s?m+s:m,y=s?y-s:y,r=a.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,m),ppadminus:Math.max(h,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([i,o],t)}},{"../../lib":716,"../../plots/cartesian/axes":764,"./draw":580}],576:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,a,i,o,l,c,u=t._fullLayout.annotations,h=[],f=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),h={},f=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var H=!1,G=["x","y"],Y=0;Y1)&&(tt===$?((ct=et.r2fraction(e["a"+Q]))<0||ct>1)&&(H=!0):H=!0),W=et._offset+et.r2p(e[Q]),J=.5}else"x"===Q?(Z=e[Q],W=b.l+b.w*Z):(Z=1-e[Q],W=b.t+b.h*Z),J=e.showarrow?.5:Z;if(e.showarrow){lt.head=W;var ut=e["a"+Q];K=nt*V(.5,e.xanchor)-at*V(.5,e.yanchor),tt===$?(lt.tail=et._offset+et.r2p(ut),X=K):(lt.tail=W+ut,X=K+ut),lt.text=lt.tail+K;var ht=x["x"===Q?"width":"height"];if("paper"===$&&(lt.head=o.constrain(lt.head,1,ht-1)),"pixel"===tt){var ft=-Math.max(lt.tail-3,lt.text),pt=Math.min(lt.tail+3,lt.text)-ht;ft>0?(lt.tail+=ft,lt.text+=ft):pt>0&&(lt.tail-=pt,lt.text-=pt)}lt.tail+=st,lt.head+=st}else X=K=it*V(J,ot),lt.text=W+K;lt.text+=st,K+=st,X+=st,e["_"+Q+"padplus"]=it/2+X,e["_"+Q+"padminus"]=it/2-X,e["_"+Q+"size"]=it,e["_"+Q+"shift"]=K}if(H)z.remove();else{var dt=0,gt=0;if("left"!==e.align&&(dt=(w-m)*("center"===e.align?.5:1)),"top"!==e.valign&&(gt=(O-y)*("middle"===e.valign?.5:1)),u)n.select("svg").attr({x:R+dt-1,y:R+gt}).call(c.setClipUrl,B?M:null,t);else{var vt=R+gt-d.top,mt=R+dt-d.left;U.call(h.positionText,mt,vt).call(c.setClipUrl,B?M:null,t)}N.select("rect").call(c.setRect,R,R,w,O),F.call(c.setRect,I/2,I/2,D-I,j-I),z.call(c.setTranslate,Math.round(S.x.text-D/2),Math.round(S.y.text-j/2)),C.attr({transform:"rotate("+E+","+S.x.text+","+S.y.text+")"});var yt,xt=function(r,n){L.selectAll(".annotation-arrow-g").remove();var u=S.x.head,h=S.y.head,f=S.x.tail+r,d=S.y.tail+n,m=S.x.text+r,y=S.y.text+n,x=o.rotationXYMatrix(E,m,y),w=o.apply2DTransform(x),M=o.apply2DTransform2(x),P=+F.attr("width"),O=+F.attr("height"),I=m-.5*P,D=I+P,R=y-.5*O,B=R+O,N=[[I,R,I,B],[I,B,D,B],[D,B,D,R],[D,R,I,R]].map(M);if(!N.reduce(function(t,e){return t^!!o.segmentsIntersect(u,h,u+1e6,h+1e6,e[0],e[1],e[2],e[3])},!1)){N.forEach(function(t){var e=o.segmentsIntersect(f,d,u,h,t[0],t[1],t[2],t[3]);e&&(f=e.x,d=e.y)});var j=e.arrowwidth,V=e.arrowcolor,U=e.arrowside,q=L.append("g").style({opacity:l.opacity(V)}).classed("annotation-arrow-g",!0),H=q.append("path").attr("d","M"+f+","+d+"L"+u+","+h).style("stroke-width",j+"px").call(l.stroke,l.rgb(V));if(g(H,U,e),_.annotationPosition&&H.node().parentNode&&!i){var G=u,Y=h;if(e.standoff){var W=Math.sqrt(Math.pow(u-f,2)+Math.pow(h-d,2));G+=e.standoff*(f-u)/W,Y+=e.standoff*(d-h)/W}var X,Z,J=q.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(f-G)+","+(d-Y),transform:"translate("+G+","+Y+")"}).style("stroke-width",j+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:J.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);X=t.x,Z=t.y,s&&s.autorange&&k(s._name+".autorange",!0),v&&v.autorange&&k(v._name+".autorange",!0)},moveFn:function(t,r){var n=w(X,Z),a=n[0]+t,i=n[1]+r;z.call(c.setTranslate,a,i),T("x",s?s.p2r(s.r2p(e.x)+t):e.x+t/b.w),T("y",v?v.p2r(v.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&T("ax",s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&T("ay",v.p2r(v.r2p(e.ay)+r)),q.attr("transform","translate("+t+","+r+")"),C.attr({transform:"rotate("+E+","+a+","+i+")"})},doneFn:function(){a.call("_guiRelayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&xt(0,0),P)p.init({element:z.node(),gd:t,prepFn:function(){yt=C.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?T("ax",s.p2r(s.r2p(e.ax)+t)):T("ax",e.ax+t),e.ayref===e.yref?T("ay",v.p2r(v.r2p(e.ay)+r)):T("ay",e.ay+r),xt(t,r);else{if(i)return;var a,o;if(s)a=s.p2r(s.r2p(e.x)+t);else{var l=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-l/2;a=p.align(c+t/b.w,l,0,1,e.xanchor)}if(v)o=v.p2r(v.r2p(e.y)+r);else{var u=e._ysize/b.h,h=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(h-r/b.h,u,0,1,e.yanchor)}T("x",a),T("y",o),s&&v||(n=p.getCursor(s?.5:a,v?.5:o,e.xanchor,e.yanchor))}C.attr({transform:"translate("+t+","+r+")"+yt}),f(z,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",q(n))},doneFn:function(){f(z),a.call("_guiRelayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,v=e.indexOf("end")>=0,m=h.backoff*p+r.standoff,y=f.backoff*d+r.startstandoff;if("line"===u.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},s={x:+t.attr("x2"),y:+t.attr("y2")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,m&&y&&m+y>Math.sqrt(x*x+b*b))return void P();if(m){if(m*m>x*x+b*b)return void P();var _=m*Math.cos(l),w=m*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void P();var k=y*Math.cos(l),T=y*Math.sin(l);o.x-=k,o.y-=T,t.attr({x1:o.x,y1:o.y})}}else if("path"===u.nodeName){var A=u.getTotalLength(),M="";if(A1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=a(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))}}},{"../../plots/gl3d/project":813,"../annotations/draw":580}],587:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var i=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 i?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}i.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},i.rgb=function(t){return i.tinyRGB(n(t))},i.opacity=function(t){return t?n(t).getAlpha():0},i.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},i.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var a=n(e||l).toRgb(),i=1===a.a?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},o={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},i.contrast=function(t,e,r){var a=n(t);return 1!==a.getAlpha()&&(a=n(i.combine(t,l))),(a.isDark()?e?a.lighten(e):l:r?a.darken(r):s).toString()},i.stroke=function(t,e){var r=n(e);t.style({stroke:i.tinyRGB(r),"stroke-opacity":r.getAlpha()})},i.fill=function(t,e){var r=n(e);t.style({fill:i.tinyRGB(r),"fill-opacity":r.getAlpha()})},i.clean=function(t){if(t&&"object"==typeof t){var e,r,n,a,o=Object.keys(t);for(e=0;e0?n>=l:n<=l));a++)n>u&&n0?n>=l:n<=l));a++)n>r[0]&&n1){var Z=Math.pow(10,Math.floor(Math.log(X)/Math.LN10));Y*=Z*c.roundUp(X/Z,[2,5,10]),(Math.abs(L.start)/L.size+1e-6)%1<2e-6&&(G.tick0=0)}G.dtick=Y}G.domain=[U+N,U+R-N],G.setScale(),t.attr("transform","translate("+Math.round(l.l)+","+Math.round(l.t)+")");var J,K=t.select("."+T.cbtitleunshift).attr("transform","translate(-"+Math.round(l.l)+",-"+Math.round(l.t)+")"),Q=t.select("."+T.cbaxis),$=0;function tt(n,a){var i={propContainer:G,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:o._dfltTitle.colorbar,containerGroup:t.select("."+T.cbtitle)},s="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+s+",."+s+"-math-group").remove(),d.draw(r,n,u(i,a||{}))}return c.syncOrAsync([i.previousPromises,function(){if(-1!==["top","bottom"].indexOf(A)){var t,r=l.l+(e.x+F)*l.w,n=G.title.font.size;t="top"===A?(1-(U+R-N))*l.h+l.t+3+.75*n:(1-(U+N))*l.h+l.t-3-.25*n,tt(G._id+"title",{attributes:{x:r,y:t,"text-anchor":"start"}})}},function(){if(-1!==["top","bottom"].indexOf(A)){var i=t.select("."+T.cbtitle),o=i.select("text"),u=[-e.outlinewidth/2,e.outlinewidth/2],h=i.select(".h"+G._id+"title-math-group").node(),p=15.6;if(o.node()&&(p=parseInt(o.node().style.fontSize,10)*_),h?($=f.bBox(h).height)>p&&(u[1]-=($-p)/2):o.node()&&!o.classed(T.jsPlaceholder)&&($=f.bBox(o.node()).height),$){if($+=5,"top"===A)G.domain[1]-=$/l.h,u[1]*=-1;else{G.domain[0]+=$/l.h;var d=g.lineCount(o);u[1]+=(1-d)*p}i.attr("transform","translate("+u+")"),G.setScale()}}t.selectAll("."+T.cbfills+",."+T.cblines).attr("transform","translate(0,"+Math.round(l.h*(1-G.domain[1]))+")"),Q.attr("transform","translate(0,"+Math.round(-l.t)+")");var m=t.select("."+T.cbfills).selectAll("rect."+T.cbfill).data(P);m.enter().append("rect").classed(T.cbfill,!0).style("stroke","none"),m.exit().remove();var y=M.map(G.c2p).map(Math.round).sort(function(t,e){return t-e});m.each(function(t,i){var o=[0===i?M[0]:(P[i]+P[i-1])/2,i===P.length-1?M[1]:(P[i]+P[i+1])/2].map(G.c2p).map(Math.round);o[1]=c.constrain(o[1]+(o[1]>o[0])?1:-1,y[0],y[1]);var s=n.select(this).attr({x:j,width:Math.max(z,2),y:n.min(o),height:Math.max(n.max(o)-n.min(o),2)});if(e._fillgradient)f.gradient(s,r,e._id,"vertical",e._fillgradient,"fill");else{var l=E(t).replace("e-","");s.attr("fill",a(l).toHexString())}});var x=t.select("."+T.cblines).selectAll("path."+T.cbline).data(v.color&&v.width?O:[]);x.enter().append("path").classed(T.cbline,!0),x.exit().remove(),x.each(function(t){n.select(this).attr("d","M"+j+","+(Math.round(G.c2p(t))+v.width/2%1)+"h"+z).call(f.lineGroupStyle,v.width,S(t),v.dash)}),Q.selectAll("g."+G._id+"tick,path").remove();var b=j+z+(e.outlinewidth||0)/2-("outside"===e.ticks?1:0),w=s.calcTicks(G),k=s.makeTransFn(G),L=s.getTickSigns(G)[2];return s.drawTicks(r,G,{vals:"inside"===G.ticks?s.clipEnds(G,w):w,layer:Q,path:s.makeTickPath(G,b,L),transFn:k}),s.drawLabels(r,G,{vals:w,layer:Q,transFn:k,labelFns:s.makeLabelFns(G,b)})},function(){if(-1===["top","bottom"].indexOf(A)){var t=G.title.font.size,e=G._offset+G._length/2,a=l.l+(G.position||0)*l.w+("right"===G.side?10+t*(G.showticklabels?1:.5):-10-t*(G.showticklabels?.5:0));tt("h"+G._id+"title",{avoid:{selection:n.select(r).selectAll("g."+G._id+"tick"),side:A,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:e,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}},i.previousPromises,function(){var n=z+e.outlinewidth/2+f.bBox(Q.node()).width;if((J=K.select("text")).node()&&!J.classed(T.jsPlaceholder)){var a,o=K.select(".h"+G._id+"title-math-group").node();a=o&&-1!==["top","bottom"].indexOf(A)?f.bBox(o).width:f.bBox(K.node()).right-j-l.l,n=Math.max(n,a)}var s=2*e.xpad+n+e.borderwidth+e.outlinewidth/2,c=q-H;t.select("."+T.cbbg).attr({x:j-e.xpad-(e.borderwidth+e.outlinewidth)/2,y:H-B,width:Math.max(s,2),height:Math.max(c+2*B,2)}).call(p.fill,e.bgcolor).call(p.stroke,e.bordercolor).style("stroke-width",e.borderwidth),t.selectAll("."+T.cboutline).attr({x:j,y:H+e.ypad+("top"===A?$:0),width:Math.max(z,2),height:Math.max(c-2*e.ypad-$,2)}).call(p.stroke,e.outlinecolor).style({fill:"none","stroke-width":e.outlinewidth});var u=({center:.5,right:1}[e.xanchor]||0)*s;t.attr("transform","translate("+(l.l-u)+","+l.t+")");var h={},d=w[e.yanchor],g=k[e.yanchor];"pixels"===e.lenmode?(h.y=e.y,h.t=c*d,h.b=c*g):(h.t=h.b=0,h.yt=e.y+e.len*d,h.yb=e.y-e.len*g);var v=w[e.xanchor],m=k[e.xanchor];if("pixels"===e.thicknessmode)h.x=e.x,h.l=s*v,h.r=s*m;else{var y=s-z;h.l=y*v,h.r=y*m,h.xl=e.x-e.thickness*v,h.xr=e.x+e.thickness*m}i.autoMargin(r,e._id,h)}],r)}(r,e,t);v&&v.then&&(t._promises||[]).push(v),t._context.edits.colorbarPosition&&function(t,e,r){var n,a,i,s=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+" translate("+r+","+o+")"),a=l.align(e._xLeftFrac+r/s.w,e._thickFrac,0,1,e.xanchor),i=l.align(e._yBottomFrac-o/s.h,e._lenFrac,0,1,e.yanchor);var c=l.getCursor(a,i,e.xanchor,e.yanchor);h(t,c)},doneFn:function(){if(h(t),void 0!==a&&void 0!==i){var n={};n[e._propPrefix+"x"]=a,n[e._propPrefix+"y"]=i,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)}),e.exit().each(function(e){i.autoMargin(t,e._id)}).remove(),e.order()}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/extend":707,"../../lib/setcursor":736,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_defaults":766,"../../plots/cartesian/layout_attributes":776,"../../plots/cartesian/position_defaults":779,"../../plots/plots":825,"../../registry":845,"../color":591,"../colorscale/helpers":602,"../dragelement":609,"../drawing":612,"../titles":678,"./constants":593,d3:164,tinycolor2:535}],596:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{"../../lib":716}],597:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"colorbar",attributes:t("./attributes"),supplyDefaults:t("./defaults"),draw:t("./draw").draw,hasColorbar:t("./has_colorbar")}},{"./attributes":592,"./defaults":594,"./draw":595,"./has_colorbar":596}],598:[function(t,e,r){"use strict";var n=t("../colorbar/attributes"),a=t("../../lib/regex").counter,i=t("./scales.js").scales;Object.keys(i);function o(t){return"`"+t+"`"}e.exports=function(t,e){t=t||"";var r,s=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),c="showScaleDflt"in e?e.showScaleDflt:"z"===s,u="string"==typeof e.colorscaleDflt?i[e.colorscaleDflt]:null,h=e.editTypeOverride||"",f=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):o(f+(r={z:"z",c:"color"}[s]));var p=s+"auto",d=s+"min",g=s+"max",v=s+"mid",m=(o(f+p),o(f+d),o(f+g),{});m[d]=m[g]=void 0;var y={};y[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:h||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:m},x[d]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:y},x[g]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:y},x[v]={valType:"number",dflt:null,editType:"calc",impliedEdits:m},x.colorscale={valType:"colorscale",editType:"calc",dflt:u,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:c,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:a("coloraxis"),dflt:null,editType:"calc"}),x}},{"../../lib/regex":732,"../colorbar/attributes":592,"./scales.js":606}],599:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("./helpers").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?a.nestedProperty(e,c).get():e,h=i(u),f=!1!==h.auto,p=h.min,d=h.max,g=h.mid,v=function(){return a.aggNums(Math.min,null,l)},m=function(){return a.aggNums(Math.max,null,l)};(void 0===p?p=v():f&&(p=u._colorAx&&n(p)?Math.min(p,v()):v()),void 0===d?d=m():f&&(d=u._colorAx&&n(d)?Math.max(d,m()):m()),f&&void 0!==g&&(d-g>g-p?p=g-(d-g):d-g=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}},{"../../lib":716,"./helpers":602,"fast-isnumeric":227}],600:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./helpers").hasColorscale,i=t("./helpers").extractOpts;e.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,a){var o=a.container?n.nestedProperty(t,a.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=i(o),l=s.auto;(l||void 0===s.min)&&r(o,a.min),(l||void 0===s.max)&&r(o,a.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,a++){var i=t[n];r[a]=[1-i[0],i[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u4/3-s?o:s}},{}],608:[function(t,e,r){"use strict";var n=t("../../lib"),a=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,i){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===i?0:"middle"===i?1:"top"===i?2:n.constrain(Math.floor(3*e),0,2),a[e][t]}},{"../../lib":716}],609:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),a=t("has-hover"),i=t("has-passive-events"),o=t("../../lib").removeElement,s=t("../../plots/cartesian/constants"),l=e.exports={};l.align=t("./align"),l.getCursor=t("./cursor");var c=t("./unhover");function u(){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 h(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,f,p,d,g,v=t.gd,m=1,y=v._context.doubleClickDelay,x=t.element;v._mouseDownTime||(v._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,i?(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)y&&(m=Math.max(m-1,1)),v._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(m,p),!g){var r;try{r=new MouseEvent("click",e)}catch(t){var n=h(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)}v._dragging=!1,v._dragged=!1}else v._dragged=!1}},l.coverSlip=u},{"../../lib":716,"../../plots/cartesian/constants":770,"./align":607,"./cursor":608,"./unhover":610,"has-hover":411,"has-passive-events":412,"mouse-event-offset":437}],610:[function(t,e,r){"use strict";var n=t("../../lib/events"),a=t("../../lib/throttle"),i=t("../../lib/dom").getGraphDiv,o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=i(t))._fullLayout&&a.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,a=t._hoverdata;e||(e={}),e.target&&!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&&a&&t.emit("plotly_unhover",{event:e,points:a}))}},{"../../lib/dom":705,"../../lib/events":706,"../../lib/throttle":741,"../fx/constants":624}],611:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],612:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),c=t("../../lib"),u=t("../../lib/svg_text_utils"),h=t("../../constants/xmlns_namespaces"),f=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,d=t("../../traces/scatter/subtypes"),g=t("../../traces/scatter/make_bubble_size_func"),v=t("../../components/fx/helpers").appendArrayPointValue,m=e.exports={};m.font=function(t,e,r,n){c.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(s.fill,n)},m.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},m.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},m.setRect=function(t,e,r,n,a){t.call(m.setPosition,e,r).call(m.setSize,n,a)},m.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),o=n.c2p(t.y);return!!(a(i)&&a(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",o):e.attr("transform","translate("+i+","+o+")"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var a=n.select(this);m.translatePoint(t,a,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,a,i){e.attr("display",r.isPtWithinRange(t,a)&&n.isPtWithinRange(t,i)?null:"none")},m.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,a=e.yaxis;t.each(function(e){var i=e[0].trace,s=i.xcalendar,l=i.ycalendar,c=o.traceIs(i,"bar-like")?".bartext":".point,.textpoint";t.selectAll(c).each(function(t){m.hideOutsideRangePoint(t,n.select(this),r,a,s,l)})})}},m.crispRound=function(t,e,r){return e&&a(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,a){e.style("fill","none");var i=(((t||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,l=a||i.dash||"";s.stroke(e,n||i.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,a){t.style("fill","none").each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,l=a||i.dash||"";n.select(this).call(s.stroke,r||i.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},m.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},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style("stroke-width",0).each(function(t){var e=n.select(this);t[0].trace&&e.call(s.fill,t[0].trace.fillcolor)})};var y=t("./symbol_defs");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(y).forEach(function(t){var e=y[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+"-open"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+"-dot",e.n+300,t+"-open-dot"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var x=m.symbolNames.length,b="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";function _(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?b:"")}m.symbolNumber=function(t){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=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=x||t>=400?0:Math.floor(Math.max(t,0))};var w={x1:1,x2:0,y1:0,y2:0},k={x1:0,x2:0,y1:1,y2:0},T=n.format("~.1f"),A={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:w},horizontalreversed:{node:"linearGradient",attrs:w,reversed:!0},vertical:{node:"linearGradient",attrs:k},verticalreversed:{node:"linearGradient",attrs:k,reversed:!0}};m.gradient=function(t,e,r,a,o,l){for(var u=o.length,h=A[a],f=new Array(u),p=0;p=100,e.attr("d",_(u,l))}var h,f,p,d=!1;if(t.so)p=o.outlierwidth,f=o.outliercolor,h=i.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,f="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(i.color)&&(h=s.defaultLine,d=!0),h="mc"in t?t.mcc=n.markerScale(t.mc):i.color||"rgba(0,0,0,0)",n.selectedColorFn&&(h=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,h).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:p)+"px");var v=i.gradient,y=t.mgt;if(y?d=!0:y=v&&v.type,Array.isArray(y)&&(y=y[0],A[y]||(y=0)),y&&"none"!==y){var x=t.mgc;x?d=!0:x=v.color;var b=r.uid;d&&(b+="-"+t.i),m.gradient(e,a,b,y,[[0,x],[1,h]],"fill")}else s.fill(e,h);p&&s.stroke(e,f)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,""),e.lineScale=m.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},i=r.marker||{},s=n.marker||{},l=a.opacity,u=i.opacity,h=s.opacity,f=void 0!==u,d=void 0!==h;(c.isArrayOrTypedArray(l)||f||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?f?u:e:d?h:p*e});var g=a.color,v=i.color,m=s.color;(v||m)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?v||e:m||e});var y=a.size,x=i.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.textfont||{},i=r.textfont||{},o=n.textfont||{},l=a.color,c=i.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),a=e.marker||{},i=[];r.selectedOpacityFn&&i.push(function(t,e){t.style("opacity",r.selectedOpacityFn(e))}),r.selectedColorFn&&i.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&i.push(function(t,e){var n=e.mx||a.symbol||0,i=r.selectedSizeFn(e);t.attr("d",_(m.symbolNumber(n),i)),e.mrc2=i}),i.length&&t.each(function(t){for(var e=n.select(this),r=0;r0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var i=m.makeSelectedTextStyleFns(e);a=i.selectedTextColorFn}var o=e.texttemplate,s=r._fullLayout;t.each(function(t){var i=n.select(this),l=o?c.extractOption(t,e,"txt","texttemplate"):c.extractOption(t,e,"tx","text");if(l||0===l){if(o){var h=e._module.formatLabels?e._module.formatLabels(t,e,s):{},f={};v(f,e,t.i);var p=e._meta||{};l=c.texttemplateString(l,h,s._d3locale,f,t,p)}var d=t.tp||e.textposition,g=E(t,e),y=a?a(t):t.tc||e.textfont.color;i.call(m.font,t.tf||e.textfont.family,g,y).text(l).call(u.convertToTspans,r).call(S,d,g,t.mrc)}else i.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var a=n.select(this),i=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=E(t,e);s.fill(a,i),S(a,o,l,t.mrc2||t.mrc)})}};var L=.5;function C(t,e,r,a){var i=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(i*i+o*o,L/2),u=Math.pow(s*s+l*l,L/2),h=(u*u*i-c*c*s)*a,f=(u*u*o-c*c*l)*a,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&h/p),2),n.round(e[1]+(p&&f/p),2)],[n.round(e[0]-(d&&h/d),2),n.round(e[1]-(d&&f/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],a=[];for(r=1;r=1e4&&(m.savedBBoxes={},z=0),r&&(m.savedBBoxes[r]=v),z++,c.extendFlat({},v)},m.setClipUrl=function(t,e,r){t.attr("clip-path",D(e,r))},m.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}},m.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||0,r=r||0,i=i.replace(/(\btranslate\(.*?\);?)/,"").trim(),i=(i+=" translate("+e+", "+r+")").trim(),t[a]("transform",i),i},m.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}},m.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||1,r=r||1,i=i.replace(/(\bscale\(.*?\);?)/,"").trim(),i=(i+=" scale("+e+", "+r+")").trim(),t[a]("transform",i),i};var R=/\s*sc.*/;m.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(R,"");t=(t+=n).trim(),this.setAttribute("transform",t)})}};var F=/translate\([^)]*\)\s*$/;m.setTextPointsScale=function(t,e,r){t&&t.each(function(){var t,a=n.select(this),i=a.select("text");if(i.node()){var o=parseFloat(i.attr("x")||0),s=parseFloat(i.attr("y")||0),l=(a.attr("transform")||"").match(F);t=1===e&&1===r?[]:["translate("+o+","+s+")","scale("+e+","+r+")","translate("+-o+","+-s+")"],l&&t.push(l),a.attr("transform",t.join(" "))}})}},{"../../components/fx/helpers":626,"../../constants/alignment":685,"../../constants/interactions":691,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../lib/svg_text_utils":740,"../../registry":845,"../../traces/scatter/make_bubble_size_func":1135,"../../traces/scatter/subtypes":1142,"../color":591,"../colorscale":603,"./symbol_defs":613,d3:164,"fast-isnumeric":227,tinycolor2:535}],613:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,a="l"+e+",-"+e,i="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+a+i+a+i+o+i+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),a=n.round(-t,2),i=n.round(-.309*t,2);return"M"+e+","+i+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+i+"L0,"+a+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M"+a+",-"+r+"V"+r+"L0,"+e+"L-"+a+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+a+"H"+r+"L"+e+",0L"+r+",-"+a+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),a=n.round(.951*e,2),i=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+l+"H"+a+"L"+i+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+i+","+c+"L-"+a+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),a=n.round(.76*t,2);return"M-"+a+",0l-"+r+",-"+e+"h"+a+"l"+r+",-"+e+"l"+r+","+e+"h"+a+"l-"+r+","+e+"l"+r+","+e+"h-"+a+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+a+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+a+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+a+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+a+"-"+e+","+e+a+e+","+e+a+e+",-"+e+a+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+a+"0,"+e+a+e+",0"+a+"0,-"+e+a+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+","+a+"L0,0M"+e+","+a+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+",-"+a+"L0,0M"+e+",-"+a+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M"+a+","+e+"L0,0M"+a+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+a+","+e+"L0,0M-"+a+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:164}],614:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],615:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../registry"),i=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("./compute_error");function l(t,e,r,a){var l=e["error_"+a]||{},c=[];if(l.visible&&-1!==["linear","log"].indexOf(r.type)){for(var u=s(l),h=0;h0;e.each(function(e){var h,f=e[0].trace,p=f.error_x||{},d=f.error_y||{};f.ids&&(h=function(t){return t.id});var g=o.hasMarkers(f)&&f.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var v=n.select(this).selectAll("g.errorbar").data(e,h);if(v.exit().remove(),e.length){p.visible||v.selectAll("path.xerror").remove(),d.visible||v.selectAll("path.yerror").remove(),v.style("opacity",1);var m=v.enter().append("g").classed("errorbar",!0);u&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),i.setClipUrl(v,r.layerClipId,t),v.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)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),a(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),a(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,c);if(!g||t.vis){var i,o=e.select("path.yerror");if(d.visible&&a(r.x)&&a(r.yh)&&a(r.ys)){var h=d.width;i="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(i+="m-"+h+",0h"+2*h),!o.size()?o=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr("d",i)}else o.remove();var f=e.select("path.xerror");if(p.visible&&a(r.y)&&a(r.xh)&&a(r.xs)){var v=(p.copy_ystyle?d:p).width;i="M"+r.xh+","+(r.y-v)+"v"+2*v+"m0,-"+v+"H"+r.xs,r.noXS||(i+="m0,-"+v+"v"+2*v),!f.size()?f=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):u&&(f=f.transition().duration(s.duration).ease(s.easing)),f.attr("d",i)}else f.remove()}})}})}},{"../../traces/scatter/subtypes":1142,"../drawing":612,d3:164,"fast-isnumeric":227}],620:[function(t,e,r){"use strict";var n=t("d3"),a=t("../color");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},i=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(a.stroke,r.color),i.copy_ystyle&&(i=r),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(a.stroke,i.color)})}},{"../color":591,d3:164}],621:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("./layout_attributes").hoverlabel,i=t("../../lib/extend").extendFlat;e.exports={hoverlabel:{bgcolor:i({},a.bgcolor,{arrayOk:!0}),bordercolor:i({},a.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:i({},a.align,{arrayOk:!0}),namelength:i({},a.namelength,{arrayOk:!0}),editType:"none"}}},{"../../lib/extend":707,"../../plots/font_attributes":790,"./layout_attributes":630}],622:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry");function i(t,e,r,a){a=a||n.identity,Array.isArray(t)&&(e[0][r]=a(t))}e.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||$<0||$>w[0]._length)return f.unhoverRaw(t,e)}if(e.pointerX=Q+_[0]._offset,e.pointerY=$+w[0]._offset,z="xval"in e?g.flat(l,e.xval):g.p2c(_,Q),I="yval"in e?g.flat(l,e.yval):g.p2c(w,$),!a(z[0])||!a(I[0]))return o.warn("Fx.hover failed",e,t),f.unhoverRaw(t,e)}var rt=1/0;for(R=0;RG&&(X.splice(0,G),rt=X[0].distance),m&&0!==W&&0===X.length){H.distance=W,H.index=!1;var st=B._module.hoverPoints(H,U,q,"closest",u._hoverlayer);if(st&&(st=st.filter(function(t){return t.spikeDistance<=W})),st&&st.length){var lt,ct=st.filter(function(t){return t.xa.showspikes});if(ct.length){var ut=ct[0];a(ut.x0)&&a(ut.y0)&&(lt=dt(ut),(!J.vLinePoint||J.vLinePoint.spikeDistance>lt.spikeDistance)&&(J.vLinePoint=lt))}var ht=st.filter(function(t){return t.ya.showspikes});if(ht.length){var ft=ht[0];a(ft.x0)&&a(ft.y0)&&(lt=dt(ft),(!J.hLinePoint||J.hLinePoint.spikeDistance>lt.spikeDistance)&&(J.hLinePoint=lt))}}}}function pt(t,e){for(var r,n=null,a=1/0,i=0;i1||X.length>1)||"closest"===O&&K&&X.length>1,Lt=h.combine(u.plot_bgcolor||h.background,u.paper_bgcolor),Ct={hovermode:O,rotateLabels:Et,bgColor:Lt,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},Pt=A(X,Ct,t);if(function(t,e,r){var n,a,i,o,s,l,c,u=0,h=1,f=t.size(),p=new Array(f),d=0;function g(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,i=r.pos+r.dp+r.size-e.pmax,a>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=a;n=!1}if(!(i<.01)){if(a<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=i;n=!1}if(n){var c=0;for(o=0;oe.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o=0;s--)t[s].dp-=i;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(t.each(function(t){var n=t[e],a="x"===n._id.charAt(0),i=n.range;0===d&&i&&i[0]>i[1]!==a&&(h=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?x:1)/2,pmin:0,pmax:a?r.width:r.height}]}),p.sort(function(t,e){return t[0].posref-e[0].posref||h*(e[0].traceIndex-t[0].traceIndex)});!n&&u<=f;){for(u++,n=!0,o=0;o.01&&y.pmin===b.pmin&&y.pmax===b.pmax){for(s=m.length-1;s>=0;s--)m[s].dp+=a;for(v.push.apply(v,m),p.splice(o+1,1),c=0,s=v.length-1;s>=0;s--)c+=v[s].dp;for(i=c/v.length,s=v.length-1;s>=0;s--)v[s].dp-=i;n=!1}else o++}p.forEach(g)}for(o=p.length-1;o>=0;o--){var _=p[o];for(s=_.length-1;s>=0;s--){var w=_[s],k=w.datum;k.offset=w.dp,k.del=w.del}}}(Pt,Et?"xa":"ya",u),M(Pt,Et),e.target&&e.target.tagName){var Ot=d.getComponentMethod("annotations","hasClickToShow")(t,Tt);c(n.select(e.target),Ot?"pointer":"")}if(!e.target||i||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var a=r[n],i=t._hoverdata[n];if(a.curveNumber!==i.curveNumber||String(a.pointNumber)!==String(i.pointNumber)||String(a.pointNumbers)!==String(i.pointNumbers))return!0}return!1}(t,0,kt))return;kt&&t.emit("plotly_unhover",{event:e,points:kt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:z,yvals:I})}(t,e,r,i)})},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var a=t.map(function(t){return{color:t.color||h.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,eventData:t.eventData||!1,hovertemplateLabels:t.hovertemplateLabels||!1}}),i=n.select(e.container),o=e.outerContainer?n.select(e.outerContainer):i,s={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||h.background,container:i,outerContainer:o},l=A(a,s,e.gd),c=0,u=0;return l.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 A(t,e,r){var a=r._fullLayout,i=e.hovermode,s=e.rotateLabels,c=e.bgColor,f=e.container,p=e.outerContainer,d=e.commonLabelOpts||{},g=e.fontFamily||v.HOVERFONT,y=e.fontSize||v.HOVERFONTSIZE,x=t[0],b=x.xa,_=x.ya,A="y"===i?"yLabel":"xLabel",M=x[A],S=(String(M)||"").split(" ")[0],E=p.node().getBoundingClientRect(),L=E.top,P=E.width,O=E.height,z=void 0!==M&&x.distance<=e.hoverdistance&&("x"===i||"y"===i);if(z){var I,D,R=!0;for(I=0;Ia.width-O?(T=a.width-O,s.attr("d","M"+(O-w)+",0L"+O+","+P+w+"v"+P+(2*k+C.height)+"H-"+O+"V"+P+w+"H"+(O-2*w)+"Z")):s.attr("d","M0,0L"+w+","+P+w+"H"+(k+C.width/2)+"v"+P+(2*k+C.height)+"H-"+(k+C.width/2)+"V"+P+w+"H-"+w+"Z")}else{var z,I,D;"right"===_.side?(z="start",I=1,D="",T=b._offset+b._length):(z="end",I=-1,D="-",T=b._offset),E=_._offset+(x.y0+x.y1)/2,c.attr("text-anchor",z),s.attr("d","M0,0L"+D+w+","+w+"V"+(k+C.height/2)+"h"+D+(2*k+C.width)+"V-"+(k+C.height/2)+"H"+D+w+"V-"+w+"Z");var R,F=C.height/2,B=L-C.top-F,N="clip"+a._uid+"commonlabel"+_._id;if(T"),void 0!==t.yLabel&&(p+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(p+=(p?"z: ":"")+t.zLabel)):z&&t[i+"Label"]===M?p=t[("x"===i?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(p=t.yLabel):p=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(p+=(p?"
":"")+t.text),void 0!==t.extraText&&(p+=(p?"
":"")+t.extraText),""!==p||t.hovertemplate||(""===f&&e.remove(),p=f);var _=a._d3locale,A=t.hovertemplate||!1,S=t.hovertemplateLabels||t,E=t.eventData[0]||{};A&&(p=(p=o.hovertemplateString(A,S,_,E,t.trace._meta)).replace(T,function(e,r){return f=C(r,t.nameLength),""}));var I=e.select("text.nums").call(u.font,t.fontFamily||g,t.fontSize||y,t.fontColor||b).text(p).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),D=e.select("text.name"),R=0,F=0;if(f&&f!==p){D.call(u.font,t.fontFamily||g,t.fontSize||y,x).text(f).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r);var B=D.node().getBoundingClientRect();R=B.width+2*k,F=B.height+2*k}else D.remove(),e.select("rect").remove();e.select("path").style({fill:v,stroke:b});var N,j,V=I.node().getBoundingClientRect(),U=t.xa._offset+(t.x0+t.x1)/2,q=t.ya._offset+(t.y0+t.y1)/2,H=Math.abs(t.x1-t.x0),G=Math.abs(t.y1-t.y0),Y=V.width+w+k+R;if(t.ty0=L-V.top,t.bx=V.width+2*k,t.by=Math.max(V.height+2*k,F),t.anchor="start",t.txwidth=V.width,t.tx2width=R,t.offset=0,s)t.pos=U,N=q+G/2+Y<=O,j=q-G/2-Y>=0,"top"!==t.idealAlign&&N||!j?N?(q+=G/2,t.anchor="start"):t.anchor="middle":(q-=G/2,t.anchor="end");else if(t.pos=q,N=U+H/2+Y<=P,j=U-H/2-Y>=0,"left"!==t.idealAlign&&N||!j)if(N)U+=H/2,t.anchor="start";else{t.anchor="middle";var W=Y/2,X=U+W-P,Z=U-W;X>0&&(U-=X),Z<0&&(U+=-Z)}else U-=H/2,t.anchor="end";I.attr("text-anchor",t.anchor),R&&D.attr("text-anchor",t.anchor),e.attr("transform","translate("+U+","+q+")"+(s?"rotate("+m+")":""))}),N}function M(t,e){t.each(function(t){var r=n.select(this);if(t.del)return r.remove();var a=r.select("text.nums"),i=t.anchor,o="end"===i?-1:1,s={start:1,end:-1,middle:0}[i],c=s*(w+k),h=c+s*(t.txwidth+k),f=0,p=t.offset;"middle"===i&&(c-=t.tx2width/2,h+=t.txwidth/2+k),e&&(p*=-_,f=t.offset*b),r.select("path").attr("d","middle"===i?"M-"+(t.bx/2+t.tx2width/2)+","+(p-t.by/2)+"h"+t.bx+"v"+t.by+"h-"+t.bx+"Z":"M0,0L"+(o*w+f)+","+(w+p)+"v"+(t.by/2-w)+"h"+o*t.bx+"v-"+t.by+"H"+(o*w+f)+"V"+(p-w)+"Z");var d=c+f,g=p+t.ty0-t.by/2+k,v=t.textAlign||"auto";"auto"!==v&&("left"===v&&"start"!==i?(a.attr("text-anchor","start"),d="middle"===i?-t.bx/2-t.tx2width/2+k:-t.bx-k):"right"===v&&"end"!==i&&(a.attr("text-anchor","end"),d="middle"===i?t.bx/2-t.tx2width/2-k:t.bx+k)),a.call(l.positionText,d,g),t.tx2width&&(r.select("text.name").call(l.positionText,h+s*k+f,p+t.ty0-t.by/2+k),r.select("rect").call(u.setRect,h+(s-1)*t.tx2width/2+f,p-t.by/2-1,t.tx2width,t.by+2))})}function S(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],s=t.cd[r]||{};function l(t){return t||a(t)&&0===t}var c=Array.isArray(r)?function(t,e){var a=o.castOption(i,r,t);return l(a)?a:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var a=c(r,n);l(a)&&(t[e]=a)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("nameLength","hnl","hoverlabel.namelength"),u("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:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),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 h=p.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+h+" / -"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+h,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var f=p.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+f+" / -"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+f,"y"===e&&(t.distance+=1)}var d=t.hoverinfo||t.trace.hoverinfo;return d&&"all"!==d&&(-1===(d=Array.isArray(d)?d:d.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===d.indexOf("y")&&(t.yLabel=void 0),-1===d.indexOf("z")&&(t.zLabel=void 0),-1===d.indexOf("text")&&(t.text=void 0),-1===d.indexOf("name")&&(t.name=void 0)),t}function E(t,e,r){var n,a,o=r.container,s=r.fullLayout,l=s._size,c=r.event,f=!!e.hLinePoint,d=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),d||f){var g=h.combine(s.plot_bgcolor,s.paper_bgcolor);if(f){var v,m,y=e.hLinePoint;n=y&&y.xa,"cursor"===(a=y&&y.ya).spikesnap?(v=c.pointerX,m=c.pointerY):(v=n._offset+y.x,m=a._offset+y.y);var x,b,_=i.readability(y.color,g)<1.5?h.contrast(g):y.color,w=a.spikemode,k=a.spikethickness,T=a.spikecolor||_,A=p.getPxPosition(t,a);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=v),-1!==w.indexOf("across")){var M=a._counterDomainMin,S=a._counterDomainMax;"free"===a.anchor&&(M=Math.min(M,a.position),S=Math.max(S,a.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:m,y2:m,"stroke-width":k,stroke:T,"stroke-dasharray":u.dashStyle(a.spikedash,k)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:m,y2:m,"stroke-width":k+2,stroke:g}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==a.side?k:-k),cy:m,r:k,fill:T}).classed("spikeline",!0)}if(d){var E,L,C=e.vLinePoint;n=C&&C.xa,a=C&&C.ya,"cursor"===n.spikesnap?(E=c.pointerX,L=c.pointerY):(E=n._offset+C.x,L=a._offset+C.y);var P,O,z=i.readability(C.color,g)<1.5?h.contrast(g):C.color,I=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=p.getPxPosition(t,n);if(-1!==I.indexOf("toaxis")||-1!==I.indexOf("across")){if(-1!==I.indexOf("toaxis")&&(P=F,O=L),-1!==I.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":D,stroke:R,"stroke-dasharray":u.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D+2,stroke:g}).classed("spikeline",!0).classed("crisp",!0)}-1!==I.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function L(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function C(t,e){return l.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}},{"../../lib":716,"../../lib/events":706,"../../lib/override_cursor":727,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":624,"./helpers":626,d3:164,"fast-isnumeric":227,tinycolor2:535}],628:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,a){r("hoverlabel.bgcolor",(a=a||{}).bgcolor),r("hoverlabel.bordercolor",a.bordercolor),r("hoverlabel.namelength",a.namelength),n.coerceFont(r,"hoverlabel.font",a.font),r("hoverlabel.align",a.align)}},{"../../lib":716}],629:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../dragelement"),o=t("./helpers"),s=t("./layout_attributes"),l=t("./hover");e.exports={moduleType:"component",name:"fx",constants:t("./constants"),schema:{layout:s},attributes:t("./attributes"),layoutAttributes:s,supplyLayoutGlobalDefaults:t("./layout_global_defaults"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return a.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return a.castOption(t,r,"hoverinfo",function(r){return a.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:l.hover,unhover:i.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=a.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:t("./click")}},{"../../lib":716,"../dragelement":609,"./attributes":621,"./calc":622,"./click":623,"./constants":624,"./defaults":625,"./helpers":626,"./hover":627,"./layout_attributes":630,"./layout_defaults":631,"./layout_global_defaults":632,d3:164}],630:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../plots/font_attributes")({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1],editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:20,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,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"}}},{"../../plots/font_attributes":790,"./constants":624}],631:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}var o,s=i("clickmode");"select"===i("dragmode")&&i("selectdirection"),e._has("cartesian")?s.indexOf("select")>-1?o="closest":(e._isHoriz=function(t,e){for(var r=e._scatterStackOpts||{},n=0;n1){f||p||d||"independent"===T("pattern")&&(f=!0),v._hasSubplotGrid=f;var x,b,_="top to bottom"===T("roworder"),w=f?.2:.1,k=f?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),v._domains={x:u("x",T,w,x,y),y:u("y",T,k,b,m,_)}}else delete e.grid}function T(t,e){return n.coerce(r,v,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,a,i,o,s,l,u,f=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,v=r.columns,m="independent"===r.pattern,y=r._axisMap={};if(d){var x=f.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n1);if(!1!==g||c.uirevision){var v,m,y,x=i.newContainer(e,"legend");if(b("uirevision",e.uirevision),!1!==g)b("bgcolor",e.paper_bgcolor),b("bordercolor"),b("borderwidth"),a.coerceFont(b,"font",e.font),"h"===b("orientation")?(v=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(m=1.1,y="bottom"):(m=-.1,y="top")):(v=1.02,m=1,y="auto"),b("traceorder",f),l.isGrouped(e.legend)&&b("tracegroupgap"),b("itemsizing"),b("itemclick"),b("itemdoubleclick"),b("x",v),b("xanchor"),b("y",m),b("yanchor",y),b("valign"),a.noneOrAll(c,x,["x","y"])}function b(t,e){return a.coerce(c,x,o,t,e)}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/layout_attributes":816,"../../registry":845,"./attributes":639,"./helpers":645}],642:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),c=t("../drawing"),u=t("../color"),h=t("../../lib/svg_text_utils"),f=t("./handle_click"),p=t("./constants"),d=t("../../constants/alignment"),g=d.LINE_SPACING,v=d.FROM_TL,m=d.FROM_BR,y=t("./get_legend_data"),x=t("./style"),b=t("./helpers");function _(t,e,r,n,a){var i=r.data()[0][0].trace,l={event:a,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(i._group&&(l.group=i._group),o.traceIs(i,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l))if(1===n)e._clickTimeout=setTimeout(function(){f(r,t,n)},t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&f(r,t,n)}}function w(t,e){var r=t.data()[0][0],n=e._fullLayout,i=n.legend,s=r.trace,l=o.traceIs(s,"pie-like"),u=s.index,f=e._context.edits.legendText&&!l,d=i._maxNameLength,v=l?r.label:s.name;s._meta&&(v=a.templateString(v,s._meta));var m=a.ensureSingle(t,"text","legendtext");function y(r){h.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,a,i=t.select("g[class*=math-group]"),o=i.node(),s=e._fullLayout.legend.font.size*g;if(o){var l=c.bBox(o);n=l.height,a=l.width,c.setTranslate(i,0,n/4)}else{var u=t.select(".legendtext"),f=h.lineCount(u),d=u.node();n=s*f,a=d?c.bBox(d).width:0;var v=s*(.3+(1-f)/2);h.positionText(u,p.textGap,v)}r.lineHeight=s,r.height=Math.max(n,16)+3,r.width=a}(t,e)})}m.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,n.legend.font).text(f?k(v,d):v),h.positionText(m,p.textGap,0),f?m.call(h.makeEditable,{gd:e,text:v}).call(y).on("edit",function(t){this.text(k(t,d)).call(y);var n=r.trace._fullInput||{},i={};if(o.hasTransform(n,"groupby")){var s=o.getTransformIndices(n,"groupby"),l=s[s.length-1],c=a.keyedContainer(n,"transforms["+l+"].styles","target","value.name");c.set(r.trace._group,t),i=c.constructUpdate()}else i.name=t;return o.call("_guiRestyle",e,i,u)}):y(m)}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 T(t,e){var r,i=e._context.doubleClickDelay,o=1,s=a.ensureSingle(t,"rect","legendtoggle",function(t){t.style("cursor","pointer").attr("pointer-events","all").call(u.fill,"rgba(0,0,0,0)")});s.on("mousedown",function(){(r=(new Date).getTime())-e._legendMouseDownTimei&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}})}function A(t){return a.isRightAnchor(t)?"right":a.isCenterAnchor(t)?"center":"left"}function M(t){return a.isBottomAnchor(t)?"bottom":a.isMiddleAnchor(t)?"middle":"top"}e.exports=function(t){var e=t._fullLayout,r="legend"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,h=e.showlegend&&y(t.calcdata,s),f=e.hiddenlabels||[];if(!e.showlegend||!h.length)return e._infolayer.selectAll(".legend").remove(),e._topdefs.select("#"+r).remove(),i.autoMargin(t,"legend");var d=a.ensureSingle(e._infolayer,"g","legend",function(t){t.attr("pointer-events","all")}),g=a.ensureSingleById(e._topdefs,"clipPath",r,function(t){t.append("rect")}),k=a.ensureSingle(d,"rect","bg",function(t){t.attr("shape-rendering","crispEdges")});k.call(u.stroke,s.bordercolor).call(u.fill,s.bgcolor).style("stroke-width",s.borderwidth+"px");var S=a.ensureSingle(d,"g","scrollbox"),E=a.ensureSingle(d,"rect","scrollbar",function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)}),L=S.selectAll("g.groups").data(h);L.enter().append("g").attr("class","groups"),L.exit().remove();var C=L.selectAll("g.traces").data(a.identity);C.enter().append("g").attr("class","traces"),C.exit().remove(),C.style("opacity",function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==f.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1}).each(function(){n.select(this).call(w,t)}).call(x,t).each(function(){n.select(this).call(T,t)}),a.syncOrAsync([i.previousPromises,function(){return function(t,e,r){var a=t._fullLayout,i=a.legend,o=a._size,s=b.isVertical(i),l=b.isGrouped(i),u=i.borderwidth,h=2*u,f=p.textGap,d=p.itemGap,g=2*(u+d),v=M(i),m=i.y<0||0===i.y&&"top"===v,y=i.y>1||1===i.y&&"bottom"===v;i._maxHeight=Math.max(m||y?a.height/2:o.h,30);var x=0;if(i._width=0,i._height=0,s)r.each(function(t){var e=t[0].height;c.setTranslate(this,u,d+u+i._height+e/2),i._height+=e,i._width=Math.max(i._width,t[0].width)}),x=f+i._width,i._width+=d+f+h,i._height+=g,l&&(e.each(function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)}),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var _=A(i),w=i.x<0||0===i.x&&"right"===_,k=i.x>1||1===i.x&&"left"===_,T=y||m,S=a.width/2;i._maxWidth=Math.max(w?T&&"left"===_?o.l+o.w:S:k?T&&"right"===_?o.r+o.w:S:o.w,2*f);var E=0,L=0;r.each(function(t){var e=t[0].width+f;E=Math.max(E,e),L+=e}),x=null;var C=0;if(l){var P=0,O=0,z=0;e.each(function(){var t=0,e=0;n.select(this).selectAll("g.traces").each(function(r){var n=r[0].height;c.setTranslate(this,0,d+u+n/2+e),e+=n,t=Math.max(t,f+r[0].width)}),P=Math.max(P,e);var r=t+d;r+u+O>i._maxWidth&&(C=Math.max(C,O),O=0,z+=P+i.tracegroupgap,P=e),c.setTranslate(this,O,z),O+=r}),i._width=Math.max(C,O)+u,i._height=z+P+g}else{var I=r.size(),D=L+h+(I-1)*di._maxWidth&&(C=Math.max(C,N),F=0,B+=R,i._height+=R,R=0),c.setTranslate(this,u+F,d+u+e/2+B),N=F+r+d,F+=n,R=Math.max(R,e)}),D?(i._width=F+h,i._height=R+g):(i._width=Math.max(C,N)+h,i._height+=R+g)}}i._width=Math.ceil(i._width),i._height=Math.ceil(i._height),i._effHeight=Math.min(i._height,i._maxHeight);var j=t._context.edits,V=j.legendText||j.legendPosition;r.each(function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,a=V?f:x||f+t[0].width;s||(a+=d/2),c.setRect(e,0,-r/2,a,r)})}(t,L,C)},function(){if(!function(t){var e=t._fullLayout.legend,r=A(e),n=M(e);return i.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*m[r],b:e._effHeight*m[n],t:e._effHeight*v[n]})}(t)){var u,h,f,y,x=e._size,b=s.borderwidth,w=x.l+x.w*s.x-v[A(s)]*s._width,T=x.t+x.h*(1-s.y)-v[M(s)]*s._effHeight;if(e.margin.autoexpand){var L=w,C=T;w=a.constrain(w,0,e.width-s._width),T=a.constrain(T,0,e.height-s._effHeight),w!==L&&a.log("Constrain legend.x to make legend fit inside graph"),T!==C&&a.log("Constrain legend.y to make legend fit inside graph")}if(c.setTranslate(d,w,T),E.on(".drag",null),d.on("wheel",null),s._height<=s._maxHeight||t._context.staticPlot)k.attr({width:s._width-b,height:s._effHeight-b,x:b/2,y:b/2}),c.setTranslate(S,0,0),g.select("rect").attr({width:s._width-2*b,height:s._effHeight-2*b,x:b,y:b}),c.setClipUrl(S,r,t),c.setRect(E,0,0,0,0),delete s._scrollY;else{var P,O,z,I=Math.max(p.scrollBarMinHeight,s._effHeight*s._effHeight/s._height),D=s._effHeight-I-2*p.scrollBarMargin,R=s._height-s._effHeight,F=D/R,B=Math.min(s._scrollY||0,R);k.attr({width:s._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:s._effHeight-b,x:b/2,y:b/2}),g.select("rect").attr({width:s._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:s._effHeight-2*b,x:b,y:b+B}),c.setClipUrl(S,r,t),V(B,I,F),d.on("wheel",function(){V(B=a.constrain(s._scrollY+n.event.deltaY/D*R,0,R),I,F),0!==B&&B!==R&&n.event.preventDefault()});var N=n.behavior.drag().on("dragstart",function(){var t=n.event.sourceEvent;P="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,z=B}).on("drag",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(O="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,V(B=function(t,e,r){var n=(r-e)/F+t;return a.constrain(n,0,R)}(z,P,O),I,F))});E.call(N);var j=n.behavior.drag().on("dragstart",function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(P=t.changedTouches[0].clientY,z=B)}).on("drag",function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(O=t.changedTouches[0].clientY,V(B=function(t,e,r){var n=(e-r)/F+t;return a.constrain(n,0,R)}(z,P,O),I,F))});S.call(j)}if(t._context.edits.legendPosition)d.classed("cursor-move",!0),l.init({element:d.node(),gd:t,prepFn:function(){var t=c.getTranslate(d);f=t.x,y=t.y},moveFn:function(t,e){var r=f+t,n=y+e;c.setTranslate(d,r,n),u=l.align(r,0,x.l,x.l+x.w,s.xanchor),h=l.align(n,0,x.t+x.h,x.t,s.yanchor)},doneFn:function(){void 0!==u&&void 0!==h&&o.call("_guiRelayout",t,{"legend.x":u,"legend.y":h})},clickFn:function(r,n){var a=e._infolayer.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});a.size()>0&&_(t,d,a,r,n)}})}function V(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(S,0,-e),c.setRect(E,s._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),g.select("rect").attr("y",b+e)}}],t)}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/events":706,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":640,"./get_legend_data":643,"./handle_click":644,"./helpers":645,"./style":647,d3:164}],643:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./helpers");e.exports=function(t,e){var r,i,o={},s=[],l=!1,c={},u=0,h=0;function f(t,r){if(""!==t&&a.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r0))return 0;a=e.width}return y?n:Math.min(a,r)};function b(t,e,r){var i=t[0].trace,o=i.marker||{},l=o.line||{},c=r?i.visible&&i.type===r:a.traceIs(i,"bar"),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(c?[t]:[]);u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),u.exit().remove(),u.each(function(t){var e=n.select(this),r=t[0],a=x(r.mlw,o.line,v,d);e.style("stroke-width",a+"px").call(s.fill,r.mc||o.color),a&&s.stroke(e,r.mlc||l.color)})}function _(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:a.traceIs(s,r),c=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(c.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),c.exit().remove(),c.size()){var f=(s.marker||{}).line,p=x(h(f.width,o.pts),f,v,d),g=i.minExtend(s,{marker:{line:{width:p}}});g.marker.line.color=f.color;var m=i.minExtend(o,{trace:g});u(c,m,g)}}t.each(function(t){var e=n.select(this),a=i.ensureSingle(e,"g","layers");a.style("opacity",t[0].trace.opacity);var o=r.valign,s=t[0].lineHeight,l=t[0].height;if("middle"!==o&&s&&l){var c={top:1,bottom:-1}[o]*(.5*(s-l+3));a.attr("transform","translate(0,"+c+")")}else a.attr("transform",null);a.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),a.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var u=a.selectAll("g.legendsymbols").data([t]);u.enter().append("g").classed("legendsymbols",!0),u.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)}).each(function(t){var e=t[0].trace,r=[];e.visible&&"waterfall"===e.type&&(r=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 a=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(r);a.enter().append("path").classed("legendwaterfall",!0).attr("transform","translate(20,0)").style("stroke-miterlimit",1),a.exit().remove(),a.each(function(t){var r=n.select(this),a=e[t[0]].marker,i=x(void 0,a.line,v,d);r.attr("d",t[1]).style("stroke-width",i+"px").call(s.fill,a.color),i&&r.call(s.stroke,a.line.color)})}).each(function(t){b(t,this,"funnel")}).each(function(t){b(t,this)}).each(function(t){var r=t[0].trace,l=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&a.traceIs(r,"box-violin")?[t]:[]);l.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),l.exit().remove(),l.each(function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==s.opacity(r.fillcolor)||0!==s.opacity((r.line||{}).color)){var a=x(void 0,r.line,v,d);t.style("stroke-width",a+"px").call(s.fill,r.fillcolor),a&&s.stroke(t,r.line.color)}else{var c=i.minExtend(r,{marker:{size:y?f:i.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});l.call(o.pointStyle,c,e)}})}).each(function(t){_(t,this,"funnelarea")}).each(function(t){_(t,this,"pie")}).each(function(t){var r,a,s=t[0],u=s.trace,h=u.visible&&u.fill&&"none"!==u.fill,f=c.hasLines(u),d=u.contours,v=!1,y=!1,b=l(u),_=b.colorscale,w=b.reversescale;if(d){var k=d.coloring;"lines"===k?v=!0:f="none"===k||"heatmap"===k||d.showlines,"constraint"===d.type?h="="!==d._operation:"fill"!==k&&"heatmap"!==k||(y=!0)}var T=c.hasMarkers(u)||c.hasText(u),A=h||y,M=f||v,S=T||!A?"M5,0":M?"M5,-2":"M5,-3",E=n.select(this),L=E.select(".legendfill").selectAll("path").data(h||y?[t]:[]);if(L.enter().append("path").classed("js-fill",!0),L.exit().remove(),L.attr("d",S+"h30v6h-30z").call(h?o.fillGroupStyle:function(t){if(t.size()){var r="legendfill-"+u.uid;o.gradient(t,e,r,m(w),_,"fill")}}),f||v){var C=x(void 0,u.line,g,p);a=i.minExtend(u,{line:{width:C}}),r=[i.minExtend(s,{trace:a})]}var P=E.select(".legendlines").selectAll("path").data(f||v?[r]:[]);P.enter().append("path").classed("js-line",!0),P.exit().remove(),P.attr("d",S+(v?"l30,0.0001":"h30")).call(f?o.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+u.uid;o.lineGroupStyle(t),o.gradient(t,e,r,m(w),_,"stroke")}})}).each(function(t){var r,a,s=t[0],l=s.trace,u=c.hasMarkers(l),h=c.hasText(l),g=c.hasLines(l);function v(t,e,r,n){var a=i.nestedProperty(l,t).get(),o=i.isArrayOrTypedArray(a)&&e?e(a):a;if(y&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function m(t){return t[0]}if(u||h||g){var x={},b={};if(u){x.mc=v("marker.color",m),x.mx=v("marker.symbol",m),x.mo=v("marker.opacity",i.mean,[.2,1]),x.mlc=v("marker.line.color",m),x.mlw=v("marker.line.width",i.mean,[0,5],d),b.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var _=v("marker.size",i.mean,[2,16],f);x.ms=_,b.marker.size=_}g&&(b.line={width:v("line.width",m,[0,10],p)}),h&&(x.tx="Aa",x.tp=v("textposition",m),x.ts=10,x.tc=v("textfont.color",m),x.tf=v("textfont.family",m)),r=[i.minExtend(s,x)],(a=i.minExtend(l,b)).selectedpoints=null,a.texttemplate=null}var w=n.select(this).select("g.legendpoints"),k=w.selectAll("path.scatterpts").data(u?r:[]);k.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform","translate(20,0)"),k.exit().remove(),k.call(o.pointStyle,a,e),u&&(r[0].mrc=3);var T=w.selectAll("g.pointtext").data(h?r:[]);T.enter().append("g").classed("pointtext",!0).append("text").attr("transform","translate(20,0)"),T.exit().remove(),T.selectAll("text").call(o.textPointStyle,a,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","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],o=x(void 0,i.line,v,d);a.style("stroke-width",o+"px").call(s.fill,i.fillcolor),o&&s.stroke(a,i.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","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],l=x(void 0,i.line,v,d);a.style("fill","none").call(o.dashLine,i.line.dash,l),l&&s.stroke(a,i.line.color)})})}},{"../../lib":716,"../../registry":845,"../../traces/pie/helpers":1097,"../../traces/pie/style_one":1103,"../../traces/scatter/subtypes":1142,"../color":591,"../colorscale/helpers":602,"../drawing":612,d3:164}],648:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/plots"),i=t("../../plots/cartesian/axis_ids"),o=t("../../lib"),s=t("../../fonts/ploticon"),l=o._,c=e.exports={};function u(t,e){var r,a,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},h=i.list(t,null,!0),f=c._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,v=(1-d)/2;for(a=0;a1?(A=["toggleHover"],M=["resetViews"]):f?(T=["zoomInGeo","zoomOutGeo"],A=["hoverClosestGeo"],M=["resetGeo"]):h?(A=["hoverClosest3d"],M=["resetCameraDefault3d","resetCameraLastSave3d"]):m?(A=["toggleHover"],M=["resetViewMapbox"]):g?A=["hoverClosestGl2d"]:p?A=["hoverClosestPie"]:x?(A=["hoverClosestCartesian","hoverCompareCartesian"],M=["resetViewSankey"]):A=["toggleHover"];u&&(A=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);(function(t){for(var e=0;e0)){var g=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),a=0,i=0;i0?f+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,a){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,c,u,h,f=1/0,p=-1/0,d=n.match(i.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=h)));return p>=f?[f,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o10?t/2:10;return n.append("circle").attr({"data-line-point":"start-point",cx:D?q(r.xanchor)+r.x0:q(r.x0),cy:R?H(r.yanchor)-r.y0:H(r.y0),r:i}).style(a).classed("cursor-grab",!0),n.append("circle").attr({"data-line-point":"end-point",cx:D?q(r.xanchor)+r.x1:q(r.x1),cy:R?H(r.yanchor)-r.y1:H(r.y1),r:i}).style(a).classed("cursor-grab",!0),n}():e,X={element:W.node(),gd:t,prepFn:function(n){D&&(_=q(r.xanchor));R&&(w=H(r.yanchor));"path"===r.type?P=r.path:(m=D?r.x0:q(r.x0),y=R?r.y0:H(r.y0),x=D?r.x1:q(r.x1),b=R?r.y1:H(r.y1));mb?(k=y,S="y0",T=b,E="y1"):(k=b,S="y1",T=y,E="y0");Z(n),Q(p,r),function(t,e,r){var n=e.xref,a=e.yref,o=i.getFromId(r,n),l=i.getFromId(r,a),c="";"paper"===n||o.autorange||(c+=n);"paper"===a||l.autorange||(c+=a);s.setClipUrl(t,c?"clip"+r._fullLayout._uid+c:null,r)}(e,r,t),X.moveFn="move"===O?J:K},doneFn:function(){u(e),$(p),d(e,t,r),n.call("_guiRelayout",t,N.getUpdateObj())},clickFn:function(){$(p)}};function Z(t){if(F)O="path"===t.target.tagName?"move":"start-point"===t.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var r=X.element.getBoundingClientRect(),n=r.right-r.left,a=r.bottom-r.top,i=t.clientX-r.left,o=t.clientY-r.top,s=!B&&n>z&&a>I&&!t.shiftKey?c.getCursor(i/n,1-o/a):"move";u(e,s),O=s.split("-")[0]}}function J(n,a){if("path"===r.type){var i=function(t){return t},o=i,s=i;D?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=f.encodeDate(o))),R?j("yanchor",r.yanchor=Y(w+a)):(s=function(t){return Y(H(t)+a)},U&&"date"===U.type&&(s=f.encodeDate(s))),j("path",r.path=v(P,o,s))}else D?j("xanchor",r.xanchor=G(_+n)):(j("x0",r.x0=G(m+n)),j("x1",r.x1=G(x+n))),R?j("yanchor",r.yanchor=Y(w+a)):(j("y0",r.y0=Y(y+a)),j("y1",r.y1=Y(b+a)));e.attr("d",g(t,r)),Q(p,r)}function K(n,a){if(B){var i=function(t){return t},o=i,s=i;D?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=f.encodeDate(o))),R?j("yanchor",r.yanchor=Y(w+a)):(s=function(t){return Y(H(t)+a)},U&&"date"===U.type&&(s=f.encodeDate(s))),j("path",r.path=v(P,o,s))}else if(F){if("resize-over-start-point"===O){var l=m+n,c=R?y-a:y+a;j("x0",r.x0=D?l:G(l)),j("y0",r.y0=R?c:Y(c))}else if("resize-over-end-point"===O){var u=x+n,h=R?b-a:b+a;j("x1",r.x1=D?u:G(u)),j("y1",r.y1=R?h:Y(h))}}else{var d=~O.indexOf("n")?k+a:k,N=~O.indexOf("s")?T+a:T,W=~O.indexOf("w")?A+n:A,X=~O.indexOf("e")?M+n:M;~O.indexOf("n")&&R&&(d=k-a),~O.indexOf("s")&&R&&(N=T-a),(!R&&N-d>I||R&&d-N>I)&&(j(S,r[S]=R?d:Y(d)),j(E,r[E]=R?N:Y(N))),X-W>z&&(j(L,r[L]=D?W:G(W)),j(C,r[C]=D?X:G(X)))}e.attr("d",g(t,r)),Q(p,r)}function Q(t,e){(D||R)&&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=q(D?e.xanchor:a.midRange(r?[e.x0,e.x1]:f.extractPathCoords(e.path,h.paramIsX))),o=H(R?e.yanchor:a.midRange(r?[e.y0,e.y1]:f.extractPathCoords(e.path,h.paramIsY)));if(i=f.roundPositionForSharpStrokeRendering(i,1),o=f.roundPositionForSharpStrokeRendering(o,1),D&&R){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(D){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function $(t){t.selectAll(".visual-cue").remove()}c.init(X),W.node().onmousemove=Z}(t,x,r,e,p)}}function d(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"");s.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function g(t,e){var r,n,o,s,l,c,u,p,d=e.type,g=i.getFromId(t,e.xref),v=i.getFromId(t,e.yref),m=t._fullLayout._size;if(g?(r=f.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return m.l+m.w*t},v?(o=f.shapePositionToRange(v),s=function(t){return v._offset+v.r2p(o(t,!0))}):s=function(t){return m.t+m.h*(1-t)},"path"===d)return g&&"date"===g.type&&(n=f.decodeDate(n)),v&&"date"===v.type&&(s=f.decodeDate(s)),function(t,e,r){var n=t.path,i=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(h.segmentRE,function(t){var n=0,c=t.charAt(0),u=h.paramIsX[c],f=h.paramIsY[c],p=h.numParams[c],d=t.substr(1).replace(h.paramRE,function(t){return u[n]?t="pixel"===i?e(s)+Number(t):e(t):f[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>p&&(t="X"),t});return n>p&&(d=d.replace(/[\s,]*X.*/,""),a.log("Ignoring extra params in segment "+t)),c+d})}(e,n,s);if("pixel"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var x=s(e.yanchor);u=x-e.y0,p=x-e.y1}else u=s(e.y0),p=s(e.y1);if("line"===d)return"M"+l+","+u+"L"+c+","+p;if("rect"===d)return"M"+l+","+u+"H"+c+"V"+p+"H"+l+"Z";var b=(l+c)/2,_=(u+p)/2,w=Math.abs(b-l),k=Math.abs(_-u),T="A"+w+","+k,A=b+w+","+_;return"M"+A+T+" 0 1,1 "+(b+","+(_-k))+T+" 0 0,1 "+A+"Z"}function v(t,e,r){return t.replace(h.segmentRE,function(t){var n=0,a=t.charAt(0),i=h.paramIsX[a],o=h.paramIsY[a],s=h.numParams[a];return a+t.substr(1).replace(h.paramRE,function(t){return n>=s?t:(i[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll("path").remove(),e._shapeLowerLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll("path").remove()}for(var a=0;a0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform","translate("+(o-.5*u.gripWidth)+","+e._dims.currentValueTotalHeight+")")}}function S(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function E(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,a=s.ensureSingle(t,"rect",u.railTouchRectClass,function(n){n.call(T,e,t,r).style("pointer-events","all")});a.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),o.setTranslate(a,0,n.currentValueTotalHeight)}function C(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,a=s.ensureSingle(t,"rect",u.railRectClass);a.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(a,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[u.name],n=[],a=0;a0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),a.autoMargin(t,g(e))}if(i.enter().append("g").classed(u.containerClassName,!0).style("cursor","ew-resize"),i.exit().each(function(){n.select(this).selectAll("g."+u.groupClassName).each(s)}).remove(),0!==r.length){var l=i.selectAll("g."+u.groupClassName).data(r,v);l.enter().append("g").classed(u.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c0||h<0){var v={left:[-p,0],right:[p,0],top:[0,-p],bottom:[0,p]}[x.side];e.attr("transform","translate("+v+")")}}}return I.call(D),O&&(S?I.on(".opacity",null):(T=0,A=!0,I.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)})),I.call(u.makeEditable,{gd:t}).on("edit",function(e){void 0!==y?o.call("_guiRestyle",t,v,e,y):o.call("_guiRelayout",t,v,e)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(D)}).on("input",function(t){this.text(t||" ").call(u.positionText,b.x,b.y)})),I.classed("js-placeholder",A),w}}},{"../../constants/alignment":685,"../../constants/interactions":691,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"../color":591,"../drawing":612,d3:164,"fast-isnumeric":227}],679:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=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}});e.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:c,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:i(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:a.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/font_attributes":790,"../../plots/pad_attributes":824,"../color/attributes":590}],680:[function(t,e,r){"use strict";e.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:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],681:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("./constants").name,s=i.buttons;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}o("visible",a(t,e,{name:"buttons",handleItemDefaults:c}).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 c(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"./attributes":679,"./constants":680}],682:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("../../constants/alignment").LINE_SPACING,h=t("./constants"),f=t("./scrollbox");function p(t){return t._index}function d(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function g(t,e,r,n,a,i,o,s){e.active=o,c(t.layout,h.name,e).applyUpdate("active",o),"buttons"===e.type?m(t,n,null,null,e):"dropdown"===e.type&&(a.attr(h.menuIndexAttrName,"-1"),v(t,n,a,i,e),s||m(t,n,a,i,e))}function v(t,e,r,n,a){var i=s.ensureSingle(e,"g",h.headerClassName,function(t){t.style("pointer-events","all")}),l=a._dims,c=a.active,u=a.buttons[c]||h.blankHeaderOpts,f={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};i.call(y,a,u,t).call(M,a,f,p),s.ensureSingle(e,"text",h.headerArrowClassName,function(t){t.classed("user-select-none",!0).attr("text-anchor","end").call(o.font,a.font).text(h.arrowSymbol[a.direction])}).attr({x:l.headerWidth-h.arrowOffsetX+a.pad.l,y:l.headerHeight/2+h.textOffsetY+a.pad.t}),i.on("click",function(){r.call(S,String(d(r,a)?-1:a._index)),m(t,e,r,n,a)}),i.on("mouseover",function(){i.call(w)}),i.on("mouseout",function(){i.call(k,a)}),o.setTranslate(e,l.lx,l.ly)}function m(t,e,r,i,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,c="dropdown"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll("g."+c).data(s.filterVisible(l)),f=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(f.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,v=0,m=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?v=m.headerHeight+h.gapButtonHeader:d=m.headerWidth+h.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(v=-h.gapButtonHeader+h.gapButton-m.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-m.openWidth);var b={x:m.lx+d+o.pad.l,y:m.ly+v+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},T={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each(function(s,l){var c=n.select(this);c.call(y,o,s,t).call(M,o,b),c.on("click",function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(g(t,o,0,e,r,i,-1),a.executeAPICommand(t,s.method,s.args2)):(g(t,o,0,e,r,i,l),a.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))}),c.on("mouseover",function(){c.call(w)}),c.on("mouseout",function(){c.call(k,o),u.call(_,o)})}),u.call(_,o),x?(T.w=Math.max(m.openWidth,m.headerWidth),T.h=b.y-T.t):(T.w=b.x-T.l,T.h=Math.max(m.openHeight,m.headerHeight)),T.direction=o.direction,i&&(u.size()?function(t,e,r,n,a,i){var o,s,l,c=a.direction,u="up"===c||"down"===c,f=a._dims,p=a.active;if(u)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(h.containerClassName,!0).style("cursor","pointer"),o.exit().each(function(){n.select(this).selectAll("g."+h.headerGroupClassName).each(i)}).remove(),0!==r.length){var l=o.selectAll("g."+h.headerGroupClassName).data(r,p);l.enter().append("g").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",h.dropdownButtonGroupClassName,function(t){t.style("pointer-events","all")}),u=0;uw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=v+m;E+M>c&&(E=c-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(T?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(a.fill,s.barColor),T?(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=m>k,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,z=d+g,I=v;z+P>l&&(z=l-P);var D=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(a.fill,s.barColor),C?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:I,width:P,height:O}),this._vbarYMin=I+O/2,this._vbarTranslateMax=k-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=C?h+P+.5:h+.5,N=f-.5,j=T?p+M+.5:p+.5,V=o._topdefs.selectAll("#"+R).data(T||C?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",R).append("rect"),T||C?(this._clipRect=V.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(i.setClipUrl,R,this.gd),this.bg.attr({x:d,y:v,width:g,height:m})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),T||C){var U=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(U);var q=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));T&&this.hbar.on(".drag",null).call(q),C&&this.vbar.on(".drag",null).call(q)}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(i.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,a=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,a)-r)/(a-r)*(this.position.w-this._box.w)}if(this.vbar){var i=e+this._vbarYMin,s=i+this._vbarTranslateMax;e=(o.constrain(n.event.y,i,s)-i)/(s-i)*(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(i.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 a=t/r;this.hbar.call(i.setTranslate,t+a*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(i.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":716,"../color":591,"../drawing":612,d3:164}],685:[function(t,e,r){"use strict";e.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"}}},{}],686:[function(t,e,r){"use strict";e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25b2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25bc"}}},{}],687:[function(t,e,r){"use strict";e.exports={FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format",DATE_FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md#format"}},{}],688:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],689:[function(t,e,r){"use strict";e.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]}},{}],690:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],691:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],692:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],693:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],694:[function(t,e,r){"use strict";r.version="1.51.3",t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config")();for(var n=t("./registry"),a=r.register=n.register,i=t("./plot_api"),o=Object.keys(i),s=0;splotly-logomark"}}},{}],697:[function(t,e,r){"use strict";r.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},{}],698:[function(t,e,r){"use strict";var n=t("./mod"),a=n.mod,i=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return i(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0](n=a(n,s))&&(n+=s);var i=a(t,s),o=i+s;return i>=r&&i<=n||o>=r&&o<=n}function h(t,e,r,n,a,i,c){a=a||0,i=i||0;var u,h,f,p,d,g=l([r,n]);function v(t,e){return[t*Math.cos(e)+a,i-t*Math.sin(e)]}g?(u=0,h=o,f=s):r=a&&t<=i);var a,i},pathArc:function(t,e,r,n,a){return h(null,t,e,r,n,a,0)},pathSector:function(t,e,r,n,a){return h(null,t,e,r,n,a,1)},pathAnnulus:function(t,e,r,n,a,i){return h(t,e,r,n,a,i,1)}}},{"./mod":723}],699:[function(t,e,r){"use strict";var n=Array.isArray,a="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i="undefined"==typeof DataView?function(){}:DataView;function o(t){return a.isView(t)&&!(t instanceof i)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,a=0;aa.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,a){t%1||!n(t)||void 0!==a.min&&ta.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var a="number"==typeof t;!0!==n.strict&&a?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){a(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return a(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(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var a=n.regex||c(r);"string"==typeof t&&a.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("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var a=t.split("+"),i=0;i=n&&t<=a?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=_(e),m=t.charAt(0);!c||"G"!==m&&"g"!==m||(t=t.substr(1),e="");var w=c&&"chinese"===e.substr(0,7),k=t.match(w?x:y);if(!k)return u;var T=k[1],A=k[3]||"1",M=Number(k[5]||1),S=Number(k[7]||0),E=Number(k[9]||0),L=Number(k[11]||0);if(c){if(2===T.length)return u;var C;T=Number(T);try{var P=v.getComponentMethod("calendars","getCal")(e);if(w){var O="i"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(T,P.toMonthIndex(T,A,O),M)}else C=P.newDate(T,Number(A),M)}catch(t){return u}return C?(C.toJD()-g)*h+S*f+E*p+L*d:u}T=2===T.length?(Number(T)+2e3-b)%100+b:Number(T),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(T),z.getUTCMonth()!==A?u:z.getUTCDate()!==M?u:z.getTime()+L*d},n=r.MIN_MS=r.dateTime2ms("-9999"),a=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*h,T=3*f,A=5*p;function M(t,e,r,n,a){if((e||r||n||a)&&(t+=" "+w(e,2)+":"+w(r,2),(n||a)&&(t+=":"+w(n,2),a))){for(var i=4;a%10==0;)i-=1,a/=10;t+="."+w(a,i)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=a))return u;e||(e=0);var i,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/h)+g,E=Math.floor(l(t,h));try{i=v.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){i=m("G%Y-%m-%d")(new Date(w))}if("-"===i.charAt(0))for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=e=n+h&&t<=a-h))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(i.time.format("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function E(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 a=new Date(Math.floor(e+.05));if(_(n))try{t=v.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(a)}var L=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,a,i){if(a=_(a)&&a,!e)if("y"===r)e=i.year;else if("m"===r)e=i.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,h),n=w(Math.floor(r/f),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var a=(100+Math.min(l(t/d,60),L[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(t,r)+"\n"+E(i.dayMonthYear,t,n,a);e=i.dayMonth+"\n"+i.year}return E(e,t,n,a)};var C=3*h;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,h);if(t=Math.round(t-n),r)try{var a=Math.round(t/h)+g,i=v.getComponentMethod("calendars","getCal")(r),o=i.fromJD(a);return e%12?i.add(o,e,"m"):i.add(o,e/12,"y"),(o.toJD()-g)*h+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+C);return c.setUTCMonth(c.getUTCMonth()+e)+n-C},r.findExactDates=function(t,e){for(var r,n,a=0,i=0,s=0,l=0,c=_(e)&&v.getComponentMethod("calendars","getCal")(e),u=0;u0&&(r.push(a),a=[])}return a.length>0&&r.push(a),r},r.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}function l(t,e,r,n,a){var i=n*t+a*e;if(i<0)return n*n+a*a;if(i>r){var o=n-t,s=a-e;return o*o+s*s}var l=n*e-a*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,a,i,o,c){if(s(t,e,r,n,a,i,o,c))return 0;var u=r-t,h=n-e,f=o-a,p=c-i,d=u*u+h*h,g=f*f+p*p,v=Math.min(l(u,h,d,a-t,i-e),l(u,h,d,o-t,c-e),l(f,p,g,t-a,e-i),l(f,p,g,r-a,n-i));return Math.sqrt(v)},r.getTextLocation=function(t,e,r,s){if(t===a&&s===i||(n={},a=t,i=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=t.getPointAtLength(o(r,e)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return n[r]=f,f},r.clearLocationCache=function(){a=null},r.getVisibleSegment=function(t,e,r){var n,a,i=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),h=u;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(a=r);var c=r.xo?r.x-o:0,h=r.yl?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-a.x)<.1&&Math.abs(n.y-a.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var a,i,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h0?p=a:f=a,h++}return i}},{"./mod":723}],713:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("color-normalize"),o=t("../components/colorscale"),s=t("../components/color/attributes").defaultLine,l=t("./array").isArrayOrTypedArray,c=i(s),u=1;function h(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return c;var e=i(t);return e.length?e:c}function p(t){return n(t)?t:u}e.exports={formatColor:function(t,e,r){var n,a,s,d,g,v=t.color,m=l(v),y=l(e),x=o.extractOpts(t),b=[];if(n=void 0!==x.colorscale?o.makeColorScaleFuncFromTrace(t):f,a=m?function(t,e){return void 0===t[e]?c:i(n(t[e]))}:f,s=y?function(t,e){return void 0===t[e]?u:p(t[e])}:p,m||y)for(var _=0;_o?s:a(t)?Number(t):s:s},l.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(a(t)&&t>=0&&t%1==0)},l.noop=t("./noop"),l.identity=t("./identity"),l.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))},l.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},l.simpleMap=function(t,e,r,n){for(var a=t.length,i=new Array(a),o=0;o=Math.pow(2,r)?a>10?(l.warn("randstr failed uniqueness"),c):t(e,r,n,(a||0)+1):c},l.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},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,a,i,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(a-=s*Math.floor(a/s)),a<0?a=-1-a:a>=o&&(a=s-1-a),i+=t[a]*c[n];u[r]=i}return u},l.syncOrAsync=function(t,e,r){var n;function a(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(a).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,a=!1,i=!0;for(n=0;n0?e:0})},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var a=0;a1?a+o[1]:"";if(i&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+i+"$2");return s+l},l.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var L=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(l.TEMPLATE_STRING_REGEX,function(t,n){return L.test(n)?e[n]||"":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||"")})};var C={max:10,count:0,name:"hovertemplate"};l.hovertemplateString=function(){return z.apply(C,arguments)};var P={max:10,count:0,name:"texttemplate"};l.texttemplateString=function(){return z.apply(P,arguments)};var O=/^[:|\|]/;function z(t,e,r){var a=this,i=arguments;e||(e={});var o={};return t.replace(l.TEMPLATE_STRING_REGEX,function(t,s,c){var u,h,f,p;for(f=3;f=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(a=10*a+s-48),!l||!c){if(n!==a)return n-a;if(o!==s)return o-s}}return a-n};var I=2e9;l.seedPseudoRandom=function(){I=2e9},l.pseudoRandom=function(){var t=I;return I=(69069*I+1)%4294967296,Math.abs(I-t)<429496729?l.pseudoRandom():I/4294967296},l.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},a=l.extractOption(t,e,"htx","hovertext");if(l.isValidTextValue(a))return n(a);var i=l.extractOption(t,e,"tx","text");return l.isValidTextValue(i)?n(i):void 0},l.isValidTextValue=function(t){return t||0===t},l.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;n2)return c[e]=2|c[e],f.set(t,null);if(h){for(o=e;o1){for(var t=["LOG:"],e=0;e0){for(var t=["WARN:"],e=0;e0){for(var t=["ERROR:"],e=0;ee/2?t-Math.round(t/e)*e:t}}},{}],724:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./array").isArrayOrTypedArray;e.exports=function(t,e){if(n(e))e=String(e);else if("string"!=typeof e||"[-1]"===e.substr(e.length-4))throw"bad property string";for(var r,i,o,l=0,c=e.split(".");l/g),o=0;oi||c===a||cs||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===a||li||c===a||cs)return!1;var u,h,f,p,d,g=r.length,v=r[0][0],m=r[0][1],y=0;for(u=1;uMath.max(h,v)||c>Math.max(f,m)))if(cu||Math.abs(n(o,f))>a)return!0;return!1},i.filter=function(t,e){var r=[t[0]],n=0,a=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(a+1);for(var c=l+1;c1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{"../constants/numerical":692,"./matrix":722}],729:[function(t,e,r){(function(r){"use strict";var n=t("./show_no_webgl_msg"),a=t("regl");e.exports=function(t,e){var i=t._fullLayout,o=!0;return i._glcanvas.each(function(n){if(!n.regl&&(!n.pick||i._has("parcoords"))){try{n.regl=a({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}o&&this.addEventListener("webglcontextlost",function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})},!1)}}),o||n({container:i._glcontainer.node()}),o}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./show_no_webgl_msg":737,regl:500}],730:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;na.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(t.framework&&t.framework.isPolar)t.framework.undo();else 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 c(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,u,h=0,f=e.length,p=0,d=f>1?(e[f-1]-e[0])/(f-1):1;for(u=d>=0?r?o:s:r?c:l,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);h90&&a.log("Long binary search..."),h-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,a=e[n]-e[0]||1,i=a/(n||1)/1e4,o=[e[0]],s=0;se[s]+i&&(a=Math.min(a,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:a}},r.roundUp=function(t,e,r){for(var n,a=0,i=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;a0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||i;for(var r,n=1/0,a=0;ai.length)&&(o=i.length),n(e)||(e=!1),a(i[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)]}},{"./array":699,"fast-isnumeric":227}],739:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":121}],740:[function(t,e,r){"use strict";var n=t("d3"),a=t("../lib"),i=t("../constants/xmlns_namespaces"),o=t("../constants/alignment").LINE_SPACING;function s(t,e){return t.node().getBoundingClientRect()[e]}var l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,M){var S=t.text(),L=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&S.match(l),C=n.select(t.node().parentNode);if(!C.empty()){var P=t.attr("class")?t.attr("class").split(" ")[0]:"text";return P+="-math",C.selectAll("svg."+P).remove(),C.selectAll("g."+P+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),L?(e&&e._promises||[]).push(new Promise(function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),i={fontSize:r};!function(t,e,r){var i,o,s,l;MathJax.Hub.Queue(function(){return o=a.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})},function(){if("SVG"!==(i=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")},function(){var r="math-output-"+a.randstr({},64);return l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text(t.replace(c,"\\lt ").replace(u,"\\gt ")),MathJax.Hub.Typeset(l.node())},function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(l.select(".MathJax_SVG").empty()||!l.select("svg").node())a.log("There was an error in the tex syntax.",t),r();else{var o=l.select("svg").node().getBoundingClientRect();r(l.select(".MathJax_SVG"),e,o)}if(l.remove(),"SVG"!==i)return MathJax.Hub.setRenderer(i)},function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})}(L[2],i,function(n,a,i){C.selectAll("svg."+P).remove(),C.selectAll("g."+P+"-group").remove();var o=n&&n.select("svg");if(!o||!o.node())return O(),void e();var l=C.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(o.node()),a&&a.node()&&o.node().insertBefore(a.node().cloneNode(!0),o.node().firstChild),o.attr({class:P,height:i.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var c=t.node().style.fill||"black",u=o.select("g");u.attr({fill:c,stroke:c});var h=s(u,"width"),f=s(u,"height"),p=+t.attr("x")-h*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],d=-(r||s(t,"height"))/4;"y"===P[0]?(l.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+") translate("+[-h/2,d-f/2]+")"}),o.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===P[0]?o.attr({x:t.attr("x"),y:d-f/2}):"a"===P[0]&&0!==P.indexOf("atitle")?o.attr({x:0,y:d}):o.attr({x:p,y:+t.attr("y")+d-f/2}),M&&M.call(t,l),e(l)})})):O(),t}function O(){C.empty()||(P=t.attr("class")+"-math",C.select("svg."+P).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(v," ");var r,s=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(i.svg,"tspan");n.select(e).attr({class:"line",dy:c*o+"em"}),t.appendChild(e),r=e;var a=l;if(l=[{node:e}],a.length>1)for(var s=1;s doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else a.log("Ignoring unexpected end tag .",e)}x.test(e)?u():(r=t,l=[{node:t}]);for(var C=e.split(m),P=0;P|>|>)/g;var 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"},f={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},d="\u200b",g=["http:","https:","mailto:","",void 0,":"],v=r.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,x=//i;r.BR_TAG_ALL=//gi;var b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function T(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&E(n)}var A=/(^|;)\s*color:/;r.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"],a="...".length,i=t.split(m),o=[],s="",l=0,c=0;ca?o.push(u.substr(0,d-a)+"..."):o.push(u.substr(0,d));break}s=""}}return o.join("")};var M={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},S=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function E(t){return t.replace(S,function(t,e){return("#"===e.charAt(0)?function(t){if(t>1114111)return;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)):M[e])||t})}function L(t,e,r){var n,a,i,o=r.horizontalAlign,s=r.verticalAlign||"top",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===s?function(){return l.bottom-n.height}:"middle"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},i="right"===o?function(){return l.right-n.width}:"center"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:a()-c.top+"px",left:i()-c.left+"px","z-index":1e3}),this}}r.convertEntities=E,r.lineCount=function(t){return t.selectAll("tspan.line").size()||1},r.positionText=function(t,e,r){return t.each(function(){var t=n.select(this);function a(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var i=a("x",e),o=a("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:i,y:o})})},r.makeEditable=function(t,e){var r=e.gd,a=e.delegate,i=n.dispatch("edit","input","cancel"),o=a||t;if(t.style({"pointer-events":a?"none":"all"}),1!==t.size())throw new Error("boo");function s(){!function(){var a=n.select(r).select(".svg-container"),o=a.append("div"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr("data-unformatted"));o.classed("plugin-editable editable",!0).style({position:"absolute","font-family":s.fontFamily||"Arial","font-size":c,color:e.fill||s.fill||"black",opacity:1,"background-color":e.background||"transparent",outline:"#ffffff33 1px solid",margin:[-c/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(u).call(L(t,a,e)).on("blur",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,a=n.select(this).attr("class");(e=a?"."+a.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on("mouseup",null),i.edit.call(t,o)}).on("focus",function(){var t=this;r._editing=!0,n.select(document).on("mouseup",function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on("keyup",function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on("blur",function(){return!1}).transition().remove(),i.cancel.call(t,this.textContent)):(i.input.call(t,this.textContent),n.select(this).call(L(t,a,e)))}).on("keydown",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var a,s=o.attr("class");(a=s?"."+s.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(a).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on("click",s),n.rebind(t,i,"on")}},{"../constants/alignment":685,"../constants/xmlns_namespaces":693,"../lib":716,d3:164}],741:[function(t,e,r){"use strict";var n={};function a(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var i=n[t],o=Date.now();if(!i){for(var s in n)n[s].tsi.ts+e?l():i.timer=setTimeout(function(){l(),i.timer=null},e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)a(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],742:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.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}},{"fast-isnumeric":227}],743:[function(t,e,r){"use strict";var n=e.exports={},a=t("../plots/geo/constants").locationmodeToLayer,i=t("topojson-client").feature;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=a[t.locationmode],n=e.objects[r];return i(e,n).features}},{"../plots/geo/constants":792,"topojson-client":538}],744:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],745:[function(t,e,r){"use strict";e.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"}}},{}],746:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,a=n.layoutArrayContainers,i=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,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 i=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,h=(s.subplotsRegistry.ternary||{}).attrRegex,f=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e3?(P.x=1.02,P.xanchor="left"):P.x<-2&&(P.x=-.02,P.xanchor="right"),P.y>3?(P.y=1.02,P.yanchor="bottom"):P.y<-2&&(P.y=-.02,P.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e0)return t.substr(0,e)}r.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"];r.clearAxisTypes=function(t,e,r){for(var n=0;n1&&i.warn("Full array edits are incompatible with other edits",h);var y=r[""][""];if(c(y))e.set(null);else{if(!Array.isArray(y))return i.warn("Unrecognized full array edit value",h,y),!0;e.set(y)}return!g&&(f(v,m),p(t),!0)}var x,b,_,w,k,T,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=u(m,h).get(),P=[],O=-1,z=L.length;for(x=0;xL.length-(A?0:1))i.warn("index out of range",h,_);else if(void 0!==T)k.length>1&&i.warn("Insertion & removal are incompatible with edits to the same index.",h,_),c(T)?P.push(_):A?("add"===T&&(T={}),L.splice(_,0,T),C&&C.splice(_,0,{})):i.warn("Unrecognized full object edit value",h,_,T),-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),g)return!1;if(f(v,m),d!==a){var I;if(-1===O)I=S;else{for(z=Math.max(L.length,z),I=[],x=0;x=O);x++)I.push(_);for(x=O;x=t.data.length||a<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(a,n+1)>-1||a>=0&&e.indexOf(-t.data.length+a)>-1||a<0&&e.indexOf(t.data.length+a)>-1)throw new Error("each index in "+r+" must be unique.")}}function D(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),I(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&I(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function R(t,e,r,n,i){!function(t,e,r,n){var a=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("undefined"==typeof r)throw new Error("indices must be an integer or array of integers");for(var i in I(t,r,"indices"),e){if(!Array.isArray(e[i])||e[i].length!==r.length)throw new Error("attribute "+i+" must be an array of length equal to indices array length");if(a&&(!(i in n)||!Array.isArray(n[i])||n[i].length!==e[i].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 i,l,c,u,h,f=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=z(r,t.data.length-1),e)for(var g=0;g-1?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 H(t,e,r){if(t=o.getGraphDiv(t),k.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(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 a=J(t,n),i=a.flags;i.calc&&(t.calcdata=void 0);var s=[f.previousPromises];i.layoutReplot?s.push(T.layoutReplot):Object.keys(n).length&&(G(t,i,a)||f.supplyDefaults(t),i.legend&&s.push(T.doLegend),i.layoutstyle&&s.push(T.layoutStyles),i.axrange&&Y(s,a.rangesAltered),i.ticks&&s.push(T.doTicksRelayout),i.modebar&&s.push(T.doModeBar),i.camera&&s.push(T.doCamera),i.colorbars&&s.push(T.doColorBars),s.push(L)),s.push(f.rehover,f.redrag),c.add(t,H,[t,a.undoit],H,[t,a.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then(function(){return t.emit("plotly_relayout",a.eventData),t})}function G(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var a in e)if("axrange"!==a&&e[a])return!1;for(var i in r.rangesAltered){var o=d.id2name(i),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,l.range=s.range.slice(),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==i){var u=n[d.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function Y(t,e){var r=e?function(t){var r=[],n=!0;for(var a in e){var i=d.getFromId(t,a);if(r.push(a),i._matchGroup)for(var o in i._matchGroup)e[o]||r.push(o);i.automargin&&(n=!1)}return d.draw(t,r,{skipTitle:n})}:function(t){return d.draw(t,"redraw")};t.push(b,T.doAutoRangeAndConstraints,r,T.drawData,T.finalDraw)}var W=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,X=/^[xyz]axis[0-9]*\.autorange$/,Z=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function J(t,e){var r,n,a,i=t.layout,l=t._fullLayout,c=l._guiEditing,f=j(l._preGUI,c),p=Object.keys(e),g=d.list(t),v=o.extendDeepAll({},e),m={};for(q(e),p=Object.keys(e),n=0;n0&&"string"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+"."+R,B=z.parts.slice(0,D).join("."),V=s(t.layout,B).get(),U=s(l,B).get(),H=z.get();if(void 0!==I){T[O]=I,S[O]="reverse"===R?I:N(H);var G=h.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==I)for(var Y in G.impliedEdits)E(o.relativeAttr(O,Y),G.impliedEdits[Y]);if(-1!==["width","height"].indexOf(O))if(I){E("autosize",null);var J="height"===O?"width":"height";E(J,l[J])}else l[O]=t._initialAutoSize[O];else if("autosize"===O)E("width",I?null:l.width),E("height",I?null:l.height);else if(F.match(W))P(F),s(l,B+"._inputRange").set(null);else if(F.match(X)){P(F),s(l,B+"._inputRange").set(null);var Q=s(l,B).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else F.match(Z)&&s(l,B+"._inputDomain").set(null);if("type"===R){var $=V,tt="linear"===U.type&&"log"===I,et="log"===U.type&&"linear"===I;if(tt||et){if($&&$.range)if(U.autorange)tt&&($.range=$.range[1]>$.range[0]?[1,2]:[2,1]);else{var rt=$.range[0],nt=$.range[1];tt?(rt<=0&&nt<=0&&E(B+".autorange",!0),rt<=0?rt=nt/1e6:nt<=0&&(nt=rt/1e6),E(B+".range[0]",Math.log(rt)/Math.LN10),E(B+".range[1]",Math.log(nt)/Math.LN10)):(E(B+".range[0]",Math.pow(10,rt)),E(B+".range[1]",Math.pow(10,nt)))}else E(B+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,U,I,E),u.getComponentMethod("images","convertCoords")(t,U,I,E)}else E(B+".autorange",!0),E(B+".range",null);s(l,B+"._inputRange").set(null)}else if(R.match(M)){var at=s(l,O).get(),it=(I||{}).type;it&&"-"!==it||(it="linear"),u.getComponentMethod("annotations","convertCoords")(t,at,it,E),u.getComponentMethod("images","convertCoords")(t,at,it,E)}var ot=w.containerArrayMatch(O);if(ot){r=ot.array,n=ot.index;var st=ot.property,lt=G||{editType:"calc"};""!==n&&""===st&&(w.isAddVal(I)?S[O]=null:w.isRemoveVal(I)?S[O]=(s(i,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,lt),m[r]||(m[r]={});var ct=m[r][n];ct||(ct=m[r][n]={}),ct[st]=I,delete e[O]}else"reverse"===R?(V.range?V.range.reverse():(E(B+".autorange",!0),V.range=[1,0]),U.autorange?_.calc=!0:_.plot=!0):(l._has("scatter-like")&&l._has("regl")&&"dragmode"===O&&("lasso"===I||"select"===I)&&"lasso"!==H&&"select"!==H?_.plot=!0:l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,z.set(I))}}for(r in m){w.applyContainerArrayChanges(t,f(i,r),m[r],_,f)||(_.plot=!0)}var ut=l._axisConstraintGroups||[];for(L in C)for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function at(t,e){for(var r=0;r=a.length?a[0]:a[t]:a}function l(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(i,u){function h(){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,f.transition(t,e.frame.data,e.frame.layout,k.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}function p(){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&&h()};e()}var d,g,v=0;function m(t){return Array.isArray(a)?v>=a.length?t.transitionOpts=a[v]:t.transitionOpts=a[0]:t.transitionOpts=a,v++,t}var y=[],x=null==e,b=Array.isArray(e);if(x||b||!o.isPlainObject(e)){if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d0&&TT)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var a=0;a=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,v=(u[g]||d[g]||{}).name,m=e[n].name,y=u[v]||d[v];v&&m&&"number"==typeof m&&y&&Se.index?-1:t.index=0;n--){if("number"==typeof(a=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;u[a.name="frame "+t._transitionData._counter++];);if(u[a.name]){for(i=0;i=0;r--)n=e[r],i.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:a[n]});var l=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,i];return c&&c.add(t,l,h,u,p),f.modifyFrames(t,i)},r.addTraces=function t(e,n,a){e=o.getGraphDiv(e);var i,s,l=[],u=r.deleteTraces,h=t,f=[e,l],p=[e,n];for(function(t,e,r){var n,a;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=i.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!k(o))return!1;t=i[a][o]}else t=i[a]}else t=i}}return t}function k(t){return t===Math.round(t)&&t>=0}function T(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?"data_array"===t.valType?(t.role="data",n[e+"src"]={valType:"string",editType:"none"}):!0===t.arrayOk&&(n[e+"src"]={valType:"string",editType:"none"}):g(t)&&(t.role="object")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[b];if(!n)return;delete t[b],r[e]={items:{}},r[e].items[n]=t,r[e].role="object"})}(t),function(t){!function t(e){for(var r in e)if(g(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n=l.length)return!1;a=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)a=u[o];else{var h=t._module;if(h||(h=(n.modules[t.type||i.type.dflt]||{})._module),!h)return!1;if(!(a=(r=h.attributes)&&r[o])){var f=h.basePlotModule;f&&f.attributes&&(a=f.attributes[o])}a||(a=i[o])}return w(a,e,s)},r.getLayoutValObject=function(t,e){return w(function(t,e){var r,a,i,s,l=t._basePlotModules;if(l){var c;for(r=0;r=a&&(r._input||{})._templateitemname;s&&(o=a);var l,c=e+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][i]=s)}function h(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+"."+t]=e}function f(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:h,getUpdateObj:f,applyUpdate:function(e,r){e&&h(e,r);var a=f();for(var i in a)n.nestedProperty(t,i).set(a[i])}}}},{"../lib":716,"../plots/attributes":761}],755:[function(t,e,r){"use strict";var n=t("d3"),a=t("../registry"),i=t("../plots/plots"),o=t("../lib"),s=t("../lib/clear_gl_canvases"),l=t("../components/color"),c=t("../components/drawing"),u=t("../components/titles"),h=t("../components/modebar"),f=t("../plots/cartesian/axes"),p=t("../constants/alignment"),d=t("../plots/cartesian/constraints"),g=d.enforce,v=d.clean,m=t("../plots/cartesian/autorange").doAutoRange,y="start",x="middle",b="end";function _(t,e,r){for(var n=0;n=t[1]||a[1]<=t[0])&&(i[0]e[0]))return!0}return!1}function w(t){var e,a,s,u,d,g,v=t._fullLayout,m=v._size,y=m.p,x=f.list(t,"",!0);if(v._paperdiv.style({width:t._context.responsive&&v.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":v.width+"px",height:t._context.responsive&&v.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":v.height+"px"}).selectAll(".main-svg").call(c.setSize,v.width,v.height),t._context.setBackground(t,v.paper_bgcolor),r.drawMainTitle(t),h.manage(t),!v._has("cartesian"))return i.previousPromises(t);function b(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-y-n:e._offset+e._length+y+n:m.t+m.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+y+n:e._offset-y-n:m.l+m.w*(t.position||0)+n%1}for(e=0;ek?u.push({code:"unused",traceType:y,templateCount:w,dataCount:k}):k>w&&u.push({code:"reused",traceType:y,templateCount:w,dataCount:k})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var i=e[n],o=p(e,n,r);a(i)?(Array.isArray(e)&&!1===i._template&&i.templateitemname&&u.push({code:"missing",path:o,templateitemname:i.templateitemname}),t(i,o)):Array.isArray(i)&&d(i)&&t(i,o)}}({data:v,layout:f},""),u.length)return u.map(g)}},{"../lib":716,"../plots/attributes":761,"../plots/plots":825,"./plot_config":752,"./plot_schema":753,"./plot_template":754}],757:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./plot_api"),i=t("../lib"),o=t("../snapshot/helpers"),s=t("../snapshot/tosvg"),l=t("../snapshot/svgtoimg"),c={format:{valType:"enumerated",values:["png","jpeg","webp","svg"],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}};e.exports=function(t,e){var r,u,h,f;function p(t){return!(t in e)||i.validate(e[t],c[t])}if(e=e||{},i.isPlainObject(t)?(r=t.data||[],u=t.layout||{},h=t.config||{},f={}):(t=i.getGraphDiv(t),r=i.extendDeep([],t.data),u=i.extendDeep({},t.layout),h=t._context,f=t._fullLayout||{}),!p("width")&&null!==e.width||!p("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!p("format"))throw new Error("Image format is not jpeg, png, svg or webp.");var d={};function g(t,r){return i.coerce(e,d,c,t,r)}var v=g("format"),m=g("width"),y=g("height"),x=g("scale"),b=g("setBackground"),_=g("imageDataOnly"),w=document.createElement("div");w.style.position="absolute",w.style.left="-5000px",document.body.appendChild(w);var k=i.extendFlat({},u);m?k.width=m:null===e.width&&n(f.width)&&(k.width=f.width),y?k.height=y:null===e.height&&n(f.height)&&(k.height=f.height);var T=i.extendFlat({},h,{_exportedPlot:!0,staticPlot:!0,setBackground:b}),A=o.getRedrawFunc(w);function M(){return new Promise(function(t){setTimeout(t,o.getDelay(w._fullLayout))})}function S(){return new Promise(function(t,e){var r=s(w,v,x),n=w._fullLayout.width,c=w._fullLayout.height;if(a.purge(w),document.body.removeChild(w),"svg"===v)return t(_?r:o.encodeSVG(r));var u=document.createElement("canvas");u.id=i.randstr(),l({format:v,width:n,height:c,scale:x,canvas:u,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){a.plot(w,r,k,T).then(A).then(M).then(S).then(function(e){t(function(t){return _?t.replace(o.IMAGE_URL_PREFIX,""):t}(e))}).catch(function(t){e(t)})})}},{"../lib":716,"../snapshot/helpers":849,"../snapshot/svgtoimg":851,"../snapshot/tosvg":853,"./plot_api":751,"fast-isnumeric":227}],758:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/plots"),i=t("./plot_schema"),o=t("./plot_config").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,a,i,o){o=o||[];for(var h=Object.keys(t),f=0;fx.length&&a.push(p("unused",i,m.concat(x.length)));var T,A,M,S,E,L=x.length,C=Array.isArray(k);if(C&&(L=Math.min(L,k.length)),2===b.dimensions)for(A=0;Ax[A].length&&a.push(p("unused",i,m.concat(A,x[A].length)));var P=x[A].length;for(T=0;T<(C?Math.min(P,k[A].length):P);T++)M=C?k[A][T]:k,S=y[A][T],E=x[A][T],n.validate(S,M)?E!==S&&E!==+S&&a.push(p("dynamic",i,m.concat(A,T),S,E)):a.push(p("value",i,m.concat(A,T),S))}else a.push(p("array",i,m.concat(A),y[A]));else for(A=0;A1&&f.push(p("object","layout"))),a.supplyDefaults(d);for(var g=d._fullData,v=r.length,m=0;m0&&((b=A-o(v)-o(m))>M?_/b>S&&(y=v,x=m,S=_/b):_/A>S&&(y={val:v.val,pad:0},x={val:m.val,pad:0},S=_/A));if(f===p){var E=f-1,L=f+1;if(k)if(0===f)i=[0,1];else{var C=(f>0?h:u).reduce(function(t,e){return Math.max(t,o(e))},0),P=f/(1-Math.min(.5,C/A));i=f>0?[0,P]:[P,0]}else i=T?[Math.max(0,E),Math.max(1,L)]:[E,L]}else k?(y.val>=0&&(y={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):T&&(y.val-S*o(y)<0&&(y={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),S=(x.val-y.val)/(A-o(y)-o(x)),i=[y.val-S*o(y),x.val+S*o(x)];return d&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function l(t){var e=t._length/20;return"domain"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function c(t,e){var r,n,a,i=e._id,o=t._fullData,s=t._fullLayout,l=[],c=[];function f(t,e){for(r=0;r=r&&(c.extrapad||!o)){s=!1;break}a(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=i&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function p(t){return n(t)&&Math.abs(t)=e}e.exports={getAutoRange:s,makePadFn:l,doAutoRange:function(t,e){if(e.setScale(),e.autorange){e.range=s(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var r=e._input,n={};n[e._attr+".range"]=e.range,n[e._attr+".autorange"]=e.autorange,o.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,n),r.range=e.range.slice(),r.autorange=e.autorange}var i=e._anchorAxis;if(i&&i.rangeslider){var l=i.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=s(t,e)),i._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var a,o,s,l,c,f,d,g,v,m=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,k=!1,T=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return k=!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(!k){if(g=1/0,v=-1/0,w)for(a=0;a0&&(g=o),o>v&&o-i&&(g=o),o>v&&o=O;a--)P(a);return{min:m,max:y,opts:r}},concatExtremes:c}},{"../../constants/numerical":692,"../../lib":716,"../../registry":845,"fast-isnumeric":227}],764:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/titles"),u=t("../../components/color"),h=t("../../components/drawing"),f=t("./layout_attributes"),p=t("./clean_ticks"),d=t("../../constants/numerical"),g=d.ONEAVGYEAR,v=d.ONEAVGMONTH,m=d.ONEDAY,y=d.ONEHOUR,x=d.ONEMIN,b=d.ONESEC,_=d.MINUS_SIGN,w=d.BADNUM,k=t("../../constants/alignment"),T=k.MID_SHIFT,A=k.CAP_SHIFT,M=k.LINE_SPACING,S=k.OPPOSITE_SIDE,E=e.exports={};E.setConvert=t("./set_convert");var L=t("./axis_autotype"),C=t("./axis_ids");E.id2name=C.id2name,E.name2id=C.name2id,E.cleanId=C.cleanId,E.list=C.list,E.listIds=C.listIds,E.getFromId=C.getFromId,E.getFromTrace=C.getFromTrace;var P=t("./autorange");E.getAutoRange=P.getAutoRange,E.findExtremes=P.findExtremes,E.coerceRef=function(t,e,r,n,a,i){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return a||(a=l[0]||i),i||(i=a),u[c]={valType:"enumerated",values:l.concat(i?[i]:[]),dflt:a},s.coerce(t,e,u,c)},E.coercePosition=function(t,e,r,n,a,i){var o,l;if("paper"===n||"pixel"===n)o=s.ensureNumber,l=r(a,i);else{var c=E.getFromId(e,n);l=r(a,i=c.fraction2r(i)),o=c.cleanPos}t[a]=o(l)},E.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:E.getFromId(e,r).cleanPos)(t)},E.redrawComponents=function(t,e){e=e||E.listIds(t);var r=t._fullLayout;function n(n,a,i,s){for(var l=o.getComponentMethod(n,a),c={},u=0;u2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},E.saveRangeInitial=function(t,e){for(var r=E.list(t,"",!0),n=!1,a=0;a.3*f||u(n)||u(i))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));i.exactYears>.8&&o%12==0?t=E.tickIncrement(t,"M6","reverse")+1.5*m:i.exactMonths>.8?t=E.tickIncrement(t,"M1","reverse")+15.5*m:t-=m/2;var l=E.tickIncrement(t,r);if(l<=n)return l}return t}(x,t,y,c,i)),v=x,0;v<=u;)v=E.tickIncrement(v,y,!1,i),0;return{start:e.c2r(x,0,i),end:e.c2r(v,0,i),size:y,_dataSpan:u-c}},E.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if("auto"===t.tickmode||!t.dtick){var r,n=t.nticks;n||("category"===t.type||"multicategory"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r="y"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),"radialaxis"===t._name&&(n*=2)),"array"===t.tickmode&&(n*=100),E.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),q(t)},E.calcTicks=function(t){E.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if("array"===t.tickmode)return function(t){var e=t.tickvals,r=t.ticktext,n=new Array(e.length),a=s.simpleMap(t.range,t.r2l),i=1.0001*a[0]-1e-4*a[1],o=1.0001*a[1]-1e-4*a[0],l=Math.min(i,o),c=Math.max(i,o),u=0;Array.isArray(r)||(r=[]);var h="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(var f=0;fl&&p=n:h<=n)&&!(o.length>u||h===c);h=E.tickIncrement(h,t.dtick,i,t.calendar)){c=h;var f=!1;l&&h!==(0|h)&&(f=!0),o.push({minor:f,value:h})}it(t)&&360===Math.abs(e[1]-e[0])&&o.pop(),t._tmax=(o[o.length-1]||{}).value,t._prevDateHead="",t._inCalcTicks=!0;for(var p=new Array(o.length),d=0;d10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=m&&i<=10||e>=15*m)t._tickround="d";else if(e>=x&&i<=16||e>=y)t._tickround="M";else if(e>=b&&i<=19||e>=x)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(i,o)-20,t._tickround<0&&(t._tickround=4)}}else if(a(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);a(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])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(Y(t.exponentformat)&&!W(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function H(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}}E.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar);var i=2*e;i>g?(e/=g,r=n(10),t.dtick="M"+12*U(e,r,D)):i>v?(e/=v,t.dtick="M"+U(e,1,R)):i>m?(t.dtick=U(e,m,B),t.tick0=s.dateTick0(t.calendar,!0)):i>y?t.dtick=U(e,y,R):i>x?t.dtick=U(e,x,F):i>b?t.dtick=U(e,b,F):(r=n(10),t.dtick=U(e,r,D))}else if("log"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick="L"+U(e,r,D)}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,r=1,t.dtick=U(e,r,V)):(t.tick0=0,r=n(10),t.dtick=U(e,r,D));if(0===t.dtick&&(t.dtick=1),!a(t.dtick)&&"string"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(c)}},E.tickIncrement=function(t,e,r,i){var o=r?-1:1;if(a(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,i);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?j:N,h=t+.01*o,f=s.roundUp(s.mod(h,1),u,r);return Math.floor(h)+Math.log(n.round(Math.pow(10,f),1))/Math.LN10}throw"unrecognized dtick "+String(e)},E.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),i=r[1]"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):"log"===u?function(t,e,r,n,i){var o=t.dtick,l=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);"never"===i&&(i="");n&&"L"!==u&&(o="L3",u="L");if(c||"L"===u)e.text=X(Math.pow(10,l),t,i,n);else if(a(o)||"D"===u&&s.mod(l+.01,1)<.1){var h=Math.round(l),f=Math.abs(h),p=t.exponentformat;"power"===p||Y(p)&&W(h)?(e.text=0===h?1:1===h?"10":"10"+(h>1?"":_)+f+"",e.fontSize*=1.25):("e"===p||"E"===p)&&f>2?e.text="1"+p+(h>0?"+":_)+f:(e.text=X(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==u)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,c,g):"category"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"multicategory"===u?function(t,e,r){var n=Math.round(e.x),a=t._categories[n]||[],i=void 0===a[1]?"":String(a[1]),o=void 0===a[0]?"":String(a[0]);r?e.text=o+" - "+i:(e.text=i,e.text2=o)}(t,o,r):it(t)?function(t,e,r,n,a){if("radians"!==t.thetaunit||r)e.text=X(e.x,t,a,n);else{var i=e.x/180;if(0===i)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,a=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/a),Math.round(r/a)]}(i);if(o[1]>=100)e.text=X(s.deg2rad(e.x),t,a,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["",o[0],"","\u2044","",o[1],"","\u03c0"].join(""),l&&(e.text=_+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,a){"never"===a?a="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(a="hide");e.text=X(e.x,t,a,n)}(t,o,0,c,g),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),"boundaries"===t.tickson||t.showdividers){var v=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[v(o.x-.5),v(o.x+t.dtick-.5)]}return o},E.hoverLabelText=function(t,e,r){if(r!==w&&r!==e)return E.hoverLabelText(t,e)+" - "+E.hoverLabelText(t,r);var n="log"===t.type&&e<=0,a=E.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":_+a:a};var G=["f","p","n","\u03bc","m","","k","M","G","T"];function Y(t){return"SI"===t||"B"===t}function W(t){return t>14||t<-15}function X(t,e,r,n){var i=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=E.getTickFormat(e),h=e.separatethousands;if(n){var f={exponentformat:l,dtick:"none"===e.showexponent?e.dtick:a(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};q(f),o=(Number(f._tickround)||0)+4,c=f._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,_);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))"+p+"":"B"===l&&9===c?t+="B":Y(l)&&(t+=G[c/3+5]));return i?_+t:t}function Z(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join("_")}function J(t){var e=t.title.font.size,r=(t.title.text.match(l.BR_TAG_ALL)||[]).length;return t.title.hasOwnProperty("standoff")?r?e*(A+r*M):e*A:r?e*(r+1)*M:e}function K(t,e){var r=t.l2p(e);return r>1&&r=0,i=u(t,e[1])<=0;return(r||a)&&(n||i)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(a)))){r=n;break}break;case"log":for(e=0;e0?r.bottom-u:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if("x"===d){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?u-r.top:0,h),p.reverse()),r.width>0){var v=r.right-(e._offset+e._length);v>0&&(n.xr=1,n.r=v);var m=e._offset-r.left;m>0&&(n.xl=0,n.l=m)}}else if("l"===l?n[l]=e._depth=Math.max(r.height>0?u-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-u:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[g]="free"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==f._dfltTitle[d]&&(n[l]+=J(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((a={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(a[c]+=h),!0===e.mirror||"ticks"===e.mirror?a[g]=e._anchorAxis.domain[p[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(a[g]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}K&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),i.autoMargin(t,$(e),n),i.autoMargin(t,tt(e),a),i.autoMargin(t,et(e),s)}),r.skipTitle||K&&"bottom"===e.side||W.push(function(){return function(t,e){var r,n=t._fullLayout,a=e._id,i=a.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty("standoff"))r=e._depth+e.title.standoff+J(e);else{if("multicategory"===e.type)r=e._depth;else{r=10+1.5*o+(e.linewidth?e.linewidth-1:0)}r+="x"===i?"top"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):"right"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0)}var s,l,u,f,p=E.getPxPosition(t,e);"x"===i?(l=e._offset+e._length/2,u="top"===e.side?p-r:p+r):(u=e._offset+e._length/2,l="right"===e.side?p+r:p-r,s={rotate:"-90",offset:0});if("multicategory"!==e.type){var d=e._selections[e._id+"tick"];if(f={selection:d,side:e.side},d&&d.node()&&d.node().parentNode){var g=h.getTranslate(d.node().parentNode);f.offsetLeft=g.x,f.offsetTop=g.y}e.title.hasOwnProperty("standoff")&&(f.pad=0)}return c.draw(t,a+"title",{propContainer:e,propName:e._name+".title.text",placeholder:n._dfltTitle[i],avoid:f,transform:s,attributes:{x:l,y:u,"text-anchor":"middle"}})}(t,e)}),s.syncOrAsync(W)}},E.getTickSigns=function(t){var e=t._id.charAt(0),r={x:"top",y:"right"}[e],n=t.side===r?1:-1,a=[-1,1,n,-n];return"inside"!==t.ticks==("x"===e)&&(a=a.map(function(t){return-t})),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},E.makeTransFn=function(t){var e=t._id.charAt(0),r=t._offset;return"x"===e?function(e){return"translate("+(r+t.l2p(e.x))+",0)"}:function(e){return"translate(0,"+(r+t.l2p(e.x))+")"}},E.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var a=t._id.charAt(0),i=(t.linewidth||1)/2;return"x"===a?"M0,"+(e+i*r)+"v"+n*r:"M"+(e+i*r)+",0h"+n*r},E.makeLabelFns=function(t,e,r){var n=t._id.charAt(0),i="boundaries"!==t.tickson&&"outside"===t.ticks,o=0,l=0;if(i&&(o+=t.ticklen),r&&"outside"===t.ticks){var c=s.deg2rad(r);o=t.ticklen*Math.cos(c)+1,l=t.ticklen*Math.sin(c)}t.showticklabels&&(i||t.showline)&&(o+=.2*t.tickfont.size);var u,h,f,p,d={labelStandoff:o+=(t.linewidth||1)/2,labelShift:l};return"x"===n?(p="bottom"===t.side?1:-1,u=l*p,h=e+o*p,f="bottom"===t.side?1:-.2,d.xFn=function(t){return t.dx+u},d.yFn=function(t){return t.dy+h+t.fontSize*f},d.anchorFn=function(t,e){return a(e)&&0!==e&&180!==e?e*p<0?"end":"start":"middle"},d.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side?-n:0}):"y"===n&&(p="right"===t.side?1:-1,u=o,h=-l*p,f=90===Math.abs(t.tickangle)?.5:0,d.xFn=function(t){return t.dx+e+(u+t.fontSize*f)*p},d.yFn=function(t){return t.dy+h+t.fontSize*T},d.anchorFn=function(e,r){return a(r)&&90===Math.abs(r)?"middle":"right"===t.side?"start":"end"},d.heightFn=function(e,r,n){return(r*="left"===t.side?1:-1)<-30?-n:r<30?-.5*n:0}),d},E.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",a=r.layer.selectAll("path."+n).data(e.ticks?r.vals:[],Z);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(u.stroke,e.tickcolor).style("stroke-width",h.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),a.attr("transform",r.transFn)},E.drawGrid=function(t,e,r){r=r||{};var n=e._id+"grid",a=r.vals,i=r.counterAxis;if(!1===e.showgrid)a=[];else if(i&&E.shouldShowZeroLine(t,e,i))for(var o="array"===e.tickmode,s=0;s1)for(n=1;n2*o}(t,e)?"date":function(t){for(var e=Math.max(1,(t.length-1)/1e3),r=0,n=0,o={},s=0;s2*r}(t)?"category":function(t){if(!t)return!1;for(var e=0;en?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.getAxisGroup=function(t,e){for(var r=t._axisMatchGroups,n=0;n0;o&&(a="array");var s,l=r("categoryorder",a);"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,a,i=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nl*x)||k)for(r=0;rz&&RP&&(P=R);p/=(P-C)/(2*O),C=c.l2r(C),P=c.l2r(P),c.range=c._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function I(t,e,r,n,a){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","translate("+r+", "+n+")").attr("d",a+"Z")}function D(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("transform","translate("+e+", "+r+")").attr("d","M0,0Z")}function R(t,e,r,n,a,i){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),F(t,e,a,i)}function F(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 B(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function N(t){S&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),S=!1)}function j(t){return"lasso"===t||"select"===t}function V(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,M)/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 U(t,e,r,n){for(var a,i,o,l,c=!1,u={},h={},f=0;f-1&&w(a,t,X,Z,e.id,St),i.indexOf("event")>-1&&h.click(t,a,e.id);else if(1===r&&pt){var s=S?G:F,c="s"===S||"w"===E?0:1,u=s._name+".range["+c+"]",f=function(t,e){var r,a=t.range[e],i=Math.abs(a-t.range[1-e]);return"date"===t.type?a:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,a))):(r=Math.floor(Math.log(Math.abs(a))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,n.format("."+String(r)+"g")(a))}(s,c),p="left",d="middle";if(s.fixedrange)return;S?(d="n"===S?"top":"bottom","right"===s.side&&(p="right")):"e"===E&&(p="right"),t._context.showAxisRangeEntryBoxes&&n.select(vt).call(l.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:p,verticalAlign:d}).on("edit",function(e){var r=s.d2r(e);void 0!==r&&o.call("_guiRelayout",t,u,r)})}}function Ct(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(Q,e+mt)),a=Math.max(0,Math.min($,r+yt)),i=Math.abs(n-mt),o=Math.abs(a-yt);function s(){kt="",xt.r=xt.l,xt.t=xt.b,At.attr("d","M0,0Z")}if(xt.l=Math.min(mt,n),xt.r=Math.max(mt,n),xt.t=Math.min(yt,a),xt.b=Math.max(yt,a),tt.isSubplotConstrained)i>M||o>M?(kt="xy",i/Q>o/$?(o=i*$/Q,yt>a?xt.t=yt-o:xt.b=yt+o):(i=o*Q/$,mt>n?xt.l=mt-i:xt.r=mt+i),At.attr("d",V(xt))):s();else if(et.isSubplotConstrained)if(i>M||o>M){kt="xy";var l=Math.min(xt.l/Q,($-xt.b)/$),c=Math.max(xt.r/Q,($-xt.t)/$);xt.l=l*Q,xt.r=c*Q,xt.b=(1-l)*$,xt.t=(1-c)*$,At.attr("d",V(xt))}else s();else!nt||og[1]-1/4096&&(e.domain=s),a.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":716,"fast-isnumeric":227}],780:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var a=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=a[0]+(a[1]-a[0])*r;t.range=t._input.range=[t.l2r(i+(a[0]-i)*e),t.l2r(i+(a[1]-i)*e)]}},{"../../constants/alignment":685}],781:[function(t,e,r){"use strict";var n=t("polybooljs"),a=t("../../registry"),i=t("../../components/color"),o=t("../../components/fx"),s=t("../../lib"),l=t("../../lib/polygon"),c=t("../../lib/throttle"),u=t("../../components/fx/helpers").makeEventData,h=t("./axis_ids").getFromId,f=t("../../lib/clear_gl_canvases"),p=t("../../plot_api/subroutines").redrawReglTraces,d=t("./constants"),g=d.MINSELECT,v=l.filter,m=l.tester;function y(t){return t._id}function x(t,e,r,n,a,i,o){var s,l,c,u,h,f,p,d,g,v=e._hoverdata,m=e._fullLayout.clickmode.indexOf("event")>-1,y=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(v)){k(t,e,i);var x=function(t,e){var r,n,a=t[0],i=-1,o=[];for(n=0;n0?function(t,e){var r,n,a,i=[];for(a=0;a0&&i.push(r);if(1===i.length&&i[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(a=0;a1)return!1;if((a+=r.selectedpoints.length)>1)return!1}return 1===a}(s)&&(f=S(x))){for(o&&o.remove(),g=0;g0?"M"+a.join("M")+"Z":"M0,0Z",e.attr("d",n)}function S(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,a=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(a)>-1}function E(t,e,r){var n,i,o,s;for(n=0;n-1&&x(e,S,a.xaxes,a.yaxes,a.subplot,a,G),"event"===r&&S.emit("plotly_selected",void 0);o.click(S,e)}).catch(s.error)},a.doneFn=function(){W.remove(),c.done(X).then(function(){c.clear(X),a.gd.emit("plotly_selected",_),p&&a.selectionDefs&&(p.subtract=H,a.selectionDefs.push(p),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,f)),a.doneFnCompleted&&a.doneFnCompleted(Z)}).catch(s.error)}},clearSelect:C,selectOnClick:x}},{"../../components/color":591,"../../components/fx":629,"../../components/fx/helpers":626,"../../lib":716,"../../lib/clear_gl_canvases":701,"../../lib/polygon":728,"../../lib/throttle":741,"../../plot_api/subroutines":755,"../../registry":845,"./axis_ids":767,"./constants":770,polybooljs:474}],782:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=i.cleanNumber,s=i.ms2DateTime,l=i.dateTime2ms,c=i.ensureNumber,u=i.isArrayOrTypedArray,h=t("../../constants/numerical"),f=h.FP_SAFE,p=h.BADNUM,d=h.LOG_CLIP,g=t("./constants"),v=t("./axis_ids");function m(t){return Math.pow(10,t)}function y(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||"x",h=r.charAt(0);function x(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],a=t.range[1];return.5*(n+a-2*d*Math.abs(n-a))}return p}function b(e,r,n){var o=l(e,n||t.calendar);if(o===p){if(!a(e))return p;e=+e;var s=Math.floor(10*i.mod(e+.05,1)),c=Math.round(e-s/10);o=l(new Date(c))+s/10}return o}function _(e,r,n){return s(e,r,n||t.calendar)}function w(e){return t._categories[Math.round(e)]}function k(e){if(y(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 p}function T(e){if(t._categoriesMap)return t._categoriesMap[e]}function A(t){var e=T(t);return void 0!==e?e:a(t)?+t:void 0}function M(e){return a(e)?n.round(t._b+t._m*e,2):p}function S(e){return(e-t._b)/t._m}t.c2l="log"===t.type?x:c,t.l2c="log"===t.type?m:c,t.l2p=M,t.p2l=S,t.c2p="log"===t.type?function(t,e){return M(x(t,e))}:M,t.p2c="log"===t.type?function(t){return m(S(t))}:S,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=S,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return x(o(t),e)},t.r2d=t.r2c=function(t){return m(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=x,t.l2d=m,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return m(S(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=S,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=i.identity,t.d2c=t.r2c=t.d2l=t.r2l=b,t.c2d=t.c2r=t.l2d=t.l2r=_,t.d2p=t.r2p=function(e,r,n){return t.l2p(b(e,0,n))},t.p2d=t.p2r=function(t,e,r){return _(S(t),e,r)},t.cleanPos=function(e){return i.cleanDate(e,p,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=k,t.r2d=t.c2d=t.l2d=w,t.d2r=t.d2l_noadd=A,t.r2c=function(e){var r=A(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=A,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return w(S(t))},t.r2p=t.d2p,t.p2r=S,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=w,t.d2r=t.d2l_noadd=A,t.r2c=function(e){var r=A(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=T,t.l2r=t.c2r=c,t.r2l=A,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return w(S(t))},t.r2p=t.d2p,t.p2r=S,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:c(t)},t.setupMultiCategory=function(n){var a,o,s=t._traceIndices,l=e._axisMatchGroups;if(l&&l.length&&0===t._categories.length)for(a=0;af&&(s[n]=f),s[0]===s[1]){var c=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=c,s[1]+=c}}else i.nestedProperty(t,e).set(o)},t.setScale=function(r){var n=e._size;if(t.overlaying){var a=v.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var i=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(i);var s=t.r2l(t[i][0],o),l=t.r2l(t[i][1],o);if("y"===h?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(s-l),t._b=-t._m*l):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(l-s),t._b=-t._m*s),!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.makeCalcdata=function(e,r){var n,a,o,s,l=t.type,c="date"===l&&e[r+"calendar"];if(r in e){if(n=e[r],s=e._length||i.minRowLength(n),i.isTypedArray(n)&&("linear"===l||"log"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}if("multicategory"===l)return function(t,e){for(var r=new Array(e),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 v(e,r){var n=e.plotinfo,a=n.xaxis,l=n.yaxis,c=a._length,u=l._length,h=!!e.xr1,f=!!e.yr1,p=[];if(h){var d=i.simpleMap(e.xr0,a.r2l),g=i.simpleMap(e.xr1,a.r2l),v=d[1]-d[0],m=g[1]-g[0];p[0]=(d[0]*(1-r)+r*g[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*m/v),a.range[0]=a.l2r(d[0]*(1-r)+r*g[0]),a.range[1]=a.l2r(d[1]*(1-r)+r*g[1])}else p[0]=0,p[2]=c;if(f){var y=i.simpleMap(e.yr0,l.r2l),x=i.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=a.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,a,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[a._id,l._id]);var w=h?c/p[2]:1,k=f?u/p[3]:1,T=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=a._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,T,A).call(o.setScale,1/w,1/k),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,k),o.setPointGroupScale(n.zoomScalePts,1/w,1/k),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/k)}s.redrawComponents(t)}},{"../../components/drawing":612,"../../lib":716,"../../registry":845,"./axes":764,d3:164}],787:[function(t,e,r){"use strict";var n=t("../../registry").traceIs,a=t("./axis_autotype");function i(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=i(t),a=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return a&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,s){"-"===r("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r=t._id,s=r.charAt(0);-1!==r.indexOf("scene")&&(r=s);var l=function(t,e,r){for(var n=0;n0&&(a["_"+r+"axes"]||{})[e])return a;if((a[r+"axis"]||r)===e){if(o(a,r))return a;if((a[r]||[]).length||a[r+"0"])return a}}}(e,r,s);if(!l)return;if("histogram"===l.type&&s==={v:"y",h:"x"}[l.orientation||"v"])return void(t.type="linear");var c,u=s+"calendar",h=l[u],f={noMultiCategory:!n(l,"cartesian")||n(l,"noMultiCategory")};if(o(l,s)){var p=i(l),d=[];for(c=0;c0?".":"")+i;a.isPlainObject(o)?l(o,e,s,n+1):e(s,i,o)}})}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){i(t,c,s.cache),s.check=function(){if(l){var e=i(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;ha*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],a=t[1][1]-t[0][1],i=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),i&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),a/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(a-s*(o[1][1]+o[0][1]))/2;return i&&r.clipExtent(i),r.scale(150*s).translate([l,c])},r.precision(g.precision),a&&r.clipAngle(a-g.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var h=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],f=e.lonaxis,p=e.lataxis,d=function(t,e){var r=g.clipPad,n=t[0]+r,a=t[1]-r,i=e[0]+r,o=e[1]-r;n>0&&a<0&&(a+=360);var s=(a-n)/4;return{type:"Polygon",coordinates:[[[n,i],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[a,o],[a,i],[a-s,i],[a-2*s,i],[a-3*s,i],[n,i]]]}}(f.range,p.range);u.fitExtent(h,d);var v=this.bounds=u.getBounds(d),m=this.fitScale=u.scale(),y=u.translate();if(!isFinite(v[0][0])||!isFinite(v[0][1])||!isFinite(v[1][0])||!isFinite(v[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=["projection.rotation","center","lonaxis.range","lataxis.range"],_="Invalid geo settings, relayout'ing to default view.",w={},k=0;k-1&&p(n.event,i,[r.xaxis],[r.yaxis],r.id,g),c.indexOf("event")>-1&&l.click(i,n.event))})}function v(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},x.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,a="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",a),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(s.setClipUrl,a,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"},u.setConvert(t.mockAxis,r)},x.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale}:t._isClipped?this.viewInitial={"projection.scale":r.scale,"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale,"projection.rotation.lon":n.lon}},x.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?"translate("+r[0]+","+r[1]+")":null}function a(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",a).attr("transform",n)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/topojson_utils":743,"../../registry":845,"../cartesian/axes":764,"../cartesian/select":781,"../plots":825,"./constants":792,"./projections":797,"./zoom":798,d3:164,"topojson-client":538}],794:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getSubplotCalcData,a=t("../../lib").counterRegex,i=t("./geo"),o="geo",s=a(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots[o],s=0;s0&&w<0&&(w+=360);var k,T,A,M=(_+w)/2;if(!c){var S=u?s.projRotate:[M,0,0];k=r("projection.rotation.lon",S[0]),r("projection.rotation.lat",S[1]),r("projection.rotation.roll",S[2]),r("showcoastlines",!u)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean")&&r("oceancolor")}(c?(T=-96.6,A=38.7):(T=u?M:k,A=(b[0]+b[1])/2),r("center.lon",T),r("center.lat",A),h)&&r("projection.parallels",s.projParallels||[0,60]);r("projection.scale"),r("showland")&&r("landcolor"),r("showlakes")&&r("lakecolor"),r("showrivers")&&(r("rivercolor"),r("riverwidth")),r("showcountries",u&&"usa"!==i)&&(r("countrycolor"),r("countrywidth")),("usa"===i||"north america"===i&&50===n)&&(r("showsubunits",!0),r("subunitcolor"),r("subunitwidth")),u||r("showframe",!0)&&(r("framecolor"),r("framewidth")),r("bgcolor")}e.exports=function(t,e,r){n(t,e,r,{type:"geo",attributes:i,handleDefaults:s,partition:"y"})}},{"../subplot_defaults":839,"./constants":792,"./layout_attributes":795}],797:[function(t,e,r){"use strict";e.exports=function(t){function e(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if("GeometryCollection"===e.type)return{type:"GeometryCollection",geometries:object.geometries.map(function(t){return r(t,n)})};if(!c.hasOwnProperty(e.type))return null;var a=c[e.type];return t.geo.stream(e,n(a)),a.result()}t.geo.project=function(t,e){var a=e.stream;if(!a)throw new Error("not yet supported");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,a)};var n={Feature:e,FeatureCollection:function(t,r){return{type:"FeatureCollection",features:t.features.map(function(t){return e(t,r)})}}},a=[],i=[],o={point:function(t,e){a.push([t,e])},result:function(){var t=a.length?a.length<2?{type:"Point",coordinates:a[0]}:{type:"MultiPoint",coordinates:a}:null;return a=[],t}},s={lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){a.length&&(i.push(a),a=[])},result:function(){var t=i.length?i.length<2?{type:"LineString",coordinates:i[0]}:{type:"MultiLineString",coordinates:i}:null;return i=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){var t=a.length;if(t){do{a.push(a[0].slice())}while(++t<4);i.push(a),a=[]}},polygonEnd:u,result:function(){if(!i.length)return null;var t=[],e=[];return i.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++rn^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(a=!a)}return a}(t[0],r))return t.push(e),!0})||t.push([e])}),i=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var h=1e-6,f=h*h,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),v=180/p;function m(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,a=1/0;n<10&&Math.abs(a)>h;n++){var i=Math.cos(e);e-=a=(e+Math.sin(e)*(i+2)-r)/(2*i*(1+i))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function a(t,r){for(var a=r<0?-1:1,i=n[+(r<0)],o=0,s=i.length-1;oi[o][2][0];++o);var l=e(t-i[o][1][0],r);return l[0]+=e(i[o][1][0],a*r>a*i[o][0][1]?i[o][0][1]:r)[0],l}e.invert&&(a.invert=function(t,i){for(var o=r[+(i<0)],s=n[+(i<0)],c=0,u=o.length;c=0;--a){var o=n[1][a],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[h-e,f-e],[h-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),l)},a},i.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],a=e(t[2][0],t[2][1])[0],i=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return i>o&&(r=i,i=o,o=r),[[n,i],[a,o]]})}),i):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},i},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=m(r),a=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+a)),m((n+r*(a+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return T;function r(r,n){var a=w(r/e,n);return a[0]*=t,a}return r.invert=function(r,n){var a=w.invert(r/t,n);return a[0]*=e,a},r}function T(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function M(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),a=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>h&&--a>0);return e/2}}T.invert=function(t,e){var r=2*m(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,M.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(M)}).raw=M,S(p);var E=function(t,e,r){var n=S(r);function a(r,a){return[t*r*Math.cos(a=n(a)),e*Math.sin(a)]}return a.invert=function(n,a){var i=m(a/e);return[n/(t*Math.cos(i)),m((2*i+Math.sin(2*i))/r)]},a}(Math.SQRT2/d,Math.SQRT2,p);function L(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)))]}(t.geo.mollweide=function(){return x(E)}).raw=E,L.invert=function(t,e){var r,n=e,a=25;do{var i=n*n,o=i*i;n-=r=(n*(1.007226+i*(.015085+o*(.028874*i-.044475-.005916*o)))-e)/(1.007226+i*(.045255+o*(.259866*i-.311325-.005916*11*o)))}while(Math.abs(r)>h&&--a>0);return[t/(.8707+(i=n*n)*(i*(i*i*i*(.003971-.001529*i)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(L)}).raw=L;var C=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function P(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),a=Math.floor(n),i=n-a,o=(r=C[a])[0],s=r[1],l=(r=C[++a])[0],c=r[1],u=(r=C[Math.min(19,++a)])[0],h=r[1];return[t*(l+i*(u-o)/2+i*i*(u-2*l+o)/2),(e>0?d:-d)*(c+i*(h-s)/2+i*i*(h-2*c+s)/2)]}function O(t,e){return[t*Math.cos(e),e]}function z(t,e){var r,n=Math.cos(e),a=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*a,Math.sin(e)*a]}function I(t,e){var r=z(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}C.forEach(function(t){t[1]*=1.0144}),P.invert=function(t,e){var r=e/d,n=90*r,a=Math.min(18,Math.abs(n/5)),i=Math.max(0,Math.floor(a));do{var o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],c=l-o,u=l-2*s+o,h=2*(Math.abs(r)-s)/c,p=u/c,m=h*(1-p*h*(1-2*p*h));if(m>=0||1===i){n=(e>=0?5:-5)*(m+a);var y,x=50;do{m=(a=Math.min(18,Math.abs(n)/5))-(i=Math.floor(a)),o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],n-=(y=(e>=0?d:-d)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*v}while(Math.abs(y)>f&&--x>0);break}}while(--i>=0);var b=C[i][0],_=C[i+1][0],w=C[Math.min(19,i+2)][0];return[t/(_+m*(w-b)/2+m*m*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(P)}).raw=P,O.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(O)}).raw=O,z.invert=function(t,e){if(!(t*t+4*e*e>p*p+h)){var r=t,n=e,a=25;do{var i,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),f=Math.sin(2*n),d=c*c,g=u*u,v=s*s,m=1-g*l*l,x=m?y(u*l)*Math.sqrt(i=1/m):i=0,b=2*x*u*s-t,_=x*c-e,w=i*(g*v+x*u*l*d),k=i*(.5*o*f-2*x*c*s),T=.25*i*(f*s-x*c*g*o),A=i*(d*l+x*v*u),M=k*T-A*w;if(!M)break;var S=(_*k-b*A)/M,E=(b*T-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]}},(t.geo.aitoff=function(){return x(z)}).raw=z,I.invert=function(t,e){var r=t,n=e,a=25;do{var i,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,f=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),v=g*g,m=1-u*p*p,x=m?y(o*p)*Math.sqrt(i=1/m):i=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*i*(u*v+x*o*p*c)+.5/d,k=i*(f*l/4-x*s*g),T=.125*i*(l*g-x*s*u*f),A=.5*i*(c*p+x*v*o)+.5,M=k*T-A*w,S=(_*k-b*A)/M,E=(b*T-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]},(t.geo.winkel3=function(){return x(I)}).raw=I}},{}],798:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../registry"),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},c={cursor:"auto"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function h(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],h={},f={};function p(t,e){h[n+"."+t]=a.nestedProperty(l,t).get(),i.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=a.nestedProperty(u,t);r.get()!==e&&(r.set(e),a.nestedProperty(l,t).set(e),f[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),o.emit("plotly_relayout",f)}function f(t,e){var r=u(0,e);function a(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();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(c),h(t,e,a)}),r}function p(t,e){var r,a,i,o,s,f,p,d,g,v=u(0,e),m=2;function y(t){return e.invert(t)}function x(r){var n=e.rotate(),a=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",a[0]),r("center.lat",a[1])}return v.on("zoomstart",function(){n.select(this).style(l),r=n.mouse(this),a=e.rotate(),i=e.translate(),o=a,s=y(r)}).on("zoom",function(){if(f=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>m||Math.abs(n[1]-t[1])>m}(r))return v.scale(e.scale()),void v.translate(e.translate());e.scale(n.event.scale),e.translate([i[0],n.event.translate[1]]),s?y(f)&&(d=y(f),p=[o[0]+(d[0]-s[0]),a[1],a[2]],e.rotate(p),o=p):s=y(r=f),g=!0,t.render();var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":c[0],"geo.center.lat":c[1],"geo.projection.rotation.lon":-l[0]})}).on("zoomend",function(){n.select(this).style(c),g&&h(t,e,x)}),v}function d(t,e){var r,a={r:e.rotate(),k:e.scale()},i=u(0,e),f=function(t){var e=0,r=arguments.length,a=[];for(;++ed?(i=(h>0?90:-90)-p,a=0):(i=Math.asin(h/d)*s-p,a=Math.sqrt(d*d-h*h));var g=180-i-2*p,m=(Math.atan2(f,u)-Math.atan2(c,a))*s,x=(Math.atan2(f,u)-Math.atan2(c,-a))*s,b=v(r[0],r[1],i,m),_=v(r[0],r[1],g,x);return b<=_?[i,m,r[2]]:[g,x,r[2]]}(k,r,E);isFinite(T[0])&&isFinite(T[1])&&isFinite(T[2])||(T=E),e.rotate(T),E=T}}else r=g(e,M=b);f.of(this,arguments)({type:"zoom"})}),A=f.of(this,arguments),p++||A({type:"zoomstart"})}).on("zoomend",function(){var r;n.select(this).style(c),d.call(i,"zoom",null),r=f.of(this,arguments),--p||r({type:"zoomend"}),h(t,e,m)}).on("zoom.redraw",function(){t.render();var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})}),n.rebind(i,f,"on")}function g(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function v(t,e,r,n){var a=m(r-t),i=m(n-e);return Math.sqrt(a*a+i*i)}function m(t){return(t%360+540)%360-180}function y(t,e,r){var n=r*o,a=t.slice(),i=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return a[i]=t[i]*l-t[s]*c,a[s]=t[s]*l+t[i]*c,a}function x(t,e){for(var r=0,n=0,a=t.length;nMath.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(i)*_*(s>=0?1:-1),c.boxEnd[1]l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(i>=0?1:-1),c.boxEnd[0]l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(i=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],i||s?(i&&(v(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(v(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case"pan":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=a),Math.abs(c.dragStart[0]-n).999&&(v="turntable"):v="turntable")}else v="turntable";r("dragmode",v),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var a=e._basePlotModules.length>1;o(t,e,r,{type:u,attributes:l,handleDefaults:h,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":591,"../../../lib":716,"../../../registry":845,"../../get_data":799,"../../subplot_defaults":839,"./axis_defaults":807,"./layout_attributes":810}],810:[function(t,e,r){"use strict";var n=t("./axis_attributes"),a=t("../../domain").attributes,i=t("../../../lib/extend").extendFlat,o=t("../../../lib").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"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:i(s(0,0,1),{}),center:i(s(0,0,0),{}),eye:i(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:a({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"}}}},{"../../../lib":716,"../../../lib/extend":707,"../../domain":789,"./axis_attributes":806}],811:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),a=["xaxis","yaxis","zaxis"];function i(){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]}i.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[a[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)}},e.exports=function(t){var e=new i;return e.merge(t),e}},{"../../../lib/str2rgbarray":739}],812:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[i[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var h=u.tickmode;if("auto"===u.tickmode){u.tickmode="linear";var f=u.nticks||a.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/f)}for(var p=n.calcTicks(u),d=0;d/g," "));l[c]=p,u.tickmode=h}}e.ticks=l;for(var c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(var d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],a=new Array(n.length),i=0;ie.deltaY?1.1:1/1.1,n=t.glplot.getAspectratio();t.glplot.setAspectratio({x:r*n.x,y:r*n.y,z:r*n.z})}d(t)}},!!c&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=u();t.graphDiv.emit("plotly_relayouting",e)}}),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",function(e){i&&i.emit&&i.emit("plotly_webglcontextlost",{event:e,layer:t.id})},!1),t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.graphDiv,n=t.svgContainer,a=t.container.getBoundingClientRect(),i=a.width,o=a.height;n.setAttributeNS(null,"viewBox","0 0 "+i+" "+o),n.setAttributeNS(null,"width",i),n.setAttributeNS(null,"height",o),x(t),t.glplot.axes.update(t.axesOptions);for(var s,l=Object.keys(t.traces),c=null,u=t.glplot.selection,d=0;d")):"isosurface"===e.type||"volume"===e.type?(w.valueLabel=f.tickText(t.mockAxis,t.mockAxis.d2l(u.traceCoordinate[3]),"hover").text,M.push("value: "+w.valueLabel),u.textLabel&&M.push(u.textLabel),y=M.join("
")):y=u.textLabel;var S={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:b._input,fullData:b,curveNumber:b.index,pointNumber:_};p.appendArrayPointValue(S,b,_),e._module.eventData&&(S=b._module.eventData(S,u,b,{},_));var E={points:[S]};t.fullSceneLayout.hovermode&&p.loneHover({trace:b,x:(.5+.5*m[0]/m[3])*i,y:(.5-.5*m[1]/m[3])*o,xLabel:w.xLabel,yLabel:w.yLabel,zLabel:w.zLabel,text:y,name:c.name,color:p.castHoverOption(b,_,"bgcolor")||c.color,borderColor:p.castHoverOption(b,_,"bordercolor"),fontFamily:p.castHoverOption(b,_,"font.family"),fontSize:p.castHoverOption(b,_,"font.size"),fontColor:p.castHoverOption(b,_,"font.color"),nameLength:p.castHoverOption(b,_,"namelength"),textAlign:p.castHoverOption(b,_,"align"),hovertemplate:h.castOption(b,_,"hovertemplate"),hovertemplateLabels:h.extendFlat({},S,w),eventData:[S]},{container:n,gd:r}),u.buttons&&u.distance<5?r.emit("plotly_click",E):r.emit("plotly_hover",E),s=E}else p.loneUnhover(n),r.emit("plotly_unhover",s);t.drawAnnotations(t)}.bind(null,t),t.traces={},t.make4thDimension(),!0}function _(t,e){var r=document.createElement("div"),n=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.style.position="absolute",a.style.top=a.style.left="0px",a.style.width=a.style.height="100%",a.style["z-index"]=20,a.style["pointer-events"]="none",r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=e,this.id=t.id||"scene",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=m(e,e[this.id]),this.spikeOptions=y(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=this.pixelRatio||t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=u.getComponentMethod("annotations3d","convert"),this.drawAnnotations=u.getComponentMethod("annotations3d","draw"),b(this)}var w=_.prototype;w.initializeGLCamera=function(){var t=this.fullSceneLayout.camera,e="orthographic"===t.projection.type;this.camera=o(this.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:e,zoomMin:.01,zoomMax:100,mode:"orbit"})},w.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):b(t,r,e)?t.plot.apply(t,t.plotArgs):h.error("Catastrophic and unrecoverable WebGL error. Context lost.")})};var k=["xaxis","yaxis","zaxis"];function T(t,e,r){for(var n=t.fullSceneLayout,a=0;a<3;a++){var i=k[a],o=i.charAt(0),s=n[i],l=e[o],c=e[o+"calendar"],u=e["_"+o+"length"];if(h.isArrayOrTypedArray(l))for(var f,p=0;p<(u||l.length);p++)if(h.isArrayOrTypedArray(l[p]))for(var d=0;dg[1][i])g[0][i]=-1,g[1][i]=1;else{var E=g[1][i]-g[0][i];g[0][i]-=E/32,g[1][i]+=E/32}if("reversed"===s.autorange){var L=g[0][i];g[0][i]=g[1][i],g[1][i]=L}}else{var C=s.range;g[0][i]=s.r2l(C[0]),g[1][i]=s.r2l(C[1])}g[0][i]===g[1][i]&&(g[0][i]-=1,g[1][i]+=1),v[i]=g[1][i]-g[0][i],this.glplot.bounds[0][i]=g[0][i]*f[i],this.glplot.bounds[1][i]=g[1][i]*f[i]}var P=[1,1,1];for(i=0;i<3;++i){var O=m[l=(s=c[k[i]]).type];P[i]=Math.pow(O.acc,1/O.count)/f[i]}var z;if("auto"===c.aspectmode)z=Math.max.apply(null,P)/Math.min.apply(null,P)<=4?P:[1,1,1];else if("cube"===c.aspectmode)z=[1,1,1];else if("data"===c.aspectmode)z=P;else{if("manual"!==c.aspectmode)throw new Error("scene.js aspectRatio was not one of the enumerated types");var I=c.aspectratio;z=[I.x,I.y,I.z]}c.aspectratio.x=u.aspectratio.x=z[0],c.aspectratio.y=u.aspectratio.y=z[1],c.aspectratio.z=u.aspectratio.z=z[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z});var D=c.domain||null,R=e._size||null;if(D&&R){var F=this.container.style;F.position="absolute",F.left=R.l+D.x[0]*R.w+"px",F.top=R.t+(1-D.y[1])*R.h+"px",F.width=R.w*(D.x[1]-D.x[0])+"px",F.height=R.h*(D.y[1]-D.y[0])+"px"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.glplot.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"}};var t},w.setViewport=function(t){var e,r=t.camera;this.glplot.camera.lookAt.apply(this,[[(e=r).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]]),this.glplot.setAspectratio(t.aspectratio);var n="orthographic"===r.projection.type;if(n!==this.glplot.camera._ortho){this.glplot.redraw();var a=this.glplot.clearColor;this.glplot.gl.clearColor(a[0],a[1],a[2],a[3]),this.glplot.gl.clear(this.glplot.gl.DEPTH_BUFFER_BIT|this.glplot.gl.COLOR_BUFFER_BIT),this.glplot.dispose(),b(this),this.glplot.camera._ortho=n}},w.isCameraChanged=function(t){var e=this.getCamera(),r=h.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var a=["up","center","eye"],i=["x","y","z"];return e[a[r]]&&t[a[r]][i[n]]===e[a[r]][i[n]]}var a=!1;if(void 0===r)a=!0;else{for(var i=0;i<3;i++)for(var o=0;o<3;o++)if(!n(e,r,i,o)){a=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(a=!0)}return a},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=h.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,a,i,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),f=l||c;if(f){var p={};if(l&&(e=this.getCamera(),n=(r=h.nestedProperty(t,this.id+".camera")).get(),p[this.id+".camera"]=n),c&&(a=this.glplot.getAspectratio(),o=(i=h.nestedProperty(t,this.id+".aspectratio")).get(),p[this.id+".aspectratio"]=o),u.call("_storeDirectGUIEdit",t,s._preGUI,p),l)r.set(e),h.nestedProperty(s,this.id+".camera").set(e);if(c)i.set(a),h.nestedProperty(s,this.id+".aspectratio").set(a),this.glplot.redraw()}return f},w.updateFx=function(t,e){var r=this.camera;if(r)if("orbit"===t)r.mode="orbit",r.keyBindingMode="rotate";else if("turntable"===t){r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate";var n=this.graphDiv,a=n._fullLayout,i=this.fullSceneLayout.camera,o=i.up.x,s=i.up.y,l=i.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+".camera.up",f={x:0,y:0,z:1},p={};p[c]=f;var d=n.layout;u.call("_storeDirectGUIEdit",d,a._preGUI,p),i.up=f,h.nestedProperty(d,c).set(f)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=a-1;o\xa9 OpenStreetMap
',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:'\xa9 CARTO',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:'\xa9 CARTO',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:'Map tiles by Stamen Design, under CC BY 3.0 | Data by OpenStreetMap, under ODbL.',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:'Map tiles by Stamen Design, under CC BY 3.0 | Data by OpenStreetMap, under ODbL.',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, under CC BY SA.',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}]}},a=Object.keys(n);e.exports={requiredVersion:"1.3.2",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:n,styleValuesNonMapbox:a,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.3.2."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.plot(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:",a.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\')'}}},{}],818:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t.split(" "),a=r[0],i=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(a){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(i){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},{"../../lib":716}],819:[function(t,e,r){"use strict";var n=t("mapbox-gl"),a=t("../../lib"),i=t("../../plots/get_data").getSubplotCalcData,o=t("../../constants/xmlns_namespaces"),s=t("d3"),l=t("../../components/drawing"),c=t("../../lib/svg_text_utils"),u=t("./mapbox"),h=r.constants=t("./constants");function f(t){return"string"==typeof t&&(-1!==h.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}r.name="mapbox",r.attr="subplot",r.idRoot="mapbox",r.idRegex=r.attrRegex=a.counterRegex("mapbox"),r.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox;if(n.version!==h.requiredVersion)throw new Error(h.wrongVersionErrorMsg);var s=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],i=[],o=!1,s=!1,l=0;l1&&a.warn(h.multipleTokensErrorMsg),n[0]):(i.length&&a.log(["Listed mapbox access token(s)",i.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,o);n.accessToken=s;for(var l=0;lx/2){var b=g.split("|").join("
");m.text(b).attr("data-unformatted",b).call(c.convertToTspans,t),y=l.bBox(m.node())}m.attr("transform","translate(-3, "+(8-y.height)+")"),v.insert("rect",".static-attribution").attr({x:-y.width-6,y:-y.height-3,width:y.width+6,height:y.height+3,fill:"rgba(255, 255, 255, 0.75)"});var _=1;y.width+6>x&&(_=x/(y.width+6));var w=[n.l+n.w*u.x[1],n.t+n.h*(1-u.y[0])];v.attr("transform","translate("+w[0]+","+w[1]+") scale("+_+")")}},r.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})}return{layout:e,paint:r}}s.update=function(t){this.visible?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=l(t)},s.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},s.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.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,l(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};"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=t.sourceattribution);return a}(t);e.addSource(this.idSource,r)}},s.updateLayer=function(t){var e,r=this.subplot,n=c(t),a=this.subplot.belowLookup["layout-"+this.index];if("traces"===a)for(var o=r.getMapLayers(),s=0;s1)for(r=0;r-1&&h(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),a.indexOf("event")>-1&&i.click(n,e.originalEvent)}}},g.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,i=t.dragmode;a="select"===i?function(t,r){(t.range={})[e.id]=[l([r.xmin,r.ymin]),l([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(l)};var s=e.dragOptions;e.dragOptions=o.extendDeep(s||{},{element:e.div,gd:n,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),"select"===i||"lasso"===i?(r.dragPan.disable(),r.on("zoomstart",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){u(t,r,n,e.dragOptions,i)},c.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function l(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},g.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])},g.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?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=e._paper.attr("width")-7),r.attr(i);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),u=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(){m.sendDataToCloud(t)});else{var n=window.location.pathname.split("/"),a=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+a})}}(t,o),s.text(o.text()&&u.text()?" - ":"")}},m.sendDataToCloud=function(t){t.emit("plotly_beforeexport");var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL,r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),a=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return a.append("input").attr({type:"text",name:"data"}).node().value=m.graphJson(t,!1,"keepdata"),a.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1};var b=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],_=["year","month","dayMonth","dayMonthYear"];function w(t,e){var r=t._context.locale,n=!1,a={};function o(t){for(var r=!0,i=0;i1&&O.length>1){for(i.getComponentMethod("grid","sizeDefaults")(c,s),o=0;o15&&O.length>15&&0===s.shapes.length&&0===s.images.length,s._hasCartesian=s._has("cartesian"),s._hasGeo=s._has("geo"),s._hasGL3D=s._has("gl3d"),s._hasGL2D=s._has("gl2d"),s._hasTernary=s._has("ternary"),s._hasPie=s._has("pie"),m.linkSubplots(h,s,u,a),m.cleanPlot(h,s,u,a),a._zoomlayer&&!t._dragging&&a._zoomlayer.selectAll(".select-outline").remove(),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var a=0;a0){var h=1-2*s;n=Math.round(h*n),i=Math.round(h*i)}}var f=m.layoutAttributes.width.min,p=m.layoutAttributes.height.min;n1,g=!e.height&&Math.abs(r.height-i)>1;(g||d)&&(d&&(r.width=n),g&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),m.sanitizeMargins(r)},m.supplyLayoutModuleDefaults=function(t,e,r,n){var a,o,s,c=i.componentsRegistry,u=e._basePlotModules,h=i.subplotsRegistry.cartesian;for(a in c)(s=c[a]).includeBasePlot&&s.includeBasePlot(t,e);for(var f in u.length||u.push(h),e._has("cartesian")&&(i.getComponentMethod("grid","contentDefaults")(t,e),h.finalizeSubplots(t,e)),e._subplots)e._subplots[f].sort(l.subplotSort);for(o=0;o.5*n.width&&(l.log("Margin push",e,"is too big in x, dropping"),r.l=r.r=0),r.b+r.t>.5*n.height&&(l.log("Margin push",e,"is too big in y, dropping"),r.b=r.t=0);var c=void 0!==r.xl?r.xl:r.x,u=void 0!==r.xr?r.xr:r.x,h=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;a[e]={l:{val:c,size:r.l+o},r:{val:u,size:r.r+o},b:{val:f,size:r.b+o},t:{val:h,size:r.t+o}},i[e]=1}else delete a[e],delete i[e];if(!n._replotting)return m.doAutoMargin(t)}},m.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),M(e);var r=e._size,n=e.margin,o=l.extendFlat({},r),s=n.l,c=n.r,u=n.t,h=n.b,f=e.width,p=e.height,d=e._pushmargin,g=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var v in d)g[v]||delete d[v];for(var y in d.base={l:{val:0,size:s},r:{val:1,size:c},t:{val:1,size:u},b:{val:0,size:h}},d){var x=d[y].l||{},b=d[y].b||{},_=x.val,w=x.size,k=b.val,T=b.size;for(var A in d){if(a(w)&&d[A].r){var S=d[A].r.val,E=d[A].r.size;if(S>_){var L=(w*S+(E-f)*_)/(S-_),C=(E*(1-_)+(w-f)*(1-S))/(S-_);L>=0&&C>=0&&f-(L+C)>0&&L+C>s+c&&(s=L,c=C)}}if(a(T)&&d[A].t){var P=d[A].t.val,O=d[A].t.size;if(P>k){var z=(T*P+(O-p)*k)/(P-k),I=(O*(1-k)+(T-p)*(1-P))/(P-k);z>=0&&I>=0&&p-(I+z)>0&&z+I>h+u&&(h=z,u=I)}}}}}if(r.l=Math.round(s),r.r=Math.round(c),r.t=Math.round(u),r.b=Math.round(h),r.p=Math.round(n.pad),r.w=Math.round(f)-r.l-r.r,r.h=Math.round(p)-r.t-r.b,!e._replotting&&m.didMarginChange(o,r)){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var D=3*(1+Object.keys(g).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&t._transitionData._interruptCallbacks.push(function(){return i.call("redraw",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit("plotly_transitioninterrupted",[])});var o=0,s=0;function l(){return o++,function(){var e;s++,n||s!==o||(e=a,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return i.call("redraw",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])}).then(e)))}}r.runFn(l),setTimeout(l())})}],o=l.syncOrAsync(a,t);return o&&o.then||(o=Promise.resolve()),o.then(function(){return t})}m.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},m.graphJson=function(t,e,r,n,a){(a&&e&&!t._fullData||a&&!e&&!t._fullLayout)&&m.supplyDefaults(t);var i=a?t._fullData:t.data,o=a?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function c(t){if("function"==typeof t)return null;if(l.isPlainObject(t)){var e,n,a={};for(e in t)if("function"!=typeof t[e]&&-1===["_","["].indexOf(e.charAt(0))){if("keepdata"===r){if("src"===e.substr(e.length-3))continue}else if("keepstream"===r){if("string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0&&!l.isPlainObject(t.stream))continue}else if("keepall"!==r&&"string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0)continue;a[e]=c(t[e])}return a}return Array.isArray(t)?t.map(c):l.isTypedArray(t)?l.simpleMap(t,l.identity):l.isJSDate(t)?l.ms2DateTimeLocal(+t):t}var u={data:(i||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=c(s)),"object"===n?u:JSON.stringify(u)},m.modifyFrames=function(t,e){var r,n,a,i=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(i=n.calc(t,r))}Array.isArray(i)&&i[0]||(i=[{x:u,y:u}]),i[0].t||(i[0].t={}),i[0].trace=r,d[e]=i}}for(C(c,f),a=0;a1e-10?t:0}function f(t,e,r){e=e||0,r=r||0;for(var n=t.length,a=new Array(n),i=0;i0?r:1/0}),a=n.mod(r+1,e.length);return[e[r],e[a]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var a=-e*r,i=e*e+1,o=2*(e*a-r),s=a*a+r*r-t*t,l=Math.sqrt(o*o-4*i*s),c=(-o+l)/(2*i),u=(-o-l)/(2*i);return[[c,e*c+a+n],[u,e*u+a+n]]},clampTiny:h,pathPolygon:function(t,e,r,n,a,i){return"M"+f(u(t,e,r,n),a,i).join("L")},pathPolygonAnnulus:function(t,e,r,n,a,i,o){var s,l;t=0?f.angularAxis.domain:n.extent(k),E=Math.abs(k[1]-k[0]);A&&!T&&(E=0);var L=S.slice();M&&T&&(L[1]+=E);var C=f.angularAxis.ticksCount||4;C>8&&(C=C/(C/8)+C%8),f.angularAxis.ticksStep&&(C=(L[1]-L[0])/C);var P=f.angularAxis.ticksStep||(L[1]-L[0])/(C*(f.minorTicks+1));w&&(P=Math.max(Math.round(P),1)),L[2]||(L[2]=P);var O=n.range.apply(this,L);if(O=O.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(L.slice(0,2)).range("clockwise"===f.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=M?E:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var z=(new DOMParser).parseFromString("' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '","application/xml"),I=this.appendChild(this.ownerDocument.importNode(z.documentElement,!0));t=n.select(I)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var D,R=t.select(".chart-group"),F={fill:"none",stroke:f.tickColor},B={"font-size":f.font.size,"font-family":f.font.family,fill:f.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map(function(t,e){return" "+t+" 0 "+f.font.outlineColor}).join(",")};if(f.showLegend){D=t.select(".legend-group").attr({transform:"translate("+[x,f.margin.top]+")"}).style({display:"block"});var N=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend="undefined"==typeof t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||"Element"+e}),legendConfig:a({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:f.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(f.width-j.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2,x=Math.max(10,x),_=[f.margin.left+x,f.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),D.attr("transform","translate("+[_[0]+x,_[1]-x]+")")}else D=t.select(".legend-group").style({display:"none"});t.attr({width:f.width,height:f.height}).style({opacity:f.opacity}),R.attr("transform","translate("+_+")").style({cursor:"crosshair"});var V=[(f.width-(f.margin.left+f.margin.right+2*x+(j?j.width:0)))/2,(f.height-(f.margin.top+f.margin.bottom+2*x))/2];if(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),t.select(".outer-group").attr("transform","translate("+V+")"),f.title&&f.title.text){var U=t.select("g.title-group text").style(B).text(f.title.text),q=U.node().getBBox();U.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(".radial.axis-group");if(f.radialAxis.gridLinesVisible){var G=H.selectAll("circle.grid-circle").data(r.ticks(5));G.enter().append("circle").attr({class:"grid-circle"}).style(F),G.attr("r",r),G.exit().remove()}H.select("circle.outside-circle").attr({r:x}).style(F);var Y=t.select("circle.background-circle").attr({r:x}).style({fill:f.backgroundColor,stroke:f.stroke});function W(t,e){return s(t)%360+f.orientation}if(f.radialAxis.visible){var X=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(X).attr({transform:"rotate("+f.radialAxis.orientation+")"}),H.selectAll(".domain").style(F),H.selectAll("g>text").text(function(t,e){return this.textContent+f.radialAxis.ticksSuffix}).style(B).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===f.radialAxis.tickOrientation?"rotate("+-f.radialAxis.orientation+") translate("+[0,B["font-size"]]+")":"translate("+[0,B["font-size"]]+")"}}),H.selectAll("g>line").style({stroke:"black"})}var Z=t.select(".angular.axis-group").selectAll("g.angular-tick").data(O),J=Z.enter().append("g").classed("angular-tick",!0);Z.attr({transform:function(t,e){return"rotate("+W(t)+")"}}).style({display:f.angularAxis.visible?"block":"none"}),Z.exit().remove(),J.append("line").classed("grid-line",!0).classed("major",function(t,e){return e%(f.minorTicks+1)==0}).classed("minor",function(t,e){return!(e%(f.minorTicks+1)==0)}).style(F),J.selectAll(".minor").style({stroke:f.minorTickColor}),Z.select("line.grid-line").attr({x1:f.tickLength?x-f.tickLength:0,x2:x}).style({display:f.angularAxis.gridLinesVisible?"block":"none"}),J.append("text").classed("axis-text",!0).style(B);var K=Z.select("text.axis-text").attr({x:x+f.labelOffset,dy:i+"em",transform:function(t,e){var r=W(t),n=x+f.labelOffset,a=f.angularAxis.tickOrientation;return"horizontal"==a?"rotate("+-r+" "+n+" 0)":"radial"==a?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:f.angularAxis.labelsVisible?"block":"none"}).text(function(t,e){return e%(f.minorTicks+1)!=0?"":w?w[t]+f.angularAxis.ticksSuffix:t+f.angularAxis.ticksSuffix}).style(B);f.angularAxis.rewriteTicks&&K.text(function(t,e){return e%(f.minorTicks+1)!=0?"":f.angularAxis.rewriteTicks(this.textContent,e)});var Q=n.max(R.selectAll(".angular-tick text")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));D.attr({transform:"translate("+[x+Q,f.margin.top]+")"});var $=t.select("g.geometry-group").selectAll("g").size()>0,tt=t.select("g.geometry-group").selectAll("g.geometry").data(p);if(tt.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),tt.exit().remove(),p[0]||$){var et=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=f.orientation,n.direction=f.direction,n.index=e,et.push({data:t,geometryConfig:n})});var rt=n.nest().key(function(t,e){return"undefined"!=typeof t.data.groupId||"unstacked"}).entries(et),nt=[];rt.forEach(function(t,e){"unstacked"===t.key?nt=nt.concat(t.values.map(function(t,e){return[t]})):nt.push(t.values)}),nt.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return a(o[r].defaultConfig(),t)});o[r]().config(n)()})}var at,it,ot=t.select(".guides-group"),st=t.select(".tooltips-group"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!T){var ht=ot.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});R.on("mousemove.angular-guide",function(t,e){var r=o.util.getMousePos(Y).angle;ht.attr({x2:-x,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-f.orientation)%360;at=s.invert(n);var a=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(at)).move([a[0]+_[0],a[1]+_[1]])}).on("mouseout.angular-guide",function(t,e){ot.select("line").style({opacity:0})})}var ft=ot.select("circle").style({stroke:"grey",fill:"none"});R.on("mousemove.radial-guide",function(t,e){var n=o.util.getMousePos(Y).radius;ft.attr({r:n}).style({opacity:.5}),it=r.invert(o.util.getMousePos(Y).radius);var a=o.util.convertToCartesian(n,f.radialAxis.orientation);ct.text(o.util.round(it)).move([a[0]+_[0],a[1]+_[1]])}).on("mouseout.radial-guide",function(t,e){ft.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()}),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",function(e,r){var a=n.select(this),i=this.style.fill,s="black",l=this.style.opacity||1;if(a.attr({"data-opacity":l}),i&&"none"!==i){a.attr({"data-fill":i}),s=n.hsl(i).darker().toString(),a.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};T&&(c.t=w[e[0]]);var u="t: "+c.t+", r: "+c.r,h=this.getBoundingClientRect(),f=t.node().getBoundingClientRect(),p=[h.left+h.width/2-V[0]-f.left,h.top+h.height/2-V[1]-f.top];ut.config({color:s}).text(u),ut.move(p)}else i=this.style.stroke||"black",a.attr({"data-stroke":i}),s=n.hsl(i).darker().toString(),a.style({stroke:s,opacity:1})}).on("mousemove.tooltip",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&&ut.show()}).on("mouseout.tooltip",function(t,e){ut.hide();var r=n.select(this),a=r.attr("data-fill");a?r.style({fill:a,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})})})}(c),this},f.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),a(l.data[e],o.Axis.defaultConfig().data[0]),a(l.data[e],t)}),a(l.layout,o.Axis.defaultConfig().layout),a(l.layout,e.layout),this},f.getLiveConfig=function(){return u},f.getinputConfig=function(){return c},f.radialScale=function(t){return r},f.angularScale=function(t){return s},f.svg=function(){return t},n.rebind(f,h,"on"),f},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var a=e||6,i=[],o=[];n.range(0,360+a,a).forEach(function(e,r){var n=e*Math.PI/180,a=t(n);i.push(e),o.push(a)});var s={t:i,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if("undefined"==typeof t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],a=e[1],i={};return i.x=r,i.y=a,i.pos=e,i.angle=180*(Math.atan2(a,r)+Math.PI)/Math.PI,i.radius=Math.sqrt(r*r+a*a),i},o.util.duplicatesCount=function(t){for(var e,r={},n={},a=0,i=t.length;a0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:u(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return d.fill(r,a,i)},"fill-opacity":0,stroke:function(t,e){return d.stroke(r,a,i)},"stroke-width":function(t,e){return d["stroke-width"](r,a,i)},"stroke-dasharray":function(t,e){return d["stroke-dasharray"](r,a,i)},opacity:function(t,e){return d.opacity(r,a,i)},display:function(t,e){return d.display(r,a,i)}})}};var h=e.angularScale.range(),f=Math.abs(h[1]-h[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-f/2}).endAngle(function(t){return f/2}).innerRadius(function(t){return e.radialScale(l+(t[2]||0))}).outerRadius(function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])});c.arc=function(t,r,a){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,a){return r[t[a].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return"undefined"==typeof t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var v=g.selectAll("path.mark").data(function(t,e){return t});v.enter().append("path").attr({class:"mark"}),v.style(d).each(c[e.geometryType]),v.exit().remove(),g.exit().remove()})}return i.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),a(t[r],o.PolyChart.defaultConfig()),a(t[r],e)}),this):t},i.getColorScale=function(){},n.rebind(i,e,"on"),i},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,i=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var i=a({},e.elements[r]);return i.name=t,i.color=[].concat(e.elements[r].color)[n],i})}),o=n.merge(i);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||"undefined"==typeof e.elements[r].visibleInLegend)}),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=e.fontSize,u=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,h=u?e.height:c*o.length,f=s.classed("legend-group",!0).selectAll("svg").data([0]),p=f.enter().append("svg").attr({width:300,height:h+c,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});p.append("g").classed("legend-axis",!0),p.append("g").classed("legend-marks",!0);var d=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(d).range(l),v=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,h]);if(u){var m=f.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);m.enter().append("stop"),m.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),f.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=f.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[c/2,v(e)+c/2]+")"},d:function(t,e){var r,a,i,o=t.symbol;return i=3*(a=c),"line"===(r=o)?"M"+[[-a/2,-a/12],[a/2,-a/12],[a/2,a/12],[-a/2,a/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(i)():n.svg.symbol().type("square").size(i)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(v).orient("right"),b=f.select("g.legend-axis").attr({transform:"translate("+[u?e.colorBandWidth:c,c/2]+")"}).call(x);return b.selectAll(".domain").style({fill:"none",stroke:"none"}),b.selectAll("line").style({fill:"none",stroke:u?e.textColor:"none"}),b.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text(function(t,e){return o[e].name}),r}return r.config=function(e){return arguments.length?(a(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,i={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=i.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:i.padding+l,dy:.3*+i.fontSize}),c};return c.text=function(a){var o=n.hsl(i.color).l,s=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",h=a||"";e.style({fill:u,"font-size":i.fontSize+"px"}).text(h);var f=i.padding,p=e.node().getBBox(),d={fill:i.color,stroke:s,"stroke-width":"2px"},g=p.width+2*f+l,v=p.height+2*f;return r.attr({d:"M"+[[l,-v/2],[l,-v/4],[i.hasTick?0:l,0],[l,v/4],[l,v/2],[g,v/2],[g,-v/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-v/2+2*f]+")"}),t.style({display:"block"}),c},c.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),c},c.hide=function(){if(t)return t.style({display:"none"}),c},c.show=function(){if(t)return t.style({display:"block"}),c},c.config=function(t){return a(i,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=a({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n}),!e&&t.layout&&"stack"===t.layout.barmode)){var i=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=i.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=a({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?("undefined"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&"undefined"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&"undefined"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&"undefined"!=typeof s.margin.t){var l=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{"../../../constants/alignment":685,"../../../lib":716,d3:164}],835:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../../lib"),i=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=a.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,a,i,u,h=new s;function f(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,a||(a=o.Axis()),i=o.adapter.plotly().convert(e),a.config(i).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return f.isPolar=!0,f.svg=function(){return a.svg()},f.getConfig=function(){return e},f.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},f.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},f.setUndoPoint=function(){var t,n,a=this,i=o.util.cloneJson(e);t=i,n=r,h.add({undo:function(){n&&a(n)},redo:function(){a(t)}}),r=o.util.cloneJson(i)},f.undo=function(){h.undo()},f.redo=function(){h.redo()},f},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),a=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:i.background,_container:e,_paperdiv:r,_paper:a};t._fullLayout=l(o,t.layout)}},{"../../../components/color":591,"../../../lib":716,"./micropolar":834,"./undo_manager":836,d3:164}],836:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function a(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(a(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(a(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r=90||s>90&&l>=450?1:u<=0&&f<=0?0:Math.max(u,f);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&h>=0?0:Math.min(c,h);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&f>=0?0:Math.min(u,f);n=l>=360?1:c<=0&&h<=0?0:Math.max(c,h);return[e,r,n,a]}(f),x=y[2]-y[0],b=y[3]-y[1],_=h/u,w=Math.abs(b/x);_>w?(p=u,m=(h-(d=u*w))/n.h/2,g=[o[0],o[1]],v=[c[0]+m,c[1]-m]):(d=h,m=(u-(p=h/w))/n.w/2,g=[o[0]+m,o[1]-m],v=[c[0],c[1]]),this.xLength2=p,this.yLength2=d,this.xDomain2=g,this.yDomain2=v;var k=this.xOffset2=n.l+n.w*g[0],T=this.yOffset2=n.t+n.h*(1-v[1]),A=this.radius=p/x,M=this.innerRadius=e.hole*A,S=this.cx=k-A*y[0],C=this.cy=T+A*y[3],P=this.cxx=S-k,O=this.cyy=C-T;this.radialAxis=this.mockAxis(t,e,a,{_id:"x",side:{counterclockwise:"top",clockwise:"bottom"}[a.side],domain:[M/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,i,{side:"right",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:"x",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:"y",domain:v});var z=this.pathSubplot();this.clipPaths.forTraces.select("path").attr("d",z).attr("transform",R(P,O)),r.frontplot.attr("transform",R(k,T)).call(l.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr("d",z).attr("transform",R(S,C)).call(s.fill,e.bgcolor)},O.mockAxis=function(t,e,r,n){var a=o.extendFlat({},r,n);return f(a,e,t),a},O.mockCartesianAxis=function(t,e,r){var n=this,a=r._id,i=o.extendFlat({type:"linear"},r);h(i,t);var s={x:[0,2],y:[1,3]};return i.setRange=function(){var t=n.sectorBBox,r=s[a],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);i.range=[t[r[0]]*l,t[r[1]]*l]},i.isPtWithinRange="x"===a?function(t){return n.isPtInside(t)}:function(){return!0},i.setRange(),i.setScale(),i},O.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,a=e.radialaxis;n.setScale(),p(r,n);var i=n.range;a.range=i.slice(),a._input.range=i.slice(),n._rl=[n.r2l(i[0],null,"gregorian"),n.r2l(i[1],null,"gregorian")]},O.updateRadialAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.radialaxis,p=E(e.sector[0],360),d=r.radialAxis,g=l90&&p<=270&&(d.tickangle=180);var v=function(t){return"translate("+(d.l2p(t.x)+l)+",0)"},m=z(f);if(r.radialTickLayout!==m&&(a["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=m),g){d.setScale();var y=u.calcTicks(d),x=u.clipEnds(d,y),b=u.getTickSigns(d)[2];u.drawTicks(n,d,{vals:y,layer:a["radial-axis"],path:u.makeTickPath(d,0,b),transFn:v,crisp:!1}),u.drawGrid(n,d,{vals:x,layer:a["radial-grid"],path:function(t){return r.pathArc(d.r2p(t.x)+l)},transFn:o.noop,crisp:!1}),u.drawLabels(n,d,{vals:y,layer:a["radial-axis"],transFn:v,labelFns:u.makeLabelFns(d,0)})}var _=r.radialAxisAngle=r.vangles?C(I(L(f.angle),r.vangles)):f.angle,w=R(c,h),k=w+F(-_);D(a["radial-axis"],g&&(f.showticklabels||f.ticks),{transform:k}),D(a["radial-grid"],g&&f.showgrid,{transform:w}),D(a["radial-line"].select("line"),g&&f.showline,{x1:l,y1:0,x2:i,y2:0,transform:k}).attr("stroke-width",f.linewidth).call(s.stroke,f.linecolor)},O.updateRadialAxisTitle=function(t,e,r){var n=this.gd,a=this.radius,i=this.cx,o=this.cy,s=e.radialaxis,c=this.id+"title",u=void 0!==r?r:this.radialAxisAngle,h=L(u),f=Math.cos(h),p=Math.sin(h),d=0;if(s.title){var g=l.bBox(this.layers["radial-axis"].node()).height,v=s.title.font.size;d="counterclockwise"===s.side?-g-.4*v:g+.8*v}this.layers["radial-axis-title"]=m.draw(n,c,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:S(n,"Click to enter radial axis title"),attributes:{x:i+a/2*f+d*p,y:o-a/2*p+d*f,"text-anchor":"middle"},transform:{rotate:-u}})},O.updateAngularAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.angularaxis,p=r.angularAxis;r.fillViewInitialKey("angularaxis.rotation",f.rotation),p.setGeometry(),p.setScale();var d=function(t){return p.t2g(t.x)};"linear"===p.type&&"radians"===p.thetaunit&&(p.tick0=C(p.tick0),p.dtick=C(p.dtick));var g=function(t){return R(c+i*Math.cos(t),h-i*Math.sin(t))},v=u.makeLabelFns(p,0).labelStandoff,m={xFn:function(t){var e=d(t);return Math.cos(e)*v},yFn:function(t){var e=d(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(v+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*T)},anchorFn:function(t){var e=d(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=d(t);return-.5*(1+Math.sin(n))*r}},y=z(f);r.angularTickLayout!==y&&(a["angular-axis"].selectAll("."+p._id+"tick").remove(),r.angularTickLayout=y);var x,b=u.calcTicks(p);if("linear"===e.gridshape?(x=b.map(d),o.angleDelta(x[0],x[1])<0&&(x=x.slice().reverse())):x=null,r.vangles=x,"category"===p.type&&(b=b.filter(function(t){return o.isAngleInsideSector(d(t),r.sectorInRad)})),p.visible){var _="inside"===p.ticks?-1:1,w=(p.linewidth||1)/2;u.drawTicks(n,p,{vals:b,layer:a["angular-axis"],path:"M"+_*w+",0h"+_*p.ticklen,transFn:function(t){var e=d(t);return g(e)+F(-C(e))},crisp:!1}),u.drawGrid(n,p,{vals:b,layer:a["angular-grid"],path:function(t){var e=d(t),r=Math.cos(e),n=Math.sin(e);return"M"+[c+l*r,h-l*n]+"L"+[c+i*r,h-i*n]},transFn:o.noop,crisp:!1}),u.drawLabels(n,p,{vals:b,layer:a["angular-axis"],repositionOnUpdate:!0,transFn:function(t){return g(d(t))},labelFns:m})}D(a["angular-line"].select("path"),f.showline,{d:r.pathSubplot(),transform:R(c,h)}).attr("stroke-width",f.linewidth).call(s.stroke,f.linecolor)},O.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},O.updateMainDrag=function(t){var e=this,r=e.gd,o=e.layers,s=t._zoomlayer,l=A.MINZOOM,c=A.OFFEDGE,u=e.radius,h=e.innerRadius,f=e.cx,p=e.cy,m=e.cxx,_=e.cyy,w=e.sectorInRad,k=e.vangles,T=e.radialAxis,S=M.clampTiny,E=M.findXYatLength,L=M.findEnclosingVertexAngles,C=A.cornerHalfWidth,P=A.cornerLen/2,O=d.makeDragger(o,"path","maindrag","crosshair");n.select(O).attr("d",e.pathSubplot()).attr("transform",R(f,p));var z,I,D,F,B,N,j,V,U,q={element:O,gd:r,subplot:e.id,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis},xaxes:[e.xaxis],yaxes:[e.yaxis]};function H(t,e){return Math.sqrt(t*t+e*e)}function G(t,e){return H(t-m,e-_)}function Y(t,e){return Math.atan2(_-e,t-m)}function W(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function X(t,r){if(0===t)return e.pathSector(2*C);var n=P/t,a=r-n,i=r+n,o=Math.max(0,Math.min(t,u)),s=o-C,l=o+C;return"M"+W(s,a)+"A"+[s,s]+" 0,0,0 "+W(s,i)+"L"+W(l,i)+"A"+[l,l]+" 0,0,1 "+W(l,a)+"Z"}function Z(t,r,n){if(0===t)return e.pathSector(2*C);var a,i,o=W(t,r),s=W(t,n),l=S((o[0]+s[0])/2),c=S((o[1]+s[1])/2);if(l&&c){var u=c/l,h=-1/u,f=E(C,u,l,c);a=E(P,h,f[0][0],f[0][1]),i=E(P,h,f[1][0],f[1][1])}else{var p,d;c?(p=P,d=C):(p=C,d=P),a=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return"M"+a.join("L")+"L"+i.reverse().join("L")+"Z"}function J(t,e){return e=Math.max(Math.min(e,u),h),tl?(t-1&&1===t&&x(n,r,[e.xaxis],[e.yaxis],e.id,q),a.indexOf("event")>-1&&v.click(r,n,e.id)}q.prepFn=function(t,n,i){var o=r._fullLayout.dragmode,l=O.getBoundingClientRect();if(z=n-l.left,I=i-l.top,k){var c=M.findPolygonOffset(u,w[0],w[1],k);z+=m+c[0],I+=_+c[1]}switch(o){case"zoom":q.moveFn=k?tt:Q,q.clickFn=nt,q.doneFn=et,function(){D=null,F=null,B=e.pathSubplot(),N=!1;var t=r._fullLayout[e.id];j=a(t.bgcolor).getLuminance(),(V=d.makeZoombox(s,j,f,p,B)).attr("fill-rule","evenodd"),U=d.makeCorners(s,f,p),b(r)}();break;case"select":case"lasso":y(t,n,i,q,o)}},O.onmousemove=function(t){v.hover(r,t,e.id),r._fullLayout._lasthover=O,r._fullLayout._hoversubplot=e.id},O.onmouseout=function(t){r._dragging||g.unhover(r,t)},g.init(q)},O.updateRadialDrag=function(t,e,r){var a=this,s=a.gd,l=a.layers,c=a.radius,u=a.innerRadius,h=a.cx,f=a.cy,p=a.radialAxis,v=A.radialDragBoxSize,m=v/2;if(p.visible){var y,x,_,T=L(a.radialAxisAngle),M=p._rl,S=M[0],E=M[1],P=M[r],O=.75*(M[1]-M[0])/(1-e.hole)/c;r?(y=h+(c+m)*Math.cos(T),x=f-(c+m)*Math.sin(T),_="radialdrag"):(y=h+(u-m)*Math.cos(T),x=f-(u-m)*Math.sin(T),_="radialdrag-inner");var z,B,N,j=d.makeRectDragger(l,_,"crosshair",-m,-m,v,v),V={element:j,gd:s};D(n.select(j),p.visible&&u0==(r?N>S:Nn?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*i},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 a=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?i(t):t}(a(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,a){var i,o,s=e[a],l=e._length,c=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(i=new Array(l),o=0;o0){for(var n=[],a=0;a=u&&(p.min=0,g.min=0,v.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r,n){var a=h[e._name];function o(r,n){return i.coerce(t,e,a,r,n)}o("uirevision",n.uirevision),e.type="linear";var f=o("color"),p=f!==a.color.dflt?f:r.font.color,d=e._name.charAt(0).toUpperCase(),g="Component "+d,v=o("title.text",g);e._hovertitle=v===g?v:d,i.coerceFont(o,"title.font",{family:r.font.family,size:Math.round(1.2*r.font.size),color:p}),o("min"),c(t,e,o,"linear"),s(t,e,o,"linear",{}),l(t,e,o,{outerTicks:!0}),o("showticklabels")&&(i.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:p}),o("tickangle"),o("tickformat")),u(t,e,o,{dfltColor:f,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),o("hoverformat"),o("layer")}e.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{"../../components/color":591,"../../lib":716,"../../plot_api/plot_template":754,"../cartesian/line_grid_defaults":778,"../cartesian/tick_label_defaults":783,"../cartesian/tick_mark_defaults":784,"../cartesian/tick_value_defaults":785,"../subplot_defaults":839,"./layout_attributes":842}],844:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=o._,l=t("../../components/color"),c=t("../../components/drawing"),u=t("../cartesian/set_convert"),h=t("../../lib/extend").extendFlat,f=t("../plots"),p=t("../cartesian/axes"),d=t("../../components/dragelement"),g=t("../../components/fx"),v=t("../../components/titles"),m=t("../cartesian/select").prepSelect,y=t("../cartesian/select").selectOnClick,x=t("../cartesian/select").clearSelect,b=t("../cartesian/constants");function _(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}e.exports=_;var w=_.prototype;w.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},w.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var a=0;ak*x?a=(i=x)*k:i=(a=y)/k,o=v*a/y,s=m*i/x,r=e.l+e.w*d-a/2,n=e.t+e.h*(1-g)-i/2,f.x0=r,f.y0=n,f.w=a,f.h=i,f.sum=b,f.xaxis={type:"linear",range:[_+2*T-b,b-_-2*w],domain:[d-o/2,d+o/2],_id:"x"},u(f.xaxis,f.graphDiv._fullLayout),f.xaxis.setScale(),f.xaxis.isPtWithinRange=function(t){return t.a>=f.aaxis.range[0]&&t.a<=f.aaxis.range[1]&&t.b>=f.baxis.range[1]&&t.b<=f.baxis.range[0]&&t.c>=f.caxis.range[1]&&t.c<=f.caxis.range[0]},f.yaxis={type:"linear",range:[_,b-w-T],domain:[g-s/2,g+s/2],_id:"y"},u(f.yaxis,f.graphDiv._fullLayout),f.yaxis.setScale(),f.yaxis.isPtWithinRange=function(){return!0};var A=f.yaxis.domain[0],M=f.aaxis=h({},t.aaxis,{range:[_,b-w-T],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*k],anchor:"free",position:0,_id:"y",_length:a});u(M,f.graphDiv._fullLayout),M.setScale();var S=f.baxis=h({},t.baxis,{range:[b-_-T,w],side:"bottom",domain:f.xaxis.domain,anchor:"free",position:0,_id:"x",_length:a});u(S,f.graphDiv._fullLayout),S.setScale();var E=f.caxis=h({},t.caxis,{range:[b-_-w,T],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*k],anchor:"free",position:0,_id:"y",_length:a});u(E,f.graphDiv._fullLayout),E.setScale();var L="M"+r+","+(n+i)+"h"+a+"l-"+a/2+",-"+i+"Z";f.clipDef.select("path").attr("d",L),f.layers.plotbg.select("path").attr("d",L);var C="M0,"+i+"h"+a+"l-"+a/2+",-"+i+"Z";f.clipDefRelative.select("path").attr("d",C);var P="translate("+r+","+n+")";f.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),f.clipDefRelative.select("path").attr("transform",null);var O="translate("+(r-S._offset)+","+(n+i)+")";f.layers.baxis.attr("transform",O),f.layers.bgrid.attr("transform",O);var z="translate("+(r+a/2)+","+n+")rotate(30)translate(0,"+-M._offset+")";f.layers.aaxis.attr("transform",z),f.layers.agrid.attr("transform",z);var I="translate("+(r+a/2)+","+n+")rotate(-30)translate(0,"+-E._offset+")";f.layers.caxis.attr("transform",I),f.layers.cgrid.attr("transform",I),f.drawAxes(!0),f.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+i)+"l"+a/2+",-"+i:"M0,0").call(l.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),f.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+i)+"h"+a:"M0,0").call(l.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),f.layers.cline.select("path").attr("d",E.showline?"M"+(r+a/2)+","+n+"l"+a/2+","+i:"M0,0").call(l.stroke,E.linecolor||"#000").style("stroke-width",(E.linewidth||0)+"px"),f.graphDiv._context.staticPlot||f.initInteractions(),c.setClipUrl(f.layers.frontplot,f._hasClipOnAxisFalse?null:f.clipId,f.graphDiv)},w.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+"title",n=this.layers,a=this.aaxis,i=this.baxis,o=this.caxis;if(this.drawAx(a),this.drawAx(i),this.drawAx(o),t){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+("outside"===o.ticks?.87*o.ticklen:0)),c=(i.showticklabels?i.tickfont.size:0)+("outside"===i.ticks?i.ticklen:0)+3;n["a-title"]=v.draw(e,"a"+r,{propContainer:a,propName:this.id+".aaxis.title",placeholder:s(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-a.title.font.size/3-l,"text-anchor":"middle"}}),n["b-title"]=v.draw(e,"b"+r,{propContainer:i,propName:this.id+".baxis.title",placeholder:s(e,"Click to enter Component B title"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*i.title.font.size+c,"text-anchor":"middle"}}),n["c-title"]=v.draw(e,"c"+r,{propContainer:o,propName:this.id+".caxis.title",placeholder:s(e,"Click to enter Component C title"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,"text-anchor":"middle"}})}},w.drawAx=function(t){var e,r=this.graphDiv,n=t._name,a=n.charAt(0),i=t._id,s=this.layers[n],l=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll("."+i+"tick").remove(),this[l]=c),t.setScale();var u=p.calcTicks(t),h=p.clipEnds(t,u),f=p.makeTransFn(t),d=p.getTickSigns(t)[2],g=o.deg2rad(30),v=d*(t.linewidth||1)/2,m=d*t.ticklen,y=this.w,x=this.h,b="b"===a?"M0,"+v+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+v+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,_={a:"M0,0l"+x+",-"+y/2,b:"M0,0l-"+y/2+",-"+x,c:"M0,0l-"+x+","+y/2}[a];p.drawTicks(r,t,{vals:"inside"===t.ticks?h:u,layer:s,path:b,transFn:f,crisp:!1}),p.drawGrid(r,t,{vals:h,layer:this.layers[a+"grid"],path:_,transFn:f,crisp:!1}),p.drawLabels(r,t,{vals:u,layer:s,transFn:f,labelFns:p.makeLabelFns(t,0,30)})};var T=b.MINZOOM/2+.87,A="m-0.87,.5h"+T+"v3h-"+(T+5.2)+"l"+(T/2+2.6)+",-"+(.87*T+4.5)+"l2.6,1.5l-"+T/2+","+.87*T+"Z",M="m0.87,.5h-"+T+"v3h"+(T+5.2)+"l-"+(T/2+2.6)+",-"+(.87*T+4.5)+"l-2.6,1.5l"+T/2+","+.87*T+"Z",S="m0,1l"+T/2+","+.87*T+"l2.6,-1.5l-"+(T/2+2.6)+",-"+(.87*T+4.5)+"l-"+(T/2+2.6)+","+(.87*T+4.5)+"l2.6,1.5l"+T/2+",-"+.87*T+"Z",E="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",L=!0;function C(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}w.initInteractions=function(){var t,e,r,n,u,h,f,p,v,_,w=this,T=w.layers.plotbg.select("path").node(),P=w.graphDiv,O=P._fullLayout._zoomlayer,z={element:T,gd:P,plotinfo:{id:w.id,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(i,o,s){z.xaxes=[w.xaxis],z.yaxes=[w.yaxis];var c=P._fullLayout.dragmode;z.minDrag="lasso"===c?1:void 0,"zoom"===c?(z.moveFn=N,z.clickFn=D,z.doneFn=j,function(i,o,s){var c=T.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,h=a(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),f="M0,"+w.h+"L"+w.w/2+", 0L"+w.w+","+w.h+"Z",p=!1,v=O.append("path").attr("class","zoombox").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:h>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",f),_=O.append("path").attr("class","zoombox-corners").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),x(P)}(0,o,s)):"pan"===c?(z.moveFn=V,z.clickFn=D,z.doneFn=U,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,x(P)):"select"!==c&&"lasso"!==c||m(i,o,s,z,c)}};function I(t){var e={};return e[w.id+".aaxis.min"]=t.a,e[w.id+".baxis.min"]=t.b,e[w.id+".caxis.min"]=t.c,e}function D(t,e){var r=P._fullLayout.clickmode;C(P),2===t&&(P.emit("plotly_doubleclick",null),i.call("_guiRelayout",P,I({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&y(e,P,[w.xaxis],[w.yaxis],w.id,z),r.indexOf("event")>-1&&g.click(P,e,w.id)}function R(t,e){return 1-e/w.h}function F(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function B(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function N(a,i){var o=t+a,s=e+i,l=Math.max(0,Math.min(1,R(0,e),R(0,s))),c=Math.max(0,Math.min(1,F(t,e),F(o,s))),d=Math.max(0,Math.min(1,B(t,e),B(o,s))),g=(l/2+d)*w.w,m=(1-l/2-c)*w.w,y=(g+m)/2,x=m-g,T=(1-l)*w.h,L=T-x/k;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),_.transition().style("opacity",1).duration(200),p=!0),P.emit("plotly_relayouting",I(u))}function j(){C(P),u!==r&&(i.call("_guiRelayout",P,I(u)),L&&P.data&&P._context.showTips&&(o.notifier(s(P,"Double-click to zoom back out"),"long"),L=!1))}function V(t,e){var n=t/w.xaxis._m,a=e/w.yaxis._m,i=[(u={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,u.b,u.c].sort(),o=i.indexOf(u.a),s=i.indexOf(u.b),l=i.indexOf(u.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),u={a:i[o],b:i[s],c:i[l]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var h="translate("+(w.x0+t)+","+(w.y0+e)+")";w.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var f="translate("+-t+","+-e+")";w.clipDefRelative.select("path").attr("transform",f),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w._hasClipOnAxisFalse&&w.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,w),P.emit("plotly_relayouting",I(u))}function U(){i.call("_guiRelayout",P,I(u))}T.onmousemove=function(t){g.hover(P,t,w.id),P._fullLayout._lasthover=T,P._fullLayout._hoversubplot=w.id},T.onmouseout=function(t){P._dragging||d.unhover(P,t)},d.init(z)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../components/titles":678,"../../lib":716,"../../lib/extend":707,"../../registry":845,"../cartesian/axes":764,"../cartesian/constants":770,"../cartesian/select":781,"../cartesian/set_convert":782,"../plots":825,d3:164,tinycolor2:535}],845:[function(t,e,r){"use strict";var n=t("./lib/loggers"),a=t("./lib/noop"),i=t("./lib/push_unique"),o=t("./lib/is_plain_object"),s=t("./lib/dom").addStyleRule,l=t("./lib/extend"),c=t("./plots/attributes"),u=t("./plots/layout_attributes"),h=l.extendFlat,f=l.extendDeepAll;function p(t){var e=t.name,a=t.categories,i=t.meta;if(r.modules[e])n.log("Type "+e+" already registered");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log("Plot type "+e+" already registered.");for(var a in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(a,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(h[p[r]].title={text:""});for(r=0;rpath, .legendlines>path, .cbfill").each(function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf("url(")&&t.style("fill",e.replace(l,"TOBESTRIPPED"));var r=this.style.stroke;r&&-1!==r.indexOf("url(")&&t.style("stroke",r.replace(l,"TOBESTRIPPED"))}),"pdf"!==e&&"eps"!==e||f.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0),f.node().setAttributeNS(s.xmlns,"xmlns",s.svg),f.node().setAttributeNS(s.xmlns,"xmlns:xlink",s.xlink),"svg"===e&&r&&(f.attr("width",r*d),f.attr("height",r*g),f.attr("viewBox","0 0 "+d+" "+g));var _=(new window.XMLSerializer).serializeToString(f.node());return _=function(t){var e=n.select("body").append("div").style({display:"none"}).html(""),r=t.replace(/(&[^;]*;)/gi,function(t){return"<"===t?"<":"&rt;"===t?">":-1!==t.indexOf("<")||-1!==t.indexOf(">")?"":e.html(t).text()});return e.remove(),r}(_),_=(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),a.isIE()&&(_=(_=(_=_.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),_}},{"../components/color":591,"../components/drawing":612,"../constants/xmlns_namespaces":693,"../lib":716,d3:164}],854:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r0&&h.s>0||(c=!1)}o._extremes[t._id]=s.findExtremes(t,l,{tozero:!c,padded:!0})}}function m(t){for(var e=t.traces,r=0;rh+c||!n(u))}for(var p=0;p0&&_.s>0||(m=!1)}}g._extremes[t._id]=s.findExtremes(t,v,{tozero:!m,padded:y})}}function x(t){return t._id.charAt(0)}e.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,a=t._fullLayout,i=t._fullData,s=t.calcdata,l=[],c=[],h=0;hi))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e0}function T(t){return"auto"===t?0:t}function A(t,e,r,n,a,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,c=i.anchor||0,u=a.width,h=a.height,f=Math.abs(e-t),p=Math.abs(n-r),d=f>2*y&&p>2*y?y:0;f-=2*d,p-=2*d;var g=!1;if(!("auto"===l)||u<=f&&h<=p||!(u>f||h>p)||(u>p||h>f)&&u2*y?y:0:f>2*y?y:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var g=T(c);o+=.5*(d*(s?h:u)*Math.abs(Math.sin(Math.PI/180*g))+d*(s?u:h)*Math.abs(Math.cos(Math.PI/180*g)));var v=(t+e)/2,m=(r+n)/2;return s?v=e-o*_(e,t):m=n+o*_(r,n),{textX:(a.left+a.right)/2,textY:(a.top+a.bottom)/2,targetX:v,targetY:m,scale:d,rotate:g}}e.exports={plot:function(t,e,r,p,d,x){var T=e.xaxis,S=e.yaxis,E=t._fullLayout;d||(d={mode:E.barmode,norm:E.barmode,gap:E.bargap,groupgap:E.bargroupgap});var L=i.makeTraceGroups(p,r,"trace bars").each(function(r){var c=n.select(this),p=r[0].trace,E="waterfall"===p.type,L="funnel"===p.type,C="bar"===p.type||L,P=0;E&&p.connector.visible&&"between"===p.connector.mode&&(P=p.connector.line.width/2);var O="h"===p.orientation,z=i.ensureSingle(c,"g","points"),I=b(p),D=z.selectAll("g.point").data(i.identity,I);D.enter().append("g").classed("point",!0),D.exit().remove(),D.each(function(c,b){var E,L,z=n.select(this),I=function(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),n?[a,i]:[i,a]}(c,T,S,O),D=I[0][0],R=I[0][1],F=I[1][0],B=I[1][1],N=!(D!==R&&F!==B&&a(D)&&a(R)&&a(F)&&a(B));if(N&&C&&f.getLineWidth(p,c)&&(O?R-D==0:B-F==0)&&(N=!1),c.isBlank=N,N&&O&&(R=D),N&&!O&&(B=F),P&&!N&&(O?(D-=_(D,R)*P,R+=_(D,R)*P):(F-=_(F,B)*P,B+=_(F,B)*P)),"waterfall"===p.type){if(!N){var j=p[c.dir].marker;E=j.line.width,L=j.color}}else E=f.getLineWidth(p,c),L=c.mc||p.marker.color;var V=n.round(E/2%1,2);function U(t){return 0===d.gap&&0===d.groupgap?n.round(Math.round(t)-V,2):t}if(!t._context.staticPlot){var q=s.opacity(L)<1||E>.01?U:function(t,e){return Math.abs(t-e)>=2?U(t):t>e?Math.ceil(t):Math.floor(t)};D=q(D,R),R=q(R,D),F=q(F,B),B=q(B,F)}var H=w(i.ensureSingle(z,"path"),d,x);if(H.style("vector-effect","non-scaling-stroke").attr("d","M"+D+","+F+"V"+B+"H"+R+"V"+F+"Z").call(l.setClipUrl,e.layerClipId,t),k(d)){var G=l.makePointStyleFns(p);l.singlePointStyle(c,H,p,G,t)}!function(t,e,r,n,a,s,c,p,d,x,b){var _,k=e.xaxis,T=e.yaxis,S=t._fullLayout;function E(e,r,n){var a=i.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+_,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t);return a}var L=n[0].trace,C="h"===L.orientation,P=function(t,e,r,n,a){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,a){var o=e[0].trace,s=i.castOption(o,r,"texttemplate");if(!s)return"";var l,c,h,f,p="waterfall"===o.type,d="funnel"===o.type;function g(t){return u(f,+t,!0).text}"h"===o.orientation?(l="y",c=a,h="x",f=n):(l="x",c=n,h="y",f=a);var v,y=e[r],x={};x.label=y.p,x.labelLabel=x[l+"Label"]=(v=y.p,u(c,v,!0).text);var b=i.castOption(o,y.i,"text");(0===b||b)&&(x.text=b),x.value=y.s,x.valueLabel=x[h+"Label"]=g(y.s);var _={};m(_,o,y.i),p&&(x.delta=+y.rawS||y.s,x.deltaLabel=g(x.delta),x.final=y.v,x.finalLabel=g(x.final),x.initial=x.final-x.delta,x.initialLabel=g(x.initial)),d&&(x.value=y.s,x.valueLabel=g(x.value),x.percentInitial=y.begR,x.percentInitialLabel=i.formatPercent(y.begR),x.percentPrevious=y.difR,x.percentPreviousLabel=i.formatPercent(y.difR),x.percentTotal=y.sumR,x.percenTotalLabel=i.formatPercent(y.sumR));var w=i.castOption(o,y.i,"customdata");return w&&(x.customdata=w),i.texttemplateString(s,x,t._d3locale,_,x,o._meta||{})}(t,e,r,n,a):s.textinfo?function(t,e,r,n){var a=t[0].trace,o="h"===a.orientation,s="waterfall"===a.type,l="funnel"===a.type;function c(t){var e=o?r:n;return u(e,+t,!0).text}var h,f,p=a.textinfo,d=t[e],g=p.split("+"),v=[],m=function(t){return-1!==g.indexOf(t)};if(m("label")&&v.push((f=t[e].p,u(o?n:r,f,!0).text)),m("text")&&(0===(h=i.castOption(a,d.i,"text"))||h)&&v.push(h),s){var y=+d.rawS||d.s,x=d.v,b=x-y;m("initial")&&v.push(c(b)),m("delta")&&v.push(c(y)),m("final")&&v.push(c(x))}if(l){m("value")&&v.push(c(d.s));var _=0;m("percent initial")&&_++,m("percent previous")&&_++,m("percent total")&&_++;var w=_>1;m("percent initial")&&(h=i.formatPercent(d.begR),w&&(h+=" of initial"),v.push(h)),m("percent previous")&&(h=i.formatPercent(d.difR),w&&(h+=" of previous"),v.push(h)),m("percent total")&&(h=i.formatPercent(d.sumR),w&&(h+=" of total"),v.push(h))}return v.join("
")}(e,r,n,a):f.getValue(s.text,r),f.coerceString(g,o)}(S,n,a,k,T);_=function(t,e){var r=f.getValue(t.textposition,e);return f.coerceEnumerated(v,r)}(L,a);var O="stack"===x.mode||"relative"===x.mode,z=n[a],I=!O||z._outmost;if(P&&"none"!==_&&(!z.isBlank&&s!==c&&p!==d||"auto"!==_&&"inside"!==_)){var D=S.font,R=h.getBarColor(n[a],L),F=h.getInsideTextFont(L,a,D,R),B=h.getOutsideTextFont(L,a,D),N=r.datum();C?"log"===k.type&&N.s0<=0&&(s=k.range[0]0&&q>0,Z=U<=Y&&q<=W,J=U<=W&&q<=Y,K=C?Y>=U*(W/q):W>=q*(Y/U);X&&(Z||J||K)?_="inside":(_="outside",j.remove(),j=null)}else _="inside";if(!j){var Q=(j=E(r,P,"outside"===_?B:F)).attr("transform");if(j.attr("transform",""),V=l.bBox(j.node()),U=V.width,q=V.height,j.attr("transform",Q),U<=0||q<=0)return void j.remove()}"outside"===_?(G="both"===L.constraintext||"outside"===L.constraintext,H=i.getTextTransform(M(s,c,p,d,V,{isHorizontal:C,constrained:G,angle:L.textangle}))):(G="both"===L.constraintext||"inside"===L.constraintext,H=i.getTextTransform(A(s,c,p,d,V,{isHorizontal:C,constrained:G,angle:L.textangle,anchor:L.insidetextanchor}))),w(j,x,b).attr("transform",H)}else r.select("text").remove()}(t,e,z,r,b,D,R,F,B,d,x),e.layerClipId&&l.hideOutsideRangePoint(c,z.select("text"),T,S,p.xcalendar,p.ycalendar)});var R=!1===p.cliponaxis;l.setClipUrl(c,R?null:e.layerClipId,t)});c.getComponentMethod("errorbars","plot")(t,L,e,d)},toMoveInsideBar:A,toMoveOutsideBar:M}},{"../../components/color":591,"../../components/drawing":612,"../../components/fx/helpers":626,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../registry":845,"./attributes":855,"./constants":857,"./helpers":861,"./style":869,d3:164,"fast-isnumeric":227}],867:[function(t,e,r){"use strict";function n(t,e,r,n,a){var i=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 a?[(i+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(i+o)/2,l]}e.exports=function(t,e){var r,a=t.cd,i=t.xaxis,o=t.yaxis,s=a[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===e)for(r=0;r1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")}),e.selectAll("g.points").each(function(e){p(n.select(this),e[0].trace,t)}),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:d,styleOnSelect:function(t,e,r){var a=e[0].trace;a.selectedpoints?function(t,e,r){i.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each(function(t){var a,s=n.select(this);if(t.selected){a=o.extendFlat({},g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(a.color=l),i.font(s,a)}else i.selectedTextStyle(s,e)})}(t.selectAll("text"),e,r)}(r,a,t):(p(r,a,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:y,getBarColor:b}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../registry":845,"./attributes":855,"./helpers":861,d3:164}],870:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s){r("marker.color",o),a(t,"marker")&&i(t,e,s,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),a(t,"marker.line")&&i(t,e,s,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":591,"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602}],871:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../lib/extend").extendFlat,i=t("../scatterpolar/attributes"),o=t("../bar/attributes");e.exports={r:i.r,theta:i.theta,r0:i.r0,dr:i.dr,theta0:i.theta0,dtheta:i.dtheta,thetaunit:i.thetaunit,base:a({},o.base,{}),offset:a({},o.offset,{}),width:a({},o.width,{}),text:a({},o.text,{}),hovertext:a({},o.hovertext,{}),marker:o.marker,hoverinfo:i.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatterpolar/attributes":1190}],872:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/calc"),i=t("../bar/arrays_to_calcdata"),o=t("../bar/cross_trace_calc").setGroupPositions,s=t("../scatter/calc_selection"),l=t("../../registry").traceIs,c=t("../../lib").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,"r"),h=c.makeCalcdata(e,"theta"),f=e._length,p=new Array(f),d=u,g=h,v=0;vf.range[1]&&(x+=Math.PI);if(n.getClosest(c,function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?v+Math.min(1,Math.abs(t.thetag1-t.thetag0)/m)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0},t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=a.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,h,t),t.hovertemplate=u.hovertemplate,t.color=i(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},{"../../components/fx":629,"../../lib":716,"../../plots/polar/helpers":827,"../bar/hover":862,"../scatterpolar/hover":1194}],875:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"barpolar",basePlotModule:t("../../plots/polar"),categories:["polar","bar","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("../scatterpolar/format_labels"),style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../bar/select"),meta:{}}},{"../../plots/polar":828,"../bar/select":867,"../bar/style":869,"../scatter/marker_colorbar":1136,"../scatterpolar/format_labels":1193,"./attributes":871,"./calc":872,"./defaults":873,"./hover":874,"./layout_attributes":876,"./layout_defaults":877,"./plot":878}],876:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},{}],877:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i,o={};function s(r,o){return n.coerce(t[i]||{},e[i],a,r,o)}for(var l=0;l0?(c=o,u=l):(c=l,u=o);var h=s.findEnclosingVertexAngles(c,t.vangles)[0],f=s.findEnclosingVertexAngles(u,t.vangles)[1],p=[h,(c+u)/2,f];return s.pathPolygonAnnulus(n,a,c,u,p,e,r)};return function(t,n,a,o){return i.pathAnnulus(t,n,a,o,e,r)}}(e),p=e.layers.frontplot.select("g.barlayer");i.makeTraceGroups(p,r,"trace bars").each(function(){var r=n.select(this),s=i.ensureSingle(r,"g","points").selectAll("g.point").data(i.identity);s.enter().append("g").style("vector-effect","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=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(a(o)&&a(s)&&a(p)&&a(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),v=(p+d)/2;t.ct=[l.c2p(g*Math.cos(v)),c.c2p(g*Math.sin(v))],e=f(o,s,p,d)}else e="M0,0Z";i.ensureSingle(r,"path").attr("d",e)}),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)})}},{"../../components/drawing":612,"../../lib":716,"../../plots/polar/helpers":827,d3:164,"fast-isnumeric":227}],879:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../bar/attributes"),i=t("../../components/color/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../lib/extend").extendFlat,l=n.marker,c=l.line;e.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"},name:{valType:"string",editType:"calc+clearAxisTypes"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),hovertemplate:o({}),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],dflt:"outliers",editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],dflt:!1,editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:s({},l.symbol,{arrayOk:!1,editType:"plot"}),opacity:s({},l.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:s({},l.size,{arrayOk:!1,editType:"calc"}),color:s({},l.color,{arrayOk:!1,editType:"style"}),line:{color:s({},c.color,{arrayOk:!1,dflt:i.defaultLine,editType:"style"}),width:s({},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,offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatter/attributes":1118}],880:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=a._,o=t("../../plots/cartesian/axes");function s(t,e,r){var n={text:"tx",hovertext:"htx"};for(var a in n)Array.isArray(e[a])&&(t[n[a]]=e[a][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,h,f,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||"x"),v=o.getFromId(t,e.yaxis||"y"),m=[],y="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(u=g,h="x",f=v,p="y"):(u=v,h="y",f=g,p="x");var x,b=u.makeCalcdata(e,h),_=function(t,e,r,i,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+"0"in t?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||a.isDateTime(t.name)&&"date"===r.type)?t.name:o;var l="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]);return i.map(function(){return l})}(e,p,f,b,d[y]),w=a.distinctVals(_),k=w.vals,T=w.minDiff/2,A=function(t,e){for(var r=t.length,n=new Array(r+1),a=0;a=0&&Lx.uf},O=1/0,z=-1/0;for(r=0;r0){var I=S[r].sort(l),D=I.map(c),R=D.length;(x={}).pos=k[r],x.pts=I,x[p]=x.pos,x[h]=x.pts.map(function(t){return t.v}),x.min=D[0],x.max=D[R-1],x.mean=a.mean(D,R),x.sd=a.stdev(D,R,x.mean),x.q1=a.interp(D,.25),x.med=a.interp(D,.5),x.q3=a.interp(D,.75),x.lf=Math.min(x.q1,D[Math.min(a.findBin(2.5*x.q1-1.5*x.q3,D,!0)+1,R-1)]),x.uf=Math.max(x.q3,D[Math.max(a.findBin(2.5*x.q3-1.5*x.q1,D),0)]),x.lo=4*x.q1-3*x.q3,x.uo=4*x.q3-3*x.q1;var F=1.57*(x.q3-x.q1)/Math.sqrt(R);x.ln=x.med-F,x.un=x.med+F,O=Math.min(O,x.ln),z=Math.max(z,x.un),x.pts2=I.filter(P),m.push(x)}return function(t,e){if(a.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(m[0].t={num:d[y],dPos:T,posLetter:p,valLetter:h,labels:{med:i(t,"median:"),min:i(t,"min:"),q1:i(t,"q1:"),q3:i(t,"q3:"),max:i(t,"max:"),mean:"sd"===e.boxmean?i(t,"mean \xb1 \u03c3:"):i(t,"mean:"),lf:i(t,"lower fence:"),uf:i(t,"upper fence:")}},d[y]++,m):[{t:{empty:!0}}]}},{"../../lib":716,"../../plots/cartesian/axes":764,"fast-isnumeric":227}],881:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids").getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,c,u=e.calcdata,h=e._fullLayout,f=o._id,p=f.charAt(0),d=[],g=0;for(s=0;s1,b=1-h[t+"gap"],_=1-h[t+"groupgap"];for(s=0;s0){var H=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;H+G>=0&&((W=U*(H+G))>M?(q=!0,j=Y,B=W):W>R&&(j=Y,B=M)),W<=M&&(B=M);var X=0;H-G<=0&&((X=-U*(H-G))>S?(q=!0,V=Y,N=X):X>F&&(V=Y,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(c.length);for(l=0;lt.lo&&(_.so=!0)}return i});d.enter().append("path").classed("point",!0),d.exit().remove(),d.call(i.translatePoints,l,c)}function u(t,e,r,i){var o,s,l=e.pos,c=e.val,u=i.bPos,h=i.bPosPxOffset||0,f=r.boxmean||(r.meanline||{}).visible;Array.isArray(i.bdPos)?(o=i.bdPos[0],s=i.bdPos[1]):(o=i.bdPos,s=i.bdPos);var p=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?a.identity:[]);p.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),p.exit().remove(),p.each(function(t){var e=l.c2l(t.pos+u,!0),a=l.l2p(e)+h,i=l.l2p(e-o)+h,p=l.l2p(e+s)+h,d=c.c2p(t.mean,!0),g=c.c2p(t.mean-t.sd,!0),v=c.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+d+","+i+"V"+p+("sd"===f?"m0,0L"+g+","+a+"L"+d+","+i+"L"+v+","+a+"Z":"")):n.select(this).attr("d","M"+i+","+d+"H"+p+("sd"===f?"m0,0L"+a+","+g+"L"+i+","+d+"L"+a+","+v+"Z":""))})}e.exports={plot:function(t,e,r,i){var o=e.xaxis,s=e.yaxis;a.makeTraceGroups(i,r,"trace boxes").each(function(t){var e,r,a=n.select(this),i=t[0],h=i.t,f=i.trace;h.wdPos=h.bdPos*f.whiskerwidth,!0!==f.visible||h.empty?a.remove():("h"===f.orientation?(e=s,r=o):(e=o,r=s),l(a,{pos:e,val:r},f,h),c(a,{x:o,y:s},f,h),u(a,{pos:e,val:r},f,h))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{"../../components/drawing":612,"../../lib":716,d3:164}],889:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,a=t.cd,i=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;var a=1/0;var i=-1/0;var o=e.length;for(var s=0;s0?Math.floor:Math.ceil,O=L>0?Math.ceil:Math.floor,z=L>0?Math.min:Math.max,I=L>0?Math.max:Math.min,D=P(S+C),R=O(E-C),F=[[h=M(S)]];for(i=D;i*L=0;a--)i[u-a]=t[h][a],o[u-a]=e[h][a];for(s.push({x:i,y:o,bicubic:l}),a=h,i=[],o=[];a>=0;a--)i[h-a]=t[a][0],o[h-a]=e[a][0];return s.push({x:i,y:o,bicubic:c}),s}},{}],903:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib/extend").extendFlat;e.exports=function(t,e,r){var i,o,s,l,c,u,h,f,p,d,g,v,m,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],T=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 z(n){var a,i,o,s,l,c,u,h,p,d,g,v,m=[],y=[],x={};if("b"===e)for(i=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,i)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},a=0;a0&&(p=t.dxydi([],a-1,o,0,s),m.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],a-1,o,1,s),m.push(h[0]-d[0]/3),y.push(h[1]-d[1]/3)),m.push(h[0]),y.push(h[1]),l=h;else for(a=t.a2i(n),c=Math.floor(Math.max(0,Math.min(C-2,a))),u=a-c,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],a,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},i=0;i0&&(g=t.dxydj([],c,i-1,u,0),m.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),v=t.dxydj([],c,i-1,u,1),m.push(h[0]-v[0]/3),y.push(h[1]-v[1]/3)),m.push(h[0]),y.push(h[1]),l=h;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=f,x.x=m,x.y=y,x.smoothing=A.smoothing,x}function I(n){var a,i,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=T.length,"b"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),h.xy=function(e){return t.evalxy([],e,n)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},a=0;ax.length-1||_.push(a(I(o),{color:b.gridcolor,width:b.gridwidth}));for(f=u;fx.length-1||g<0||g>x.length-1))for(v=x[s],m=x[g],i=0;ix[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(a(I(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(a(I(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[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],h=c[1],f=u;f<=h;f++)p=b.tick0+b.dtick*f,_.push(a(z(p),{color:b.gridcolor,width:b.gridwidth}));for(f=u-1;fx[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(a(z(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(a(z(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":707,"../../plots/cartesian/axes":764}],904:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib/extend").extendFlat;e.exports=function(t,e){var r,i,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],a=0;a90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],918:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("./map_1d_array"),o=t("./makepath"),s=t("./orient_text"),l=t("../../lib/svg_text_utils"),c=t("../../lib"),u=t("../../constants/alignment");function h(t,e,r,a,s,l){var c="const-"+s+"-lines",u=r.selectAll("."+c).data(l);u.enter().append("path").classed(c,!0).style("vector-effect","non-scaling-stroke"),u.each(function(r){var a=r,s=a.x,l=a.y,c=i([],s,t.c2p),u=i([],l,e.c2p),h="M"+o(c,u,a.smoothing);n.select(this).attr("d",h).style("stroke-width",a.width).style("stroke",a.color).style("fill","none")}),u.exit().remove()}function f(t,e,r,i,o,c,u,h){var f=c.selectAll("text."+h).data(u);f.enter().append("text").classed(h,!0);var p=0,d={};return f.each(function(o,c){var u;if("auto"===o.axis.tickangle)u=s(i,e,r,o.xy,o.dxy);else{var h=(o.axis.tickangle+180)*Math.PI/180;u=s(i,e,r,o.xy,[Math.cos(h),Math.sin(h)])}c||(d={angle:u.angle,flip:u.flip});var f=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({"text-anchor":f>0?"start":"end","data-notex":1}).call(a.font,o.font).text(o.text).call(l.convertToTspans,t),v=a.bBox(this);g.attr("transform","translate("+u.p[0]+","+u.p[1]+") rotate("+u.angle+")translate("+o.axis.labelpadding*f+","+.3*v.height+")"),p=Math.max(p,v.width+o.axis.labelpadding)}),f.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,a){var l=e.xaxis,u=e.yaxis,p=t._fullLayout._clips;c.makeTraceGroups(a,r,"trace").each(function(e){var r=n.select(this),a=e[0],d=a.trace,v=d.aaxis,m=d.baxis,y=c.ensureSingle(r,"g","minorlayer"),x=c.ensureSingle(r,"g","majorlayer"),b=c.ensureSingle(r,"g","boundarylayer"),_=c.ensureSingle(r,"g","labellayer");r.style("opacity",d.opacity),h(l,u,x,v,"a",v._gridlines),h(l,u,x,m,"b",m._gridlines),h(l,u,y,v,"a",v._minorgridlines),h(l,u,y,m,"b",m._minorgridlines),h(l,u,b,v,"a-boundary",v._boundarylines),h(l,u,b,m,"b-boundary",m._boundarylines);var w=f(t,l,u,d,a,_,v._labels,"a-label"),k=f(t,l,u,d,a,_,m._labels,"b-label");!function(t,e,r,n,a,i,o,l){var u,h,f,p,d=c.aggNums(Math.min,null,r.a),v=c.aggNums(Math.max,null,r.a),m=c.aggNums(Math.min,null,r.b),y=c.aggNums(Math.max,null,r.b);u=.5*(d+v),h=m,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===o.angle&&c.extendFlat(o,s(r,a,i,f,r.dxydb_rough(u,h)));g(t,e,r,n,f,p,r.aaxis,a,i,o,"a-title"),u=d,h=.5*(m+y),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===l.angle&&c.extendFlat(l,s(r,a,i,f,r.dxyda_rough(u,h)));g(t,e,r,n,f,p,r.baxis,a,i,l,"b-title")}(t,_,d,a,l,u,w,k),function(t,e,r,n,a){var s,l,u,h,f=r.select("#"+t._clipPathId);f.size()||(f=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(f,"path","carpetboundary"),d=e.clipsegments,g=[];for(h=0;h90&&v<270,y=n.select(this);y.text(u.title.text).call(l.convertToTspans,t),m&&(x=(-l.lineCount(y)+d)*p*i-x),y.attr("transform","translate("+e.p[0]+","+e.p[1]+") rotate("+e.angle+") translate(0,"+x+")").classed("user-select-none",!0).attr("text-anchor","middle").call(a.font,u.title.font)}),y.exit().remove()}},{"../../components/drawing":612,"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"./makepath":915,"./map_1d_array":916,"./orient_text":917,d3:164}],919:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib/search").findBin,i=t("./compute_control_points"),o=t("./create_spline_evaluator"),s=t("./create_i_derivative_evaluator"),l=t("./create_j_derivative_evaluator");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,h=t.aaxis,f=t.baxis,p=e[0],d=e[c-1],g=r[0],v=r[u-1],m=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=m*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,v+=b,t.isVisible=function(t,e){return t>p&&tg&&ed||ev},t.setScale=function(){var e=t._x,r=t._y,n=i(t._xctrl,t._yctrl,e,r,h.smoothing,f.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,h.smoothing,f.smoothing),t.dxydi=s([t._xctrl,t._yctrl],h.smoothing,f.smoothing),t.dxydj=l([t._xctrl,t._yctrl],h.smoothing,f.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-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]),c-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(a(t,e),c-2)),n=e[r],i=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(i-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(a(t,r),u-2)),n=r[e],i=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(i-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,a,i){if(!i&&(ne[c-1]|ar[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(a),l=t.evalxy([],o,s);if(i){var h,f,p,d,g=0,v=0,m=[];ne[c-1]?(h=c-2,f=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):f=o-(h=Math.max(0,Math.min(c-2,Math.floor(o)))),ar[u-1]?(p=u-2,d=1,v=(a-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(m,h,p,f,d),l[0]+=m[0]*g,l[1]+=m[1]*g),v&&(t.dxydj(m,h,p,f,d),l[0]+=m[0]*v,l[1]+=m[1]*v)}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,a){var i=t.dxydi(null,e,r,n,a),o=t.dadi(e,n);return[i[0]/o,i[1]/o]},t.dxydb=function(e,r,n,a){var i=t.dxydj(null,e,r,n,a),o=t.dbdj(r,a);return[i[0]/o,i[1]/o]},t.dxyda_rough=function(e,r,n){var a=m*(n||.1),i=t.ab2xy(e+a,r,!0),o=t.ab2xy(e-a,r,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dxydb_rough=function(e,r,n){var a=y*(n||.1),i=t.ab2xy(e,r+a,!0),o=t.ab2xy(e,r-a,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{"../../lib/search":735,"./compute_control_points":907,"./constants":908,"./create_i_derivative_evaluator":909,"./create_j_derivative_evaluator":910,"./create_spline_evaluator":911}],920:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r){var a,i,o,s=[],l=[],c=t[0].length,u=t.length;function h(e,r){var n,a=0,i=0;return e>0&&void 0!==(n=t[r][e-1])&&(i++,a+=n),e0&&void 0!==(n=t[r-1][e])&&(i++,a+=n),r0&&i0&&a1e-5);return n.log("Smoother converged to",T,"after",A,"iterations"),t}},{"../../lib":716}],921:[function(t,e,r){"use strict";var n=t("../../lib").isArray1D;e.exports=function(t,e,r){var a=r("x"),i=a&&a.length,o=r("y"),s=o&&o.length;if(!i&&!s)return!1;if(e._cheater=!a,i&&!n(a)||s&&!n(o))e._length=null;else{var l=i?a.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}},{"../../lib":716}],922:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../scattergeo/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../plots/attributes"),s=t("../../components/color/attributes").defaultLine,l=t("../../lib/extend").extendFlat,c=a.marker.line;e.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:a.locationmode,z:{valType:"data_array",editType:"calc"},text:l({},a.text,{}),hovertext:l({},a.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:a.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:a.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n()},i("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/color/attributes":590,"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scattergeo/attributes":1159}],923:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../../components/colorscale/calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection");function l(t){return t&&"string"==typeof t}e.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var h=0;h")}(t,h,o,f.mockAxis),[t]}},{"../../lib":716,"../../plots/cartesian/axes":764,"./attributes":922}],927:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("./calc"),plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"choropleth",basePlotModule:t("../../plots/geo"),categories:["geo","noOpacity"],meta:{}}},{"../../plots/geo":794,"../heatmap/colorbar":1001,"./attributes":922,"./calc":923,"./defaults":924,"./event_data":925,"./hover":926,"./plot":928,"./select":929,"./style":930}],928:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../lib/polygon"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("./style").style;function c(t,e){for(var r=t[0].trace,n=t.length,a=o(r,e),i=0;i0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===l||"FJI"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),a=0;ae?r[n++]=[t[a][0]+360,t[a][1]]:a===e?(r[n++]=t[a],r[n++]=[t[a][0],-90]):r[n++]=t[a];var o=i.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(i.tester(t))},o.type){case"MultiPolygon":for(r=0;ro&&(o=c,e=l)}else e=r;return i.default(e).geometry.coordinates}(s),e.fIn=t,e.fOut=s,m.push(s)}else o.log(["Location with id",e.loc,"does not have a valid GeoJSON geometry,","choroplethmapbox traces only support *Polygon* and *MultiPolygon* geometries."].join(" "))}delete v[t.id]}switch(o.isArrayOrTypedArray(k.opacity)&&(x=function(t){var e=t.mo;return n(e)?+o.constrain(e,0,1):0}),o.isArrayOrTypedArray(T.color)&&(b=function(t){return t.mlc}),o.isArrayOrTypedArray(T.width)&&(_=function(t){return t.mlw}),d.type){case"FeatureCollection":var M=d.features;for(g=0;g=0;n--){var a=r[n].id;if("string"==typeof a&&0===a.indexOf("water"))for(var i=n+1;i=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new o(t,r.uid),i=a.sourceId,s=n(e),l=a.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(i,{type:"geojson",data:s.geojson}),a._addLayers(s,l),e[0].trace._glTrace=a,a}},{"../../plots/mapbox/constants":817,"./convert":932}],936:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={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"]})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach(function(t){l[t]=i[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],937:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){for(var r=e.u,a=e.v,i=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,a.length,i.length),s=-1/0,l=1/0,c=0;co.level||o.starts.length&&i===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r":p>c&&(n.prefixBoundary=!0);break;case"<":(pc||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case"][":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),hc&&(n.prefixBoundary=!0)}}}},{}],944:[function(t,e,r){"use strict";var n=t("../../components/colorscale").extractOpts,a=t("./make_color_map"),i=t("./end_plus");e.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=a(e,{isColorbar:!0});if("heatmap"===c){var h=n(e);r._fillgradient=e.colorscale,r._zrange=[h.min,h.max]}else"fill"===c&&(r._fillcolor=u);r._line={color:"lines"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:i(o),size:l}}}},{"../../components/colorscale":603,"./end_plus":952,"./make_color_map":957}],945:[function(t,e,r){"use strict";e.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}}},{}],946:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./label_defaults"),i=t("../../components/color"),o=i.addOpacity,s=i.opacity,l=t("../../constants/filter_ops"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,i,l,h){var f,p,d,g=e.contours,v=r("contours.operation");(g._operation=c[v],function(t,e){var r;-1===u.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,g),"="===v?f=g.showlines=!0:(f=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),f)&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash"));r("line.smoothing"),a(r,i,p,h)}},{"../../components/color":591,"../../constants/filter_ops":688,"./label_defaults":956,"fast-isnumeric":227}],947:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),a=t("fast-isnumeric");function i(t,e){var r,i=Array.isArray(e);function o(t){return a(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(i?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=i?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=i?e.map(o):[o(e)]),r}function o(t){return function(e){e=i(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=i(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},{"../../constants/filter_ops":688,"fast-isnumeric":227}],948:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=n("contours.start"),i=n("contours.end"),o=!1===a||!1===i,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},{}],949:[function(t,e,r){"use strict";var n=t("../../lib");function a(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.exports=function(t,e){var r,i,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."),i=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":716,"./constraint_mapping":947,"./end_plus":952}],952:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],953:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constants");function i(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==a.BOTTOMSTART.indexOf(t)?i=1:-1!==a.LEFTSTART.indexOf(t)?n=1:-1!==a.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(h,r,e),p=[s(t,e,[-f[0],-f[1]])],d=t.z.length,g=t.z[0].length,v=e.slice(),m=f.slice();for(c=0;c<1e4;c++){if(h>20?(h=a.CHOOSESADDLE[h][(f[0]||f[1])<0?0:1],t.crossings[u]=a.SADDLEREMAINDER[h]):delete t.crossings[u],!(f=a.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}p.push(s(t,e,f)),e[0]+=f[0],e[1]+=f[1],u=e.join(","),i(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=f[0]&&(e[0]<0||e[0]>g-2)||f[1]&&(e[1]<0||e[1]>d-2);if(e[0]===v[0]&&e[1]===v[1]&&f[0]===m[0]&&f[1]===m[1]||r&&y)break;h=t.crossings[u]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,k,T,A,M,S,E,L,C,P,O,z,I=i(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c=B;c--)if((x=F[c])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}U||(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}e.exports=function(t){var e,r,i,o,s,l,c,u,h,f=t[0].z,p=f.length,d=f[0].length,g=2===p||2===d;for(r=0;r=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):a.log("endpt to newendpt is not vert. or horz.",r,n,y)}if(r=n,s>=0)break;h+="L"+n}if(s===t.edgepaths.length){a.log("unclosed perimeter path");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+="Z")}for(f=0;fn.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=m.EDGECOST*(1/(f-1)+1/(p-1));d+=m.ANGLECOST*c*c;for(var g=s-u,v=l-h,y=s+u,x=l+h,b=0;b2*m.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=m.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var a=e.width/2,i=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),h=a*u,f=i*c,p=a*c,d=-i*u,g=[[o-h-f,s-p-d],[o+h-f,s+p-d],[o+h+f,s+p+d],[o-h+f,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,i,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,a=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:a,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+a+")"}).call(s.convertToTspans,r)}),o){for(var c="",u=0;ur.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),a.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var c,u=r.start,h=r.end,f=t._input.contours;if(u>h&&(r.start=f.start=h,h=r.end=f.end=u,u=r.start),!(r.size>0))c=u===h?1:i(u,h,t.ncontours).dtick,f.size=r.size=c}}},{"../../lib":716,"../../plots/cartesian/axes":764}],961:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../heatmap/style"),o=t("./make_color_map");e.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,i=r.contours,s=r.line,l=i.size||1,c=i.start,u="constraint"===i.type,h=!u&&"lines"===i.coloring,f=!u&&"fill"===i.coloring,p=h||f?o(r):null;e.selectAll("g.contourlevel").each(function(t){n.select(this).selectAll("path").call(a.lineGroupStyle,s.width,h?p(t.level):s.color,s.dash)});var d=i.labelfont;if(e.selectAll("g.contourlabels text").each(function(t){a.font(n.select(this),{family:d.family,size:d.size,color:d.color||(h?p(t.level):s.color)})}),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(f){var g;e.selectAll("g.contourfill path").style("fill",function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)}),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*l))}}),i(t)}},{"../../components/drawing":612,"../heatmap/style":1010,"./make_color_map":957,d3:164}],962:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),a=t("./label_defaults");e.exports=function(t,e,r,i,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=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,i,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),a(r,i,c,o)}},{"../../components/colorscale/defaults":601,"./label_defaults":956}],963:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),a=t("../contour/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=a.contours;e.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:a.fillcolor,autocontour:a.autocontour,ncontours:a.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:a.line.color,width:a.line.width,dash:a.line.dash,smoothing:a.line.smoothing,editType:"plot"},transforms:void 0},i("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../contour/attributes":941,"../heatmap/attributes":998}],964:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),a=t("../../lib"),i=t("../heatmap/convert_column_xyz"),o=t("../heatmap/clean_2d_array"),s=t("../heatmap/interp2d"),l=t("../heatmap/find_empties"),c=t("../heatmap/make_bound_array"),u=t("./defaults"),h=t("../carpet/lookup_carpetid"),f=t("../contour/set_contours");e.exports=function(t,e){var r=e._carpetTrace=h(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),u(d,e,e._defaultColor,t._fullLayout)}var g=function(t,e){var r,u,h,f,p,d,g,v=e._carpetTrace,m=v.aaxis,y=v.baxis;m._minDtick=0,y._minDtick=0,a.isArray1D(e.z)&&i(e,m,y,"a","b",["z"]);r=e._a=e._a||e.a,f=e._b=e._b||e.b,r=r?m.makeCalcdata(e,"_a"):[],f=f?y.makeCalcdata(e,"_b"):[],u=e.a0||0,h=e.da||1,p=e.b0||0,d=e.db||1,g=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(g),s(g,e._emptypoints);var x=a.maxRowLength(g),b="scaled"===e.xtype?"":r,_=c(e,b,u,h,x,m),w="scaled"===e.ytype?"":f,k=c(e,w,p,d,g.length,y),T={a:_,b:k,z:g};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:g,containerStr:"",cLetter:"z"});return[T]}(t,e);return f(e,e._z),g}}},{"../../components/colorscale/calc":599,"../../lib":716,"../carpet/lookup_carpetid":914,"../contour/set_contours":960,"../heatmap/clean_2d_array":1e3,"../heatmap/convert_column_xyz":1002,"../heatmap/find_empties":1004,"../heatmap/interp2d":1007,"../heatmap/make_bound_array":1008,"./defaults":965}],965:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../heatmap/xyz_defaults"),i=t("./attributes"),o=t("../contour/constraint_defaults"),s=t("../contour/contours_defaults"),l=t("../contour/style_defaults");e.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,i,r,a)}if(u("carpet"),t.a&&t.b){if(!a(t,e,u,c,"a","b"))return void(e.visible=!1);u("text"),"constraint"===u("contours.type")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,i,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{"../../lib":716,"../contour/constraint_defaults":946,"../contour/contours_defaults":948,"../contour/style_defaults":962,"../heatmap/xyz_defaults":1012,"./attributes":963}],966:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../contour/colorbar"),calc:t("./calc"),plot:t("./plot"),style:t("../contour/style"),moduleType:"trace",name:"contourcarpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":775,"../contour/colorbar":944,"../contour/style":961,"./attributes":963,"./calc":964,"./defaults":965,"./plot":967}],967:[function(t,e,r){"use strict";var n=t("d3"),a=t("../carpet/map_1d_array"),i=t("../carpet/makepath"),o=t("../../components/drawing"),s=t("../../lib"),l=t("../contour/make_crossings"),c=t("../contour/find_all_paths"),u=t("../contour/plot"),h=t("../contour/constants"),f=t("../contour/convert_to_constraints"),p=t("../contour/empty_pathinfo"),d=t("../contour/close_boundaries"),g=t("../carpet/lookup_carpetid"),v=t("../carpet/axis_aligned_line");function m(t,e,r){var n=t.getPointAtLength(e),a=t.getPointAtLength(r),i=a.x-n.x,o=a.y-n.y,s=Math.sqrt(i*i+o*o);return[i/s,o/s]}function y(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}e.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),k=r[0],T=k.trace,A=T._carpetTrace=g(t,T),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=k.a,E=k.b,L=T.contours,C=p(L,e,k),P="constraint"===L.type,O=L._operation,z=P?"="===O?"lines":"fill":L.coloring,I=[[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 D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(C,D,R);var F,B,N,j,V=C;"constraint"===L.type&&(V=f(C,O)),function(t,e){var r,n,a,i,o,s,l,c,u;for(r=0;r=0;j--)F=M.clipsegments[j],B=a([],F.x,_.c2p),N=a([],F.y,w.c2p),B.reverse(),N.reverse(),U.push(i(B,N,F.bicubic));var q="M"+U.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,h,f,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(f=0;f=0&&(f=L,d=g):Math.abs(h[1]-f[1])=0&&(f=L,d=g):s.log("endpt to newendpt is not vert. or horz.",h,f,L)}if(d>=0)break;y+=S(h,f),h=f}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(h,f)+"Z",h=null)}for(u=0;uv&&(n.max=v);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*h.LABELMIN)))for(var a=Math.min(Math.ceil(n.len/O),h.LABELMAX),i=0;i0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:m},properties:y})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],k=["interpolate",["linear"],["heatmap-density"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u<_.length;u++)k.push(_[u][0],_[u][1]);var T=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return a.extendFlat(c.heatmap.paint,{"heatmap-weight":d?T:1/(b.max-b.min),"heatmap-color":k,"heatmap-radius":g?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),c.geojson={type:"FeatureCollection",features:h},c.heatmap.layout.visibility="visible",c}},{"../../components/color":591,"../../components/colorscale":603,"../../constants/numerical":692,"../../lib":716,"../../lib/geojson_utils":711,"fast-isnumeric":227}],971:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("lon")||[],c=s("lat")||[],u=Math.min(l.length,c.length);u?(e._length=u,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),a(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":968}],972:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],973:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../scattermapbox/hover");e.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=a.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=function(t,e,r){if(t.hovertemplate)return;var a=(e.hi||t.hoverinfo).split("+"),i=-1!==a.indexOf("all"),o=-1!==a.indexOf("lon"),s=-1!==a.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}i||o&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):o?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==a.indexOf("text"))&&n.fillText(e,t,c);return c.join("
")}(c,u,l[0].t.labels),[s]}}},{"../../lib":716,"../../plots/cartesian/axes":764,"../scattermapbox/hover":1186}],974:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),formatLabels:t("../scattermapbox/format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),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)},e.exports=function(t,e){var r=e[0].trace,a=new i(t,r.uid),o=a.sourceId,s=n(e),l=a.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}},{"../../plots/mapbox/constants":817,"./convert":970}],976:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r"),s.color=function(t,e){var r=t.marker,a=e.mc||r.color,i=e.mlc||r.line.color,o=e.mlw||r.line.width;if(n(a))return a;if(n(i)&&o)return i}(c,h),[s]}}},{"../../components/color":591,"../../lib":716,"../bar/hover":862}],984:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"funnel",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../bar/select":867,"./attributes":977,"./calc":978,"./cross_trace_calc":980,"./defaults":981,"./event_data":982,"./hover":983,"./layout_attributes":985,"./layout_defaults":986,"./plot":987,"./style":988}],985:[function(t,e,r){"use strict";e.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"}}},{}],986:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s path").each(function(t){if(!t.isBlank){var e=l.marker;n.select(this).call(i.fill,t.mc||e.color).call(i.stroke,t.mlc||e.line.color).call(a.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",l.selectedpoints&&!t.selected?o:1)}}),s(r,l,t),r.selectAll(".regions").each(function(){n.select(this).selectAll("path").style("stroke-width",0).call(i.fill,l.connector.fillcolor)}),r.selectAll(".lines").each(function(){var t=l.connector.line;a.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)})})}}},{"../../components/color":591,"../../components/drawing":612,"../../constants/interactions":691,"../bar/style":869,d3:164}],989:[function(t,e,r){"use strict";var n=t("../pie/attributes"),a=t("../../plots/attributes"),i=t("../../plots/domain").attributes,o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("../../lib/extend").extendFlat;e.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({},a.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:i({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"}}},{"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092}],990:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="funnelarea",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],991:[function(t,e,r){"use strict";var n=t("../pie/calc");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},{"../pie/calc":1094}],992:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText;e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}var c,u=l("values"),h=n.isArrayOrTypedArray(u),f=l("labels");if(Array.isArray(f)?(c=f.length,h&&(c=Math.min(c,u.length))):h&&(c=u.length,l("label0"),l("dlabel")),c){e._length=c,l("marker.line.width")&&l("marker.line.color",s.paper_bgcolor),l("marker.colors"),l("scalegroup");var p,d=l("text"),g=l("texttemplate");if(g||(p=l("textinfo",Array.isArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),g||p&&"none"!==p){var v=l("textposition");o(t,e,s,l,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}i(e,s,l),l("title.text")&&(l("title.position"),n.coerceFont(l,"title.font",s.font)),l("aspectratio"),l("baseratio")}else e.visible=!1}},{"../../lib":716,"../../plots/domain":789,"../bar/defaults":859,"./attributes":989}],993:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"funnelarea",basePlotModule:t("./base_plot"),categories:["pie-like","funnelarea","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style"),styleOne:t("../pie/style_one"),meta:{}}},{"../pie/style_one":1103,"./attributes":989,"./base_plot":990,"./calc":991,"./defaults":992,"./layout_attributes":994,"./layout_defaults":995,"./plot":996,"./style":997}],994:[function(t,e,r){"use strict";var n=t("../pie/layout_attributes").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{"../pie/layout_attributes":1099}],995:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},{"../../lib":716,"./layout_attributes":994}],996:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../lib"),o=t("../../lib/svg_text_utils"),s=t("../bar/plot").toMoveInsideBar,l=t("../pie/helpers"),c=t("../pie/plot"),u=c.attachFxHandlers,h=c.determineInsideTextFont,f=c.layoutAreas,p=c.prerenderTitles,d=c.positionTitleOutside;function g(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}e.exports=function(t,e){var r=t._fullLayout;p(e,t),f(e,r._size),i.makeTraceGroups(r._funnelarealayer,e,"trace").each(function(e){var f=n.select(this),p=e[0],v=p.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,a=r.baseratio;a>.999&&(a=.999);var i,o=Math.pow(a,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var h,f,p=[];for(p.push(u()),h=t.length-1;h>-1;h--)if(!(f=t[h]).hidden){var d=f.v/l;c+=d,p.push(u())}var g=1/0,v=-1/0;for(h=0;h-1;h--)if(!(f=t[h]).hidden){var A=p[T+=1][0],M=p[T][1];f.TL=[-A,M],f.TR=[A,M],f.BL=w,f.BR=k,f.pxmid=(S=f.TR,E=f.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=f.TL,k=f.TR}var S,E}(e),f.each(function(){var f=n.select(this).selectAll("g.slice").data(e);f.enter().append("g").classed("slice",!0),f.exit().remove(),f.each(function(r){if(r.hidden)n.select(this).selectAll("path,g").remove();else{r.pointNumber=r.i,r.curveNumber=v.index;var f=p.cx,d=p.cy,m=n.select(this),y=m.selectAll("path.surface").data([r]);y.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),m.call(u,t,e);var x="M"+(f+r.TR[0])+","+(d+r.TR[1])+g(r.TR,r.BR)+g(r.BR,r.BL)+g(r.BL,r.TL)+"Z";y.attr("d",x),c.formatSliceLabel(t,r,p);var b=l.castOption(v.textposition,r.pts),_=m.selectAll("g.slicetext").data(r.text&&"none"!==b?[0]:[]);_.enter().append("g").classed("slicetext",!0),_.exit().remove(),_.each(function(){var e=i.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});e.text(r.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(a.font,h(v,r,t._fullLayout.font)).call(o.convertToTspans,t);var l,c,u,p=a.bBox(e.node()),g=Math.min(r.BL[1],r.BR[1]),m=Math.max(r.TL[1],r.TR[1]);c=Math.max(r.TL[0],r.BL[0]),u=Math.min(r.TR[0],r.BR[0]),l=i.getTextTransform(s(c,u,g,m,p,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})),e.attr("transform","translate("+f+","+d+")"+l)})}});var m=n.select(this).selectAll("g.titletext").data(v.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each(function(){var e=i.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)}),s=v.title.text;v._meta&&(s=i.templateString(s,v._meta)),e.text(s).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(a.font,v.title.font).call(o.convertToTspans,t);var l=d(p,r._size);e.attr("transform","translate("+l.x+","+l.y+")"+(l.scale<1?"scale("+l.scale+")":"")+"translate("+l.tx+","+l.ty+")")})})})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../bar/plot":866,"../pie/helpers":1097,"../pie/plot":1101,d3:164}],997:[function(t,e,r){"use strict";var n=t("d3"),a=t("../pie/style_one");e.exports=function(t){t._fullLayout._funnelarealayer.selectAll(".trace").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(a,t,e)})})}},{"../pie/style_one":1103,d3:164}],998:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../components/colorscale/attributes"),o=(t("../../constants/docs").FORMAT_LINK,t("../../lib/extend").extendFlat);e.exports=o({z:{valType:"data_array",editType:"calc"},x:o({},n.x,{impliedEdits:{xtype:"array"}}),x0:o({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:o({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:o({},n.y,{impliedEdits:{ytype:"array"}}),y0:o({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:o({},n.dy,{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"},zhoverformat:{valType:"string",dflt:"",editType:"none"},hovertemplate:a()},{transforms:void 0},i("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../constants/docs":687,"../../lib/extend":707,"../../plots/template_attributes":840,"../scatter/attributes":1118}],999:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../histogram2d/calc"),s=t("../../components/colorscale/calc"),l=t("./convert_column_xyz"),c=t("./clean_2d_array"),u=t("./interp2d"),h=t("./find_empties"),f=t("./make_bound_array");e.exports=function(t,e){var r,p,d,g,v,m,y,x,b,_=i.getFromId(t,e.xaxis||"x"),w=i.getFromId(t,e.yaxis||"y"),k=n.traceIs(e,"contour"),T=n.traceIs(e,"histogram"),A=n.traceIs(e,"gl2d"),M=k?"best":e.zsmooth;if(_._minDtick=0,w._minDtick=0,T)r=(b=o(t,e)).x,p=b.x0,d=b.dx,g=b.y,v=b.y0,m=b.dy,y=b.z;else{var S=e.z;a.isArray1D(S)?(l(e,_,w,"x","y",["z"]),r=e._x,g=e._y,S=e._z):(r=e._x=e.x?_.makeCalcdata(e,"x"):[],g=e._y=e.y?w.makeCalcdata(e,"y"):[]),p=e.x0,d=e.dx,v=e.y0,m=e.dy,y=c(S,e,_,w),(k||e.connectgaps)&&(e._emptypoints=h(y),u(y,e._emptypoints))}function E(t){M=e._input.zsmooth=e.zsmooth=!1,a.warn('cannot use zsmooth: "fast": '+t)}if("fast"===M)if("log"===_.type||"log"===w.type)E("log axis found");else if(!T){if(r.length){var L=(r[r.length-1]-r[0])/(r.length-1),C=Math.abs(L/100);for(x=0;xC){E("x scale is not linear");break}}if(g.length&&"fast"===M){var P=(g[g.length-1]-g[0])/(g.length-1),O=Math.abs(P/100);for(x=0;xO){E("y scale is not linear");break}}}var z=a.maxRowLength(y),I="scaled"===e.xtype?"":r,D=f(e,I,p,d,z,_),R="scaled"===e.ytype?"":g,F=f(e,R,v,m,y.length,w);A||(e._extremes[_._id]=i.findExtremes(_,D),e._extremes[w._id]=i.findExtremes(w,F));var B={x:D,y:F,z:y,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(I&&I.length===D.length-1&&(B.xCenter=I),R&&R.length===F.length-1&&(B.yCenter=R),T&&(B.xRanges=b.xRanges,B.yRanges=b.yRanges,B.pts=b.pts),k||s(t,e,{vals:y,cLetter:"z"}),k&&e.contours&&"heatmap"===e.contours.coloring){var N={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};B.xfill=f(N,I,p,d,z,_),B.yfill=f(N,R,v,m,y.length,w)}return[B]}},{"../../components/colorscale/calc":599,"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"../histogram2d/calc":1030,"./clean_2d_array":1e3,"./convert_column_xyz":1002,"./find_empties":1004,"./interp2d":1007,"./make_bound_array":1008}],1000:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,h,f;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,h=0;h=0;o--)(s=((h[[(r=(i=f[o])[0])-1,a=i[1]]]||g)[2]+(h[[r+1,a]]||g)[2]+(h[[r,a-1]]||g)[2]+(h[[r,a+1]]||g)[2])/20)&&(l[i]=[r,a,s],f.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(i in l)h[i]=l[i],u.push(l[i])}return u.sort(function(t,e){return e[2]-t[2]})}},{"../../lib":716}],1005:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../../components/colorscale").extractOpts;e.exports=function(t,e,r,s,l,c){var u,h,f,p,d=t.cd[0],g=d.trace,v=t.xa,m=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,k=d.zmask,T=g.zhoverformat,A=y,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void a.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(c){var S;for(A=[2*y[0]-y[1]],S=1;Sg&&(m=Math.max(m,Math.abs(t[i][o]-d)/(v-g))))}return m}e.exports=function(t,e){var r,a=1;for(o(t,e),r=0;r.01;r++)a=o(t,e,i(a));return a>.01&&n.log("interp2d didn't converge quickly",a),t}},{"../../lib":716}],1008:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i,o,s){var l,c,u,h=[],f=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(a(e)&&e.length>1&&!p&&"category"!==s.type){var g=e.length;if(!(g<=o))return f?e.slice(0,o):e.slice(0,o+1);if(f||d)h=e.slice(0,o);else if(1===o)h=[e[0]-.5,e[0]+.5];else{for(h=[1.5*e[0]-.5*e[1]],u=1;u0;)f=p.c2p(k[y]),y--;for(f0;)m=d.c2p(T[y]),y--;if(m0&&(i=!0);for(var l=0;li){var o=i-r[t];return r[t]=i,o}}return 0},max:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]c?t>o?t>1.1*a?a:t>1.1*i?i:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,i,s){if(n&&t>o){var l=d(e,i,s),c=d(r,i,s),u=t===a?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,a,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,i){var s,l,c=-1.1*e,f=-.1*e,p=t-f,d=r[0],g=r[1],v=Math.min(h(d+f,d+p,n,i),h(g+f,g+p,n,i)),m=Math.min(h(d+c,d+f,n,i),h(g+c,g+f,n,i));if(v>m&&mo){var y=s===a?1:6,x=s===a?"M12":"M1";return function(e,r){var o=n.c2d(e,a,i),s=o.indexOf("-",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,i);if(cr.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),I.start=r.l2r(j),F||a.nestedProperty(e,m+".start").set(I.start)}var V=b.end,U=r.r2l(z.end),q=void 0!==U;if((b.endFound||q)&&U!==r.r2l(V)){var H=q?U:a.aggNums(Math.max,null,d);I.end=r.l2r(H),q||a.nestedProperty(e,m+".start").set(I.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[m]=a.extendFlat({},e[m]||{}),delete e._input[G],delete e[G]),[I,d]}e.exports={calc:function(t,e){var r,i,p,d,g=[],v=[],m=o.getFromId(t,"h"===e.orientation?e.yaxis:e.xaxis),y="h"===e.orientation?"y":"x",x={x:"y",y:"x"}[y],b=e[y+"calendar"],_=e.cumulative,w=f(t,e,m,y),k=w[0],T=w[1],A="string"==typeof k.size,M=[],S=A?M:k,E=[],L=[],C=[],P=0,O=e.histnorm,z=e.histfunc,I=-1!==O.indexOf("density");_.enabled&&I&&(O=O.replace(/ ?density$/,""),I=!1);var D,R="max"===z||"min"===z?null:0,F=l.count,B=c[O],N=!1,j=function(t){return m.r2c(t,0,b)};for(a.isArrayOrTypedArray(e[x])&&"count"!==z&&(D=e[x],N="avg"===z,F=l[z]),r=j(k.start),p=j(k.end)+(r-o.tickIncrement(r,k.size,!1,b))/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())}}(v,_.direction,_.currentbin);var X=Math.min(g.length,v.length),Z=[],J=0,K=X-1;for(r=0;r=J;r--)if(v[r]){K=r;break}for(r=J;r<=K;r++)if(n(g[r])&&n(v[r])){var Q={p:g[r],s:v[r],b:0};_.enabled||(Q.pts=C[r],q?Q.ph0=Q.ph1=C[r].length?T[C[r][0]]:g[r]:(Q.ph0=V(M[r]),Q.ph1=V(M[r+1],!0))),Z.push(Q)}return 1===Z.length&&(Z[0].width1=o.tickIncrement(Z[0].p,k.size,!1,b)-Z[0].p),s(Z,e),a.isArrayOrTypedArray(e.selectedpoints)&&a.tagSelected(Z,e,Y),Z},calcAllAutoBins:f}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"../bar/arrays_to_calcdata":854,"./average":1017,"./bin_functions":1019,"./bin_label_vals":1020,"./norm_functions":1028,"fast-isnumeric":227}],1022:[function(t,e,r){"use strict";e.exports={eventDataKeys:["binNumber"]}},{}],1023:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),i=t("../../registry").traceIs,o=t("../bar/defaults").handleGroupingDefaults,s=n.nestedProperty,l=a.getAxisGroup,c=[{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"}],u=["x","y"];e.exports=function(t,e){var r,h,f,p,d,g,v,m=e._histogramBinOpts={},y=[],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 k(t,r,i){var o=t.uid+"__"+i;r||(r=o);var s=function(t,r){return a.getFromTrace({_fullLayout:e},t,r).type}(t,i),l=t[i+"calendar"],c=m[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(i)):(r=o,s!==c.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+c.axType,"axis."].join(" ")),l!==c.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",c.calendar?"on a "+c.calendar+" calendar":"w/o a set calendar"].join(" ")))),u&&(m[r]={traces:[t],dirs:[i],axType:s,calendar:t[i+"calendar"]||""}),t["_"+i+"bingroup"]=r}for(d=0;dS&&k.splice(S,k.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,z=[],I=[],D=P?z:w,R=O?I:A,F=0,B=[],N=[],j=e.histnorm,V=e.histfunc,U=-1!==j.indexOf("density"),q="max"===V||"min"===V?null:0,H=i.count,G=o[j],Y=!1,W=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==V&&(Y="avg"===V,H=i[V]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-a.tickIncrement(K,J,!1,m))/1e6;for(r=K;r=0&&p=0&&d0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(o.z[h][u]){var f,p=o.hi||s.hoverinfo;if(p){var d=p.split("+");-1!==d.indexOf("all")&&(d=["color"]),-1!==d.indexOf("color")&&(f=!0)}var g,v=s.colormodel,m=v.length,y=s._scaler(o.z[h][u]),x=i.colormodel[v].suffix,b=[];(s.hovertemplate||f)&&(b.push("["+[y[0]+x[0],y[1]+x[1],y[2]+x[2]].join(", ")),4===m&&b.push(", "+y[3]+x[3]),b.push("]"),b=b.join(""),t.extraText=v.toUpperCase()+": "+b),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][u]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][u]);var _=c.c2p(o.y0+(h+.5)*s.dy),w=o.x0+(u+.5)*s.dx,k=o.y0+(h+.5)*s.dy,T="["+o.z[h][u].slice(0,s.colormodel.length).join(", ")+"]";return[a.extendFlat(t,{index:[h,u],x0:l.c2p(o.x0+u*s.dx),x1:l.c2p(o.x0+(u+1)*s.dx),y0:_,y1:_,color:y,xVal:w,xLabelVal:w,yVal:k,yLabelVal:k,zLabelVal:T,text:g,hovertemplateLabels:{zLabel:T,colorLabel:b,"color[0]Label":y[0]+x[0],"color[1]Label":y[1]+x[1],"color[2]Label":y[2]+x[2],"color[3]Label":y[3]+x[3]}})]}}}},{"../../components/fx":629,"../../lib":716,"./constants":1040}],1044:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover"),eventData:t("./event_data"),moduleType:"trace",name:"image",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},{"../../plots/cartesian":775,"./attributes":1038,"./calc":1039,"./defaults":1041,"./event_data":1042,"./hover":1043,"./plot":1045,"./style":1046}],1045:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../constants/xmlns_namespaces"),o=t("./constants");e.exports=function(t,e,r,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,r,"im").each(function(t){var e,r,s,u,h,f,p=n.select(this),d=t[0],g=d.trace,v=d.z,m=d.x0,y=d.y0,x=d.w,b=d.h,_=g.dx,w=g.dy;for(f=0;void 0===e&&f0;)r=l.c2p(m+f*_),f--;for(f=0;void 0===u&&f0;)h=c.c2p(y+f*w),f--;r0}function x(t){t.each(function(t){d.stroke(n.select(this),t.line.color)}).each(function(t){d.fill(n.select(this),t.color)}).style("stroke-width",function(t){return t.line.width})}function b(t,e,r){var n=t._fullLayout,i=a.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),o={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return a.coerce(i,o,p,t,e)}return h(i,o,l,s,n),f(i,o,l,s),o}function _(t,e){return"translate("+t+","+e+")"}function w(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function k(t,e,r,a){var i=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(i);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(c.convertToTspans,a).call(s.font,e),s.bBox(o.node())}function T(t,e,r,n,i,o){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=a.aggNums(o,null,[t[s].value,n],2);return t[s].value=l,l}e.exports=function(t,e,r,h){var f,p=t._fullLayout;y(r)&&h&&(f=h()),a.makeTraceGroups(p._indicatorlayer,e,"trace").each(function(e){var h,A,M,S,E,L=e[0].trace,C=n.select(this),P=L._hasGauge,O=L._isAngular,z=L._isBullet,I=L.domain,D={w:p._size.w*(I.x[1]-I.x[0]),h:p._size.h*(I.y[1]-I.y[0]),l:p._size.l+p._size.w*I.x[0],r:p._size.r+p._size.w*(1-I.x[1]),t:p._size.t+p._size.h*(1-I.y[1]),b:p._size.b+p._size.h*I.y[0]},R=D.l+D.w/2,F=D.t+D.h/2,B=Math.min(D.w/2,D.h),N=l.innerRadius*B,j=L.align||"center";if(A=F,P){if(O&&(h=R,A=F+B/2,M=function(t){return e=t,r=.9*N,n=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),[r/n,e,r];var e,r,n}),z){var V=l.bulletPadding,U=1-l.bulletNumberDomainSize+V;h=D.l+(U+(1-U)*v[j])*D.w,M=function(t){return w(t,(l.bulletNumberDomainSize-V)*D.w,D.h)}}}else h=D.l+v[j]*D.w,M=function(t){return w(t,D.w,D.h)};!function(t,e,r,i){var o,l,h,f=r[0].trace,p=i.numbersX,x=i.numbersY,w=f.align||"center",A=g[w],M=i.transitionOpts,S=i.onComplete,E=a.ensureSingle(e,"g","numbers"),L=[];f._hasNumber&&L.push("number");f._hasDelta&&(L.push("delta"),"left"===f.delta.position&&L.reverse());var C=E.selectAll("text").data(L);function P(e,r,n,a){if(!e.match("s")||n>=0==a>=0||r(n).slice(-1).match(m)||r(a).slice(-1).match(m))return r;var i=e.slice().replace("s","f").replace(/\d+/,function(t){return parseInt(t)-1}),o=b(t,{tickformat:i});return function(t){return Math.abs(t)<1?u.tickText(o,t).text:r(t)}}C.enter().append("text"),C.attr("text-anchor",function(){return A}).attr("class",function(t){return t}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),C.exit().remove();var O,z=f.mode+f.align;f._hasDelta&&(O=function(){var e=b(t,{tickformat:f.delta.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=function(t){var e=f.delta.relative?t.relativeDelta:t.delta;return e},o=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?f.delta.increasing.symbol:f.delta.decreasing.symbol)+e(t)},h=function(t){return t.delta>=0?f.delta.increasing.color:f.delta.decreasing.color};void 0===f._deltaLastValue&&(f._deltaLastValue=i(r[0]));var p=E.select("text.delta");function g(){p.text(o(i(r[0]),a)).call(d.fill,h(r[0])).call(c.convertToTspans,t)}p.call(s.font,f.delta.font).call(d.fill,h({delta:f._deltaLastValue})),y(M)?p.transition().duration(M.duration).ease(M.easing).tween("text",function(){var t=n.select(this),e=i(r[0]),s=f._deltaLastValue,l=P(f.delta.valueformat,a,s,e),c=n.interpolateNumber(s,e);return f._deltaLastValue=e,function(e){t.text(o(c(e),l)),t.call(d.fill,h({delta:c(e)}))}}).each("end",function(){g(),S&&S()}).each("interrupt",function(){g(),S&&S()}):g();return l=k(o(i(r[0]),a),f.delta.font,A,t),p}(),z+=f.delta.position+f.delta.font.size+f.delta.font.family+f.delta.valueformat,z+=f.delta.increasing.symbol+f.delta.decreasing.symbol,h=l);f._hasNumber&&(!function(){var e=b(t,{tickformat:f.number.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=f.number.suffix,l=f.number.prefix,h=E.select("text.number");function p(){var e="number"==typeof r[0].y?l+a(r[0].y)+i:"-";h.text(e).call(s.font,f.number.font).call(c.convertToTspans,t)}y(M)?h.transition().duration(M.duration).ease(M.easing).each("end",function(){p(),S&&S()}).each("interrupt",function(){p(),S&&S()}).attrTween("text",function(){var t=n.select(this),e=n.interpolateNumber(r[0].lastY,r[0].y);f._lastValue=r[0].y;var o=P(f.number.valueformat,a,r[0].lastY,r[0].y);return function(r){t.text(l+o(e(r))+i)}}):p();o=k(l+a(r[0].y)+i,f.number.font,A,t)}(),z+=f.number.font.size+f.number.font.family+f.number.valueformat+f.number.suffix+f.number.prefix,h=o);if(f._hasDelta&&f._hasNumber){var I,D,R=[(o.left+o.right)/2,(o.top+o.bottom)/2],F=[(l.left+l.right)/2,(l.top+l.bottom)/2],B=.75*f.delta.font.size;"left"===f.delta.position&&(I=T(f,"deltaPos",0,-1*(o.width*v[f.align]+l.width*(1-v[f.align])+B),z,Math.min),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:l.left+I,right:o.right,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),"right"===f.delta.position&&(I=T(f,"deltaPos",0,o.width*(1-v[f.align])+l.width*v[f.align]+B,z,Math.max),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:o.left,right:l.right+I,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),"bottom"===f.delta.position&&(I=null,D=l.height,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height,bottom:o.bottom+l.height}),"top"===f.delta.position&&(I=null,D=o.top,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height-l.height,bottom:o.bottom}),O.attr({dx:I,dy:D})}(f._hasNumber||f._hasDelta)&&E.attr("transform",function(){var t=i.numbersScaler(h);z+=t[2];var e,r=T(f,"numbersScale",1,t[0],z,Math.min);f._scaleNumbers||(r=1),e=f._isAngular?x-r*h.bottom:x-r*(h.top+h.bottom)/2,f._numbersTop=r*h.top+e;var n=h[w];"center"===w&&(n=(h.left+h.right)/2);var a=p-r*n;return _(a=T(f,"numbersTranslate",0,a,z,Math.max),e)+" scale("+r+")"})}(t,C,e,{numbersX:h,numbersY:A,numbersScaler:M,transitionOpts:r,onComplete:f}),P&&(S={range:L.gauge.axis.range,color:L.gauge.bgcolor,line:{color:L.gauge.bordercolor,width:0},thickness:1},E={range:L.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:L.gauge.bordercolor,width:L.gauge.borderwidth},thickness:1});var q=C.selectAll("g.angular").data(O?e:[]);q.exit().remove();var H=C.selectAll("g.angularaxis").data(O?e:[]);H.exit().remove(),O&&function(t,e,r,a){var s,l,c,h,f=r[0].trace,p=a.size,d=a.radius,g=a.innerRadius,v=a.gaugeBg,m=a.gaugeOutline,w=[p.l+p.w/2,p.t+p.h/2+d/2],k=a.gauge,T=a.layer,A=a.transitionOpts,M=a.onComplete,S=Math.PI/2;function E(t){var e=f.gauge.axis.range[0],r=f.gauge.axis.range[1],n=(t-e)/(r-e)*Math.PI-S;return n<-S?-S:n>S?S:n}function L(t){return n.svg.arc().innerRadius((g+d)/2-t/2*(d-g)).outerRadius((g+d)/2+t/2*(d-g)).startAngle(-S)}function C(t){t.attr("d",function(t){return L(t.thickness).startAngle(E(t.range[0])).endAngle(E(t.range[1]))()})}k.enter().append("g").classed("angular",!0),k.attr("transform",_(w[0],w[1])),T.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),T.selectAll("g.xangularaxistick,path,text").remove(),(s=b(t,f.gauge.axis)).type="linear",s.range=f.gauge.axis.range,s._id="xangularaxis",s.setScale();var P=function(t){return(s.range[0]-t.x)/(s.range[1]-s.range[0])*Math.PI+Math.PI},O={},z=u.makeLabelFns(s,0).labelStandoff;O.xFn=function(t){var e=P(t);return Math.cos(e)*z},O.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*o)},O.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},O.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var I=function(t){return _(w[0]+d*Math.cos(t),w[1]-d*Math.sin(t))};c=function(t){return I(P(t))};if(l=u.calcTicks(s),h=u.getTickSigns(s)[2],s.visible){h="inside"===s.ticks?-1:1;var D=(s.linewidth||1)/2;u.drawTicks(t,s,{vals:l,layer:T,path:"M"+h*D+",0h"+h*s.ticklen,transFn:function(t){var e=P(t);return I(e)+"rotate("+-i(e)+")"}}),u.drawLabels(t,s,{vals:l,layer:T,transFn:c,labelFns:O})}var R=[v].concat(f.gauge.steps),F=k.selectAll("g.bg-arc").data(R);F.enter().append("g").classed("bg-arc",!0).append("path"),F.select("path").call(C).call(x),F.exit().remove();var B=L(f.gauge.bar.thickness),N=k.selectAll("g.value-arc").data([f.gauge.bar]);N.enter().append("g").classed("value-arc",!0).append("path");var j=N.select("path");y(A)?(j.transition().duration(A.duration).ease(A.easing).each("end",function(){M&&M()}).each("interrupt",function(){M&&M()}).attrTween("d",(V=B,U=E(r[0].lastY),q=E(r[0].y),function(){var t=n.interpolate(U,q);return function(e){return V.endAngle(t(e))()}})),f._lastValue=r[0].y):j.attr("d","number"==typeof r[0].y?B.endAngle(E(r[0].y)):"M0,0Z");var V,U,q;j.call(x),N.exit().remove(),R=[];var H=f.gauge.threshold.value;H&&R.push({range:[H,H],color:f.gauge.threshold.color,line:{color:f.gauge.threshold.line.color,width:f.gauge.threshold.line.width},thickness:f.gauge.threshold.thickness});var G=k.selectAll("g.threshold-arc").data(R);G.enter().append("g").classed("threshold-arc",!0).append("path"),G.select("path").call(C).call(x),G.exit().remove();var Y=k.selectAll("g.gauge-outline").data([m]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(C).call(x),Y.exit().remove()}(t,0,e,{radius:B,innerRadius:N,gauge:q,layer:H,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var G=C.selectAll("g.bullet").data(z?e:[]);G.exit().remove();var Y=C.selectAll("g.bulletaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,n){var a,i,o,s,c,h=r[0].trace,f=n.gauge,p=n.layer,g=n.gaugeBg,v=n.gaugeOutline,m=n.size,_=h.domain,w=n.transitionOpts,k=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform","translate("+m.l+", "+m.t+")"),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var T=m.h,A=h.gauge.bar.thickness*T,M=_.x[0],S=_.x[0]+(_.x[1]-_.x[0])*(h._hasNumber||h._hasDelta?1-l.bulletNumberDomainSize:1);(a=b(t,h.gauge.axis))._id="xbulletaxis",a.domain=[M,S],a.setScale(),i=u.calcTicks(a),o=u.makeTransFn(a),s=u.getTickSigns(a)[2],c=m.t+m.h,a.visible&&(u.drawTicks(t,a,{vals:"inside"===a.ticks?u.clipEnds(a,i):i,layer:p,path:u.makeTickPath(a,c,s),transFn:o}),u.drawLabels(t,a,{vals:i,layer:p,transFn:o,labelFns:u.makeLabelFns(a,c)}));function E(t){t.attr("width",function(t){return Math.max(0,a.c2p(t.range[1])-a.c2p(t.range[0]))}).attr("x",function(t){return a.c2p(t.range[0])}).attr("y",function(t){return.5*(1-t.thickness)*T}).attr("height",function(t){return t.thickness*T})}var L=[g].concat(h.gauge.steps),C=f.selectAll("g.bg-bullet").data(L);C.enter().append("g").classed("bg-bullet",!0).append("rect"),C.select("rect").call(E).call(x),C.exit().remove();var P=f.selectAll("g.value-bullet").data([h.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",A).attr("y",(T-A)/2).call(x),y(w)?P.select("rect").transition().duration(w.duration).ease(w.easing).each("end",function(){k&&k()}).each("interrupt",function(){k&&k()}).attr("width",Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y))):0);P.exit().remove();var O=r.filter(function(){return h.gauge.threshold.value}),z=f.selectAll("g.threshold-bullet").data(O);z.enter().append("g").classed("threshold-bullet",!0).append("line"),z.select("line").attr("x1",a.c2p(h.gauge.threshold.value)).attr("x2",a.c2p(h.gauge.threshold.value)).attr("y1",(1-h.gauge.threshold.thickness)/2*T).attr("y2",(1-(1-h.gauge.threshold.thickness)/2)*T).call(d.stroke,h.gauge.threshold.line.color).style("stroke-width",h.gauge.threshold.line.width),z.exit().remove();var I=f.selectAll("g.gauge-outline").data([v]);I.enter().append("g").classed("gauge-outline",!0).append("rect"),I.select("rect").call(E).call(x),I.exit().remove()}(t,0,e,{gauge:G,layer:Y,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var W=C.selectAll("text.title").data(e);W.exit().remove(),W.enter().append("text").classed("title",!0),W.attr("text-anchor",function(){return z?g.right:g[L.title.align]}).text(L.title.text).call(s.font,L.title.font).call(c.convertToTspans,t),W.attr("transform",function(){var t,e=D.l+D.w*v[L.title.align],r=l.titlePadding,n=s.bBox(W.node());if(P){if(O)if(L.gauge.axis.visible)t=s.bBox(H.node()).top-r-n.bottom;else t=D.t+D.h/2-B/2-n.bottom-r;z&&(t=A-(n.top+n.bottom)/2,e=D.l-l.bulletPadding*D.w)}else t=L._numbersTop-r-n.bottom;return _(e,t)})})}},{"../../components/color":591,"../../components/drawing":612,"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_defaults":766,"../../plots/cartesian/layout_attributes":776,"../../plots/cartesian/position_defaults":779,"./constants":1050,d3:164}],1054:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;var c=e.exports=l(s({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()},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.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},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],1055:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length);for(var r=1/0,a=-1/0,i=e.value.length,o=0;o0;r--){var n=Math.min(e[r],e[r-1]),a=Math.max(e[r],e[r-1]);if(a>n&&n-1}function D(t,e){return null===t?e:t}function R(e,r,n){L();var a,i,o,s=[r],l=[n];if(k>=1)s=[r],l=[n];else if(k>0){var c=function(t,e){var r=t[0],n=t[1],a=t[2],i=function(t,e,r){for(var n=[],a=0;a-1?n[p]:E(d,g,v);f[p]=y>-1?y:P(d,g,v,D(e,m))}a=f[0],i=f[1],o=f[2],t._i.push(a),t._j.push(i),t._k.push(o),++h}}function F(t,e,r,n){var a=t[3];an&&(a=n);for(var i=(t[3]-a)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-i)*t[s]+i*e[s];return o}function B(t,e,r){return t>=e&&t<=r}function N(t){var e=.001*(S-M);return t>=M-e&&t<=S+e}function j(e){for(var r=[],n=0;n<4;n++){var a=e[n];r.push([t.x[a],t.y[a],t.z[a],t.value[a]])}return r}var V=3;function U(t,e,r,n,a,i){i||(i=1),r=[-1,-1,-1];var o=!1,s=[B(e[0][3],n,a),B(e[1][3],n,a),B(e[2][3],n,a)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return N(e[0][3])&&N(e[1][3])&&N(e[2][3])?(R(t,e,r),!0):iMath.abs(k-A)?[T,k]:[k,A];$(e,E[0],E[1])}}var L=[[Math.min(M,A),Math.max(M,A)],[Math.min(T,S),Math.max(T,S)]];["x","y","z"].forEach(function(e){for(var r=[],n=0;n0&&(c.push(x.id),"x"===e?h.push([x.distRatio,0,0]):"y"===e?h.push([0,x.distRatio,0]):h.push([0,0,x.distRatio]))}else l=nt(1,"x"===e?g-1:"y"===e?v-1:m-1);c.length>0&&(r[a]="x"===e?tt(null,c,i,o,h,r[a]):"y"===e?et(null,c,i,o,h,r[a]):rt(null,c,i,o,h,r[a]),a++),l.length>0&&(r[a]="x"===e?Z(null,l,i,o,r[a]):"y"===e?J(null,l,i,o,r[a]):K(null,l,i,o,r[a]),a++)}var b=t.caps[e];b.show&&b.fill&&(z(b.fill),r[a]="x"===e?Z(null,[0,g-1],i,o,r[a]):"y"===e?J(null,[0,v-1],i,o,r[a]):K(null,[0,m-1],i,o,r[a]),a++)}}),0===h&&C(),t._x=x,t._y=b,t._z=_,t._intensity=w,t._Xs=f,t._Ys=p,t._Zs=d}(),t}f.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._x[e],n=this.data._y[e],a=this.data._z[e],i=this.data._Ys.length,o=this.data._Zs.length,s=u(r,this.data._Xs).id,l=u(n,this.data._Ys).id,c=u(a,this.data._Zs).id,h=t.index=c+o*l+o*i*s;t.traceCoordinate=[this.data._x[h],this.data._y[h],this.data._z[h],this.data.value[h]];var f=this.data.hovertext||this.data.text;return Array.isArray(f)&&void 0!==f[h]?t.textLabel=f[h]:f&&(t.textLabel=f),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=p(t);var a={positions:l(n(r.xaxis,t._x,e.dataScale[0],t.xcalendar),n(r.yaxis,t._y,e.dataScale[1],t.ycalendar),n(r.zaxis,t._z,e.dataScale[2],t.zcalendar)),cells:l(t._i,t._j,t._k),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:o(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},c=s(t);a.vertexIntensity=t._intensity,a.vertexIntensityBounds=[c.min,c.max],a.colormap=i(t),this.mesh.update(a)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports={findNearestOnAxis:u,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new h(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/gl3d/zip3":815,"gl-mesh3d":282}],1057:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("../../components/colorscale/defaults");function s(t,e,r,n,i){var s=i("isomin"),l=i("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=i("x"),u=i("y"),h=i("z"),f=i("value");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),["x","y","z"].forEach(function(t){var e="caps."+t;i(e+".show")&&i(e+".fill");var r="slices."+t;i(r+".show")&&(i(r+".fill"),i(r+".locations"))}),i("spaceframe.show")&&i("spaceframe.fill"),i("surface.show")&&(i("surface.count"),i("surface.fill"),i("surface.pattern")),i("contour.show")&&(i("contour.color"),i("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){i(t)}),o(t,e,n,i,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,a){s(t,e,0,a,function(r,a){return n.coerce(t,e,i,r,a)})},supplyIsoDefaults:s}},{"../../components/colorscale/defaults":601,"../../lib":716,"../../registry":845,"./attributes":1054}],1058:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert").createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],meta:{}}},{"../../plots/gl3d":804,"./attributes":1054,"./calc":1055,"./convert":1056,"./defaults":1057}],1059:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({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"}),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",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:i.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:s({},i.contours.x.show,{}),color:i.contours.x.color,width:i.contours.x.width,editType:"calc"},lightposition:{x:s({},i.lightposition.x,{dflt:1e5}),y:s({},i.lightposition.y,{dflt:1e5}),z:s({},i.lightposition.z,{dflt:0}),editType:"calc"},lighting:s({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"},i.lighting),hoverinfo:s({},o.hoverinfo,{editType:"calc"})})},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../surface/attributes":1240}],1060:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1061:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("delaunay-triangulate"),i=t("alpha-shape"),o=t("convex-hull"),s=t("../../lib/gl_format_color").parseColorScale,l=t("../../lib/str2rgbarray"),c=t("../../components/colorscale").extractOpts,u=t("../../plots/gl3d/zip3");function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var f=h.prototype;function p(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}f.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;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}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,h=t.x.length,f=u(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||!v(t.i,h)||!v(t.j,h)||!v(t.k,h))return;n=u(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(f):t.alphahull>0?i(t.alphahull,f):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],i=e.length,o=0;ov):g=k>b,v=k;var T=l(b,_,w,k);T.pos=x,T.yc=(b+k)/2,T.i=y,T.dir=g?"increasing":"decreasing",T.x=T.pos,T.y=[w,_],p&&(T.tx=e.text[y]),d&&(T.htx=e.hovertext[y]),m.push(T)}else m.push({pos:x,empty:!0})}return e._extremes[s._id]=i.findExtremes(s,n.concat(h,u),{padded:!0}),m.length&&(m[0].t={labels:{open:a(t,"open:")+" ",high:a(t,"high:")+" ",low:a(t,"low:")+" ",close:a(t,"close:")+" "}}),m}e.exports={calc:function(t,e){var r=i.getFromId(t,e.xaxis),a=i.getFromId(t,e.yaxis),o=function(t,e,r){var a=r._minDiff;if(!a){var i,o=t._fullData,s=[];for(a=1/0,i=0;i"+c.labels[x]+n.hoverLabelText(s,b):((y=a.extendFlat({},f)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b),y.name="",h.push(y),v[b]=y)}return h}function f(t,e,r,a){var i=t.cd,o=t.ya,l=i[0].trace,h=i[0].t,f=u(t,e,r,a);if(!f)return[];var p=i[f.index],d=f.index=p.i,g=p.dir;function v(t){return h.labels[t]+n.hoverLabelText(o,l[t][d])}var m=p.hi||l.hoverinfo,y=m.split("+"),x="all"===m,b=x||-1!==y.indexOf("y"),_=x||-1!==y.indexOf("text"),w=b?[v("open"),v("high"),v("low"),v("close")+" "+c[g]]:[];return _&&s(p,l,w),f.extraText=w.join("
"),f.y0=f.y1=o.c2p(p.yc,!0),[f]}e.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?h(t,e,r,n):f(t,e,r,n)},hoverSplit:h,hoverOnPoints:f}},{"../../components/color":591,"../../components/fx":629,"../../constants/delta.js":686,"../../lib":716,"../../plots/cartesian/axes":764}],1068:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"ohlc",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc").calc,plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select")}},{"../../plots/cartesian":775,"./attributes":1064,"./calc":1065,"./defaults":1066,"./hover":1067,"./plot":1070,"./select":1071,"./style":1072}],1069:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t,e,r,i){var o=r("x"),s=r("open"),l=r("high"),c=r("low"),u=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],i),s&&l&&c&&u){var h=Math.min(s.length,l.length,c.length,u.length);return o&&(h=Math.min(h,a.minRowLength(o))),e._length=h,h}}},{"../../lib":716,"../../registry":845}],1070:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib");e.exports=function(t,e,r,i){var o=e.xaxis,s=e.yaxis;a.makeTraceGroups(i,r,"trace ohlc").each(function(t){var e=n.select(this),r=t[0],i=r.t;if(!0!==r.trace.visible||i.empty)e.remove();else{var l=i.tickLen,c=e.selectAll("path").data(a.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",function(t){if(t.empty)return"M0,0Z";var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-l,!0),n=o.c2p(t.pos+l,!0);return"M"+r+","+s.c2p(t.o,!0)+"H"+e+"M"+e+","+s.c2p(t.h,!0)+"V"+s.c2p(t.l,!0)+"M"+n+","+s.c2p(t.c,!0)+"H"+e})}})}},{"../../lib":716,d3:164}],1071:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,a=t.xaxis,i=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}(t.map(function(t){return t.displayindex})))for(e=0;e0;c&&(o="array");var u=r("categoryorder",o);"array"===u?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),c||"array"!==u||(e.categoryorder="trace")}}e.exports=function(t,e,r,h){function f(r,a){return n.coerce(t,e,l,r,a)}var p=s(t,e,{name:"dimensions",handleItemDefaults:u}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(a(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,h,f);o(e,h,f),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,"values",d),f("hoveron"),f("hovertemplate"),f("arrangement"),f("bundlecolors"),f("sortpaths"),f("counts");var g={family:h.font.family,size:Math.round(h.font.size),color:h.font.color};n.coerceFont(f,"labelfont",g);var v={family:h.font.family,size:Math.round(h.font.size/1.2),color:h.font.color};n.coerceFont(f,"tickfont",v)}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/domain":789,"../parcoords/merge_length":1089,"./attributes":1073}],1077:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1073,"./base_plot":1074,"./calc":1075,"./defaults":1076,"./plot":1079}],1078:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plot_api/plot_api"),i=t("../../components/fx"),o=t("../../lib"),s=t("../../components/drawing"),l=t("tinycolor2"),c=t("../../lib/svg_text_utils");function u(t,e,r,a){var i=t.map(function(t,e,r){var n,a=r[0],i=e.margin||{l:80,r:80,t:100,b:80},o=a.trace,s=o.domain,l=e.width,c=e.height,u=Math.floor(l*(s.x[1]-s.x[0])),h=Math.floor(c*(s.y[1]-s.y[0])),f=s.x[0]*l+i.l,p=e.height-s.y[1]*e.height+i.t,d=o.line.shape;n="all"===o.hoverinfo?["count","probability"]:(o.hoverinfo||"").split("+");var g={trace:o,key:o.uid,model:a,x:f,y:p,width:u,height:h,hoveron:o.hoveron,hoverinfoItems:n,arrangement:o.arrangement,bundlecolors:o.bundlecolors,sortpaths:o.sortpaths,labelfont:o.labelfont,categorylabelfont:o.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:t,traceSelection:null,pathSelection:null,dimensionSelection:null};a.dimensions&&(F(g),R(g));return g}.bind(0,e,r)),l=a.selectAll("g.parcatslayer").data([null]);l.enter().append("g").attr("class","parcatslayer").style("pointer-events","all");var u=l.selectAll("g.trace.parcats").data(i,h),v=u.enter().append("g").attr("class","trace parcats");u.attr("transform",function(t){return"translate("+t.x+", "+t.y+")"}),v.append("g").attr("class","paths");var m=u.select("g.paths").selectAll("path.path").data(function(t){return t.paths},h);m.attr("fill",function(t){return t.model.color});var b=m.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(t){return t.model.color}).attr("fill-opacity",0);x(b),m.attr("d",function(t){return t.svgD}),b.empty()||m.sort(p),m.exit().remove(),m.on("mouseover",d).on("mouseout",g).on("click",y),v.append("g").attr("class","dimensions");var k=u.select("g.dimensions").selectAll("g.dimension").data(function(t){return t.dimensions},h);k.enter().append("g").attr("class","dimension"),k.attr("transform",function(t){return"translate("+t.x+", 0)"}),k.exit().remove();var T=k.selectAll("g.category").data(function(t){return t.categories},h),A=T.enter().append("g").attr("class","category");T.attr("transform",function(t){return"translate(0, "+t.y+")"}),A.append("rect").attr("class","catrect").attr("pointer-events","none"),T.select("rect.catrect").attr("fill","none").attr("width",function(t){return t.width}).attr("height",function(t){return t.height}),_(A);var M=T.selectAll("rect.bandrect").data(function(t){return t.bands},h);M.each(function(){o.raiseToTop(this)}),M.attr("fill",function(t){return t.color});var O=M.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(t){return t.color}).attr("fill-opacity",0);M.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"}),w(O),M.exit().remove(),A.append("text").attr("class","catlabel").attr("pointer-events","none");var z=e._fullLayout.paper_bgcolor;T.select("text.catlabel").attr("text-anchor",function(t){return f(t)?"start":"end"}).attr("alignment-baseline","middle").style("text-shadow",z+" -1px 1px 2px, "+z+" 1px 1px 2px, "+z+" 1px -1px 2px, "+z+" -1px -1px 2px").style("fill","rgb(0, 0, 0)").attr("x",function(t){return f(t)?t.width+5:-5}).attr("y",function(t){return t.height/2}).text(function(t){return t.model.categoryLabel}).each(function(t){s.font(n.select(this),t.parcatsViewModel.categorylabelfont),c.convertToTspans(n.select(this),e)}),A.append("text").attr("class","dimlabel"),T.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){s.font(n.select(this),t.parcatsViewModel.labelfont)}),T.selectAll("rect.bandrect").on("mouseover",S).on("mouseout",E),T.exit().remove(),k.call(n.behavior.drag().origin(function(t){return{x:t.x,y:0}}).on("dragstart",L).on("drag",C).on("dragend",P)),u.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")}),u.exit().remove()}function h(t){return t.key}function f(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function p(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),L=n.mouse(h)[0];i.loneHover({trace:f,x:_-d.left+g.left,y:w-d.top+g.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:k,idealAlign:L<_?"right":"left",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:T,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function g(t){if(!t.parcatsViewModel.dragDimension&&(x(n.select(this)),i.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(p),-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var e=v(t),r=m(t);t.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:e,event:n.event,constraints:r})}}function v(t){for(var e=[],r=O(t.parcatsViewModel),n=0;n1&&c.displayInd===l.dimensions.length-1?(r=o.left,a="left"):(r=o.left+o.width,a="right");var f=s.model.count,p=s.model.categoryLabel,d=f/s.parcatsViewModel.model.count,g={countLabel:f,categoryLabel:p,probabilityLabel:d.toFixed(3)},v=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&v.push(["Count:",g.countLabel].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&v.push(["P("+g.categoryLabel+"):",g.probabilityLabel].join(" "));var m=v.join("
");return{trace:u,x:r-t.left,y:h-t.top,text:m,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:u.hovertemplate,hovertemplateLabels:g,eventData:[{data:u._input,fullData:u,count:f,category:p,probability:d}]}}function S(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,a=r._fullLayout,s=a._paperdiv.node().getBoundingClientRect(),c=t.parcatsViewModel.hoveron;if("color"===c?(!function(t){var e=n.select(t).datum(),r=k(e);b(r),r.each(function(){o.raiseToTop(this)}),n.select(t.parentNode).selectAll("rect.bandrect").filter(function(t){return t.color===e.color}).each(function(){o.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)})}(this),A(this,"plotly_hover",n.event)):(!function(t){n.select(t.parentNode).selectAll("rect.bandrect").each(function(t){var e=k(t);b(e),e.each(function(){o.raiseToTop(this)})}),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(this),T(this,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none"))"category"===c?e=M(s,this):"color"===c?e=function(t,e){var r,a,i=e.getBoundingClientRect(),o=n.select(e).datum(),s=o.categoryViewModel,c=s.parcatsViewModel,u=c.model.dimensions[s.model.dimensionInd],h=c.trace,f=i.y+i.height/2;c.dimensions.length>1&&u.displayInd===c.dimensions.length-1?(r=i.left,a="left"):(r=i.left+i.width,a="right");var p=s.model.categoryLabel,d=o.parcatsViewModel.model.count,g=0;o.categoryViewModel.bands.forEach(function(t){t.color===o.color&&(g+=t.count)});var v=s.model.count,m=0;c.pathSelection.each(function(t){t.model.color===o.color&&(m+=t.model.count)});var y=g/d,x=g/m,b=g/v,_={countLabel:d,categoryLabel:p,probabilityLabel:y.toFixed(3)},w=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&w.push(["Count:",_.countLabel].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(w.push("P(color \u2229 "+p+"): "+_.probabilityLabel),w.push("P("+p+" | color): "+x.toFixed(3)),w.push("P(color | "+p+"): "+b.toFixed(3)));var k=w.join("
"),T=l.mostReadable(o.color,["black","white"]);return{trace:h,x:r-t.left,y:f-t.top,text:k,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:T,fontSize:10,idealAlign:a,hovertemplate:h.hovertemplate,hovertemplateLabels:_,eventData:[{data:h._input,fullData:h,category:p,count:d,probability:y,categorycount:v,colorcount:m,bandcolorcount:g}]}}(s,this):"dimension"===c&&(e=function(t,e){var r=[];return n.select(e.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){r.push(M(t,this))}),r}(s,this)),e&&i.loneHover(e,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r})}}function E(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(x(e.pathSelection),_(e.dimensionSelection.selectAll("g.category")),w(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),i.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(p),-1===e.hoverinfoItems.indexOf("skip"))){"color"===t.parcatsViewModel.hoveron?A(this,"plotly_unhover",n.event):T(this,"plotly_unhover",n.event)}}function L(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],a=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=a&&a<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map(function(t){return t.displayInd}),e.model.dragY=e.y,o.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each(function(e){e.yh.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){i.model.dragX=n.event.x;var f=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[a];void 0!==f&&i.model.dragXp.x&&(i.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=i.model.displayInd}F(t.parcatsViewModel),R(t.parcatsViewModel),I(t.parcatsViewModel),z(t.parcatsViewModel)}}function P(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=O(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 a=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+a+"].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 c=t.model.categories.slice().sort(function(t,e){return t.displayInd-e.displayInd}),u=c.map(function(t){return t.categoryValue}),h=c.map(function(t){return t.categoryLabel});e["dimensions["+t.model.containerInd+"].categoryarray"]=[u],e["dimensions["+t.model.containerInd+"].ticktext"]=[h],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?A(t.potentialClickBand,"plotly_click",n.event.sourceEvent):T(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,F(t.parcatsViewModel),R(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each(function(){I(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)}).each("end",function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])})}}function O(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)u+="C"+c[s]+","+(e[s+1]+a)+" "+l[s]+","+(e[s]+a)+" "+(t[s]+r[s])+","+(e[s]+a),u+="l-"+r[s]+",0 ";return u+="Z"}function R(t){var e=t.dimensions,r=t.model,n=e.map(function(t){return t.categories.map(function(t){return t.y})}),a=t.model.dimensions.map(function(t){return t.categories.map(function(t){return t.displayInd})}),i=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}),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(t){var e=t.categoryInds.map(function(t,e){return a[e][t]});return o.map(function(t){return e[t]})}c.sort(function(e,r){var n=h(e),a=h(r);return"backward"===t.sortpaths&&(n.reverse(),a.reverse()),n.push(e.valueInds[0]),a.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),a.unshift(r.rawColor)),na?1:0});for(var f=new Array(c.length),p=e[0].model.count,d=e[0].categories.map(function(t){return t.height}).reduce(function(t,e){return t+e}),g=0;g0?d*(m.count/p):0;for(var y,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*a;var i,o,s,l,c,u=[],h=t.model.maxCats,f=e.categories.length,p=e.count,d=t.height-8*(h-1),g=8*(h-f)/2,v=e.categories.map(function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}});for(v.sort(function(t,e){return t.displayInd-e.displayInd}),c=0;c0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:i,y:null!==o.dragY?o.dragY:g,bands:[],parcatsViewModel:t},g=g+i+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(t,e,r,n){u(r,t,n,e)}},{"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/svg_text_utils":740,"../../plot_api/plot_api":751,d3:164,tinycolor2:535}],1079:[function(t,e,r){"use strict";var n=t("./parcats");e.exports=function(t,e,r,a){var i=t._fullLayout,o=i._paper,s=i._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,a)}},{"./parcats":1078}],1080:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/cartesian/layout_attributes"),i=t("../../plots/font_attributes"),o=t("../../plots/domain").attributes,s=t("../../lib/extend").extendFlat,l=t("../../plot_api/plot_template").templatedArray;e.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:i({editType:"plot"}),tickfont:i({editType:"plot"}),rangefont:i({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},a.tickvals,{editType:"plot"}),ticktext:s({},a.ticktext,{editType:"plot"}),tickformat:s({},a.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:"number",editType:"plot"},{valType:"number",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"}))}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/plot_template":754,"../../plots/cartesian/layout_attributes":776,"../../plots/domain":789,"../../plots/font_attributes":790}],1081:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("../../lib/gup").keyFun,o=t("../../lib/gup").repeat,s=t("../../lib").sorterAsc,l=n.bar.snapRatio;function c(t,e){return t*(1-l)+e*l}var u=n.bar.snapClose;function h(t,e){return t*(1-u)+e*u}function f(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 a=t?-1:1,i=0,o=e.length-1;if(a<0){var s=i;i=o,o=s}for(var l=e[i],u=l,f=i;a*fe){f=r;break}}if(i=u,isNaN(i)&&(i=isNaN(h)||isNaN(f)?isNaN(h)?f:h:e-c[h][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);g&&(o.interval=l[i],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,y=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function _(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.brush.svgBrush;i.wasDragged=!0,i._dragging=!0,i.grabbingBar?i.newExtent=[r-i.grabPoint,r+i.barLength-i.grabPoint].map(e.unitToPaddedPx.invert):i.newExtent=[i.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,i.extent=i.stayingIntervals.concat([i.newExtent]),i.brushCallback(e),x(t.parentNode)}function w(t,e){var r=b(e,e.height-a.mouse(t)[1]-2*n.verticalPadding),i="crosshair";r.clickableOrdinalRange?i="pointer":r.region&&(i=r.region+"-resize"),a.select(document.body).style("cursor",i)}function k(t){t.on("mousemove",function(t){a.event.preventDefault(),t.parent.inBrushDrag||w(this,t)}).on("mouseleave",function(t){t.parent.inBrushDrag||m()}).call(a.behavior.drag().on("dragstart",function(t){!function(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.unitToPaddedPx.invert(r),o=e.brush,s=b(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter(function(t){return t[0]!==l[0]&&t[1]!==l[1]})),c.startExtent=s.region?l["s"===s.region?1:0]:i,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)}).on("drag",function(t){_(this,t)}).on("dragend",function(t){!function(t,e){var r=e.brush,n=r.filter,i=r.svgBrush;i._dragging||(w(t,e),_(t,e),e.brush.svgBrush.wasDragged=!1),i._dragging=!1,a.event.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!i.wasDragged)return i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&e.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,0===i.extent.length&&A(r)):A(r),i.brushCallback(e),x(t.parentNode),void i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]i.newExtent[0];i.extent=i.stayingIntervals.concat(c?[i.newExtent]:[]),i.extent.length||A(r),i.brushCallback(e),c?x(t.parentNode,s):(s(),x(t.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)}))}function T(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function M(t){for(var e,r=t.slice(),n=[],a=r.shift();a;){for(e=a.slice();(a=r.shift())&&a[0]<=e[1];)e[1]=Math.max(e[1],a[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,a,i){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map(function(t){return t.slice().sort(s)}).sort(T)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=M(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=a,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map(function(t){return t.slice()})}(e).slice();e.filter.set(r),o()}),brushEndCallback:i}}},ensureAxisBrush:function(t){var e=t.selectAll("."+n.cn.axisBrush).data(o,i);e.enter().append("g").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(".background").data(o);e.enter().append("rect").classed("background",!0).call(p).call(d).style("pointer-events","auto").attr("transform","translate(0 "+n.verticalPadding+")"),e.call(k).attr("height",function(t){return t.height-n.verticalPadding});var r=t.selectAll(".highlight-shadow").data(o);r.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",n.bar.strokeColor).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),r.attr("y1",function(t){return t.height}).call(y);var a=t.selectAll(".highlight").data(o);a.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"),a.attr("y1",function(t){return t.height}).call(y)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?M(t.sort(T)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[f(0,r,t[0],[]),f(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]}}},{"../../lib":716,"../../lib/gup":714,"./constants":1084,d3:164}],1082:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/get_data").getModuleCalcData,i=t("./plot"),o=t("../../constants/xmlns_namespaces");r.name="parcoords",r.plot=function(t){var e=a(t.calcdata,"parcoords")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var a=n._has&&n._has("parcoords"),i=e._has&&e._has("parcoords");a&&!i&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},r.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.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}},{"../../constants/xmlns_namespaces":693,"../../plots/get_data":799,"./plot":1091,d3:164}],1083:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale"),i=t("../../lib/gup").wrap;e.exports=function(t,e){var r,o;return a.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=a.extractOpts(e.line).colorscale,a.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rh&&(n.log("parcoords traces support up to "+h+" dimensions at the moment"),d.splice(h));var g=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),v=function(t,e,r,o,s){var l=s("line.color",r);if(a(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(g)&&g.length||(e.visible=!1),f(e,g,"values",v);var m={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,"labelfont",m),n.coerceFont(u,"tickfont",m),n.coerceFont(u,"rangefont",m),u("labelangle"),u("labelside")}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"../../plots/domain":789,"./attributes":1080,"./axisbrush":1081,"./constants":1084,"./merge_length":1089}],1086:[function(t,e,r){"use strict";var n=t("../../lib").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!("visible"in t)}},{"../../lib":716}],1087:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:t("./base_plot"),categories:["gl","regl","noOpacity","noHover"],meta:{}}},{"./attributes":1080,"./base_plot":1082,"./calc":1083,"./defaults":1085,"./plot":1091}],1088:[function(t,e,r){"use strict";var n=t("glslify"),a=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 sampler2D mask, palette;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\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(mask,\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"]),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n"]),o=t("./constants").maxDimensionCount,s=t("../../lib"),l=1e-6,c=2048,u=new Uint8Array(4),h=new Uint8Array(4),f={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function p(t,e,r,n,a){var i=t._gl;i.enable(i.SCISSOR_TEST),i.scissor(e,r,n,a),t.clear({color:[0,0,0,0],depth:1})}function d(t,e,r,n,a,i){var o=i.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:u})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,a-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],p(t,i.scissorX,i.scissorY,i.scissorWidth,i.viewBoxSize[1])),r.clearOnly||(i.count=2*c,i.offset=2*l*n,e(i),l*n+c>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),a=0,i=0;ih&&(h=t[a].dim1.canvasX,o=a);0===s&&p(T,0,0,r.canvasWidth,r.canvasHeight);var f=function(t){var e,r,n,a=[[],[]];for(n=0;n<64;n++){var i=!t&&na._length&&(A=A.slice(0,a._length));var M,S=a.tickvals;function E(t,e){return{val:t,text:M[e]}}function L(t,e){return t.val-e.val}if(Array.isArray(S)&&S.length){M=a.ticktext,Array.isArray(M)&&M.length?M.length>S.length?M=M.slice(0,S.length):S.length>M.length&&(S=S.slice(0,M.length)):M=S.map(n.format(a.tickformat));for(var C=1;C=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:h};h!==I&&(u?a.hover(f):a.unhover&&a.unhover(f),I=h)}}),z.style("opacity",function(t){return t.pick?0:1}),u.style("background","rgba(255, 255, 255, 0)");var D=u.selectAll("."+g.cn.parcoords).data(O,h);D.exit().remove(),D.enter().append("g").classed(g.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),D.attr("transform",function(t){return"translate("+t.model.translateX+","+t.model.translateY+")"});var R=D.selectAll("."+g.cn.parcoordsControlView).data(f,h);R.enter().append("g").classed(g.cn.parcoordsControlView,!0),R.attr("transform",function(t){return"translate("+t.model.pad.l+","+t.model.pad.t+")"});var F=R.selectAll("."+g.cn.yAxis).data(function(t){return t.dimensions},h);F.enter().append("g").classed(g.cn.yAxis,!0),R.each(function(t){S(F,t)}),z.each(function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=m(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)}}),F.attr("transform",function(t){return"translate("+t.xScale(t.xIndex)+", 0)"}),F.call(n.behavior.drag().origin(function(t){return t}).on("drag",function(t){var e=t.parent;P.linePickActive(!1),t.x=Math.max(-g.overdrag,Math.min(t.model.width+g.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,F.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}),S(F,e),F.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr("transform",function(t){return"translate("+t.xScale(t.xIndex)+", 0)"}),n.select(this).attr("transform","translate("+t.x+", 0)"),F.each(function(r,n,a){a===t.parent.key&&(e.dimensions[n]=r)}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!w(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,S(F,e),n.select(this).attr("transform",function(t){return"translate("+t.x+", 0)"}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!w(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),P.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),F.exit().remove();var B=F.selectAll("."+g.cn.axisOverlays).data(f,h);B.enter().append("g").classed(g.cn.axisOverlays,!0),B.selectAll("."+g.cn.axis).remove();var N=B.selectAll("."+g.cn.axis).data(f,h);N.enter().append("g").classed(g.cn.axis,!0),N.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,a=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?a:null).tickFormat(function(e){return d.isOrdinal(t)?e:E(t.model.dimensions[t.visibleIndex],e)}).scale(r)),l.font(N.selectAll("text"),t.model.tickFont)}),N.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),N.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default").style("user-select","none");var j=B.selectAll("."+g.cn.axisHeading).data(f,h);j.enter().append("g").classed(g.cn.axisHeading,!0);var V=j.selectAll("."+g.cn.axisTitle).data(f,h);V.enter().append("text").classed(g.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("user-select","none").style("pointer-events","auto"),V.text(function(t){return t.label}).each(function(e){var r=n.select(this);l.font(r,e.model.labelFont),s.convertToTspans(r,t)}).attr("transform",function(t){var e=M(t.model.labelAngle,t.model.labelSide),r=g.axisTitleOffset;return(e.dir>0?"":"translate(0,"+(2*r+t.model.height)+")")+"rotate("+e.degrees+")translate("+-r*e.dx+","+-r*e.dy+")"}).attr("text-anchor",function(t){var e=M(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 U=B.selectAll("."+g.cn.axisExtent).data(f,h);U.enter().append("g").classed(g.cn.axisExtent,!0);var q=U.selectAll("."+g.cn.axisExtentTop).data(f,h);q.enter().append("g").classed(g.cn.axisExtentTop,!0),q.attr("transform","translate(0,"+-g.axisExtentOffset+")");var H=q.selectAll("."+g.cn.axisExtentTopText).data(f,h);H.enter().append("text").classed(g.cn.axisExtentTopText,!0).call(A),H.text(function(t){return L(t,!0)}).each(function(t){l.font(n.select(this),t.model.rangeFont)});var G=U.selectAll("."+g.cn.axisExtentBottom).data(f,h);G.enter().append("g").classed(g.cn.axisExtentBottom,!0),G.attr("transform",function(t){return"translate(0,"+(t.model.height+g.axisExtentOffset)+")"});var Y=G.selectAll("."+g.cn.axisExtentBottomText).data(f,h);Y.enter().append("text").classed(g.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(A),Y.text(function(t){return L(t,!1)}).each(function(t){l.font(n.select(this),t.model.rangeFont)}),v.ensureAxisBrush(B)}},{"../../components/colorscale":603,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"./axisbrush":1081,"./constants":1084,"./helpers":1086,"./lines":1088,"color-rgba":123,d3:164}],1091:[function(t,e,r){"use strict";var n=t("./parcoords"),a=t("../../lib/prepare_regl"),i=t("./helpers").isVisible;function o(t,e,r){var n=e.indexOf(r),a=t.indexOf(n);return-1===a&&(a+=e.length),a}e.exports=function(t,e){var r=t._fullLayout;if(a(t)){var s={},l={},c={},u={},h=r._size;e.forEach(function(e,r){var n=e[0].trace;c[r]=n.index;var a=u[r]=n._fullInput.index;s[r]=t.data[a].dimensions,l[r]=t.data[a].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,a){var i=l[e][n],o=a.map(function(t){return t.slice()}),s="dimensions["+n+"].constraintrange",h=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===h[s]){var f=i.constraintrange;h[s]=f||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),i.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete i.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[u[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 o(t,e,r)-o(t,e,n)}}(r,l[e].filter(i));s[e].sort(n),l[e].filter(function(t){return!i(t)}).sort(function(t){return l[e].indexOf(t)}).forEach(function(t){s[e].splice(s[e].indexOf(t),1),s[e].splice(l[e].indexOf(t),0,t)}),t.emit("plotly_restyle",[{dimensions:[s[e]]},[u[e]]])}})}}},{"../../lib/prepare_regl":729,"./helpers":1086,"./parcoords":1090}],1092:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../../plots/domain").attributes,i=t("../../plots/font_attributes"),o=t("../../components/color/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/template_attributes").texttemplateAttrs,c=t("../../lib/extend").extendFlat,u=i({editType:"plot",arrayOk:!0,colorEditType:"plot"});e.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:c({},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:c({},u,{}),insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},u,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:a({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:"number",min:-360,max:360,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:c({},u,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1093:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="pie",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1094:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,i=t("tinycolor2"),o=t("../../components/color"),s={};function l(t){return function(e,r){return!!e&&(!!(e=i(e)).isValid()&&(e=o.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e))}}function c(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r"),name:f.hovertemplate||-1!==p.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:u.castOption(b.bgcolor,t.pts)||t.color,borderColor:u.castOption(b.bordercolor,t.pts),fontFamily:u.castOption(_.family,t.pts),fontSize:u.castOption(_.size,t.pts),fontColor:u.castOption(_.color,t.pts),nameLength:u.castOption(b.namelength,t.pts),textAlign:u.castOption(b.align,t.pts),hovertemplate:u.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[h(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e}),o._hasHoverLabel=!0}o._hasHoverEvent=!0,e.emit("plotly_hover",{points:[h(t,f)],event:n.event})}}),t.on("mouseout",function(t){var r=e._fullLayout,a=e._fullData[o.index],s=n.select(this).datum();o._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[h(s,a)],event:n.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(i.loneUnhover(r._hoverlayer.node()),o._hasHoverLabel=!1)}),t.on("click",function(t){var r=e._fullLayout,a=e._fullData[o.index];e._dragging||!1===r.hovermode||(e._hoverdata=[h(t,a)],i.click(e,n.event))})}function d(t,e,r){var n=u.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=u.castOption(t._input.textfont.color,e.pts));var a=u.castOption(t.insidetextfont.family,e.pts)||u.castOption(t.textfont.family,e.pts)||r.family,i=u.castOption(t.insidetextfont.size,e.pts)||u.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:a,size:i}}function g(t,e){for(var r,n,a=0;a=1)return c;var u=a+1/(2*Math.tan(i)),h=l*Math.min(1/(Math.sqrt(u*u+.5)+u),o/(Math.sqrt(a*a+o/2)+a)),f={scale:2*h/t.height,rCenter:Math.cos(h/l)-h*a/l,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/a,d=p+1/(2*Math.tan(i)),g=l*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),v={scale:2*g/t.width,rCenter:Math.cos(g/l)-g/a/l,rotate:(180/Math.PI*e.midangle+810)%180-90},m=v.scale>f.scale?v:f;return c.scale<1&&m.scale>c.scale?m:c}function m(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function y(t,e){var r=e.pxmid[0],n=e.pxmid[1],a=t.width/2,i=t.height/2;return r<0&&(a*=-1),n<0&&(i*=-1),{scale:1,rCenter:1,rotate:0,x:a+Math.abs(i)*(a>0?1:-1)/2,y:i/(1+r*r/(n*n)),outside:!0}}function x(t,e){var r,n,a,i=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=i.title.font.size,a=_(i),-1!==i.title.position.indexOf("top")?(o.y-=(1+a)*t.r,s.ty-=t.titleBox.height):-1!==i.title.position.indexOf("bottom")&&(o.y+=(1+a)*t.r);var l,c,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),h=e.w*(i.domain.x[1]-i.domain.x[0])/2;return-1!==i.title.position.indexOf("left")?(h+=u,o.x-=(1+a)*u,s.tx+=t.titleBox.width/2):-1!==i.title.position.indexOf("center")?h*=2:-1!==i.title.position.indexOf("right")&&(h+=u,o.x+=(1+a)*u,s.tx-=t.titleBox.width/2),r=h/t.titleBox.width,n=b(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function b(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 _(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 w(t,e){for(var r=[],n=0;n1?(c=r.r,u=c/a.aspectratio):(u=r.r,c=u*a.aspectratio),c*=(1+a.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(i){var x=l.castOption(a,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:u.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:u.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(a,t.i,"customdata")}}(e),_=u.getFirstFilled(a.text,e.pts);(f(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,a._meta||{})}else e.text=""}}e.exports={plot:function(t,e){var r=t._fullLayout,i=r._size;g(e,t),w(e,i);var h=l.makeTraceGroups(r._pielayer,e,"trace").each(function(e){var r=n.select(this),h=e[0],f=h.trace;!function(t){var e,r,n,a=t[0],i=a.trace,o=i.rotation*Math.PI/180,s=2*Math.PI/a.vTotal,l="px0",c="px1";if("counterclockwise"===i.direction){for(e=0;ea.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/a.vTotal,.5),r.ring=1-i.hole,r.rInscribed=m(r,a))}(e),r.attr("stroke-linejoin","round"),r.each(function(){var g=n.select(this).selectAll("g.slice").data(e);g.enter().append("g").classed("slice",!0),g.exit().remove();var m=[[[],[]],[[],[]]],b=!1;g.each(function(r){if(r.hidden)n.select(this).selectAll("path,g").remove();else{r.pointNumber=r.i,r.curveNumber=f.index,m[r.pxmid[1]<0?0:1][r.pxmid[0]<0?0:1].push(r);var a=h.cx,i=h.cy,o=n.select(this),g=o.selectAll("path.surface").data([r]);if(g.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),o.call(p,t,e),f.pull){var x=+u.castOption(f.pull,r.pts)||0;x>0&&(a+=x*r.pxmid[0],i+=x*r.pxmid[1])}r.cxFinal=a,r.cyFinal=i;var _=f.hole;if(r.v===h.vTotal){var w="M"+(a+r.px0[0])+","+(i+r.px0[1])+E(r.px0,r.pxmid,!0,1)+E(r.pxmid,r.px0,!0,1)+"Z";_?g.attr("d","M"+(a+_*r.px0[0])+","+(i+_*r.px0[1])+E(r.px0,r.pxmid,!1,_)+E(r.pxmid,r.px0,!1,_)+"Z"+w):g.attr("d",w)}else{var T=E(r.px0,r.px1,!0,1);if(_){var A=1-_;g.attr("d","M"+(a+_*r.px1[0])+","+(i+_*r.px1[1])+E(r.px1,r.px0,!1,_)+"l"+A*r.px0[0]+","+A*r.px0[1]+T+"Z")}else g.attr("d","M"+a+","+i+"l"+r.px0[0]+","+r.px0[1]+T+"Z")}k(t,r,h);var M=u.castOption(f.textposition,r.pts),S=o.selectAll("g.slicetext").data(r.text&&"none"!==M?[0]:[]);S.enter().append("g").classed("slicetext",!0),S.exit().remove(),S.each(function(){var e=l.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});e.text(r.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,"outside"===M?function(t,e,r){var n=u.castOption(t.outsidetextfont.color,e.pts)||u.castOption(t.textfont.color,e.pts)||r.color,a=u.castOption(t.outsidetextfont.family,e.pts)||u.castOption(t.textfont.family,e.pts)||r.family,i=u.castOption(t.outsidetextfont.size,e.pts)||u.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:a,size:i}}(f,r,t._fullLayout.font):d(f,r,t._fullLayout.font)).call(c.convertToTspans,t);var o,p=s.bBox(e.node());"outside"===M?o=y(p,r):(o=v(p,r,h),"auto"===M&&o.scale<1&&(e.call(s.font,f.outsidetextfont),f.outsidetextfont.family===f.insidetextfont.family&&f.outsidetextfont.size===f.insidetextfont.size||(p=s.bBox(e.node())),o=y(p,r)));var g=a+r.pxmid[0]*o.rCenter+(o.x||0),m=i+r.pxmid[1]*o.rCenter+(o.y||0);o.outside&&(r.yLabelMin=m-p.height/2,r.yLabelMid=m,r.yLabelMax=m+p.height/2,r.labelExtraX=0,r.labelExtraY=0,b=!0),e.attr("transform","translate("+g+","+m+")"+(o.scale<1?"scale("+o.scale+")":"")+(o.rotate?"rotate("+o.rotate+")":"")+"translate("+-(p.left+p.right)/2+","+-(p.top+p.bottom)/2+")")})}function E(t,e,n,a){var i=a*(e[0]-t[0]),o=a*(e[1]-t[1]);return"a"+a*h.r+","+a*h.r+" 0 "+r.largeArc+(n?" 1 ":" 0 ")+i+","+o}});var _=n.select(this).selectAll("g.titletext").data(f.title.text?[0]:[]);if(_.enter().append("g").classed("titletext",!0),_.exit().remove(),_.each(function(){var e,r=l.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)}),a=f.title.text;f._meta&&(a=l.templateString(a,f._meta)),r.text(a).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,f.title.font).call(c.convertToTspans,t),e="middle center"===f.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}}(h):x(h,i),r.attr("transform","translate("+e.x+","+e.y+")"+(e.scale<1?"scale("+e.scale+")":"")+"translate("+e.tx+","+e.ty+")")}),b&&function(t,e){var r,n,a,i,o,s,l,c,h,f,p,d,g;function v(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var a,c,h,p,d,g,v=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),m=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=v-m;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(c=0;c=(u.castOption(e.pull,h.pts)||0)||((t.pxmid[1]-h.pxmid[1])*l>0?(p=h.cyFinal+o(h.px0[1],h.px1[1]),(b=p-m-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(a=3*s*Math.abs(c-f.indexOf(t)),d=h.cxFinal+i(h.px0[0],h.px1[0]),(g=d+a-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(a=n?v:m,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(i=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(a),h=t[1-n][r],f=h.concat(c),d=[],p=0;pMath.abs(f)?c+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(i+t.labelExtraX+u):c+="l"+t.labelExtraX+","+h+"v"+(f-h)+"h"+u}else c+="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:c,fill:"none"})}else r.select("path.textline").remove()})}(g,f),b&&f.automargin){var w=s.bBox(r.node()),T=f.domain,A=i.w*(T.x[1]-T.x[0]),M=i.h*(T.y[1]-T.y[0]),S=(.5*A-h.r)/i.w,E=(.5*M-h.r)/i.h;a.autoMargin(t,"pie."+f.uid+".automargin",{xl:T.x[0]-S,xr:T.x[1]+S,yb:T.y[0]-E,yt:T.y[1]+E,l:Math.max(h.cx-h.r-w.left,0),r:Math.max(w.right-(h.cx+h.r),0),b:Math.max(w.bottom-(h.cy+h.r),0),t:Math.max(h.cy-h.r-w.top,0),pad:5})}})});setTimeout(function(){h.selectAll("tspan").each(function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))})},0)},formatSliceLabel:k,transformInsideText:v,determineInsideTextFont:d,positionTitleOutside:x,prerenderTitles:g,layoutAreas:w,attachFxHandlers:p}},{"../../components/color":591,"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"./event_data":1096,"./helpers":1097,d3:164}],1102:[function(t,e,r){"use strict";var n=t("d3"),a=t("./style_one");e.exports=function(t){t._fullLayout._pielayer.selectAll(".trace").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(a,t,e)})})}},{"./style_one":1103,d3:164}],1103:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("./helpers").castOption;e.exports=function(t,e,r){var i=r.marker.line,o=a(i.color,e.pts)||n.defaultLine,s=a(i.width,e.pts)||0;t.style("stroke-width",s).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":591,"./helpers":1097}],1104:[function(t,e,r){"use strict";var n=t("../scatter/attributes");e.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}},{"../scatter/attributes":1118}],1105:[function(t,e,r){"use strict";var n=t("gl-pointcloud2d"),a=t("../../lib/str2rgbarray"),i=t("../../plots/cartesian/autorange").findExtremes,o=t("../scatter/get_trace_color");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,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,h=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(h){if(n=h,e=h.length>>>1,f)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 g=a(t.marker.color),v=a(t.marker.border.color),m=t.opacity*t.marker.opacity;g[3]*=m,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,v[3]*=m,this.pointcloudOptions.borderColor=v;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,k=b/2||.5;t._extremes[_._id]=i(_,[d[0],d[2]],{ppad:k}),t._extremes[w._id]=i(w,[d[1],d[3]],{ppad:k})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{"../../lib/str2rgbarray":739,"../../plots/cartesian/autorange":763,"../scatter/get_trace_color":1128,"gl-pointcloud2d":294}],1106:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes");e.exports=function(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i("x"),i("y"),i("xbounds"),i("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),i("text"),i("marker.color",r),i("marker.opacity"),i("marker.blend"),i("marker.sizemin"),i("marker.sizemax"),i("marker.border.color",r),i("marker.border.arearatio"),e._length=null}},{"../../lib":716,"./attributes":1104}],1107:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../scatter3d/calc"),plot:t("./convert"),moduleType:"trace",name:"pointcloud",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","showLegend"],meta:{}}},{"../../plots/gl2d":802,"../scatter3d/calc":1146,"./attributes":1104,"./convert":1105,"./defaults":1106}],1108:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../plots/attributes"),i=t("../../components/color/attributes"),o=t("../../components/fx/attributes"),s=t("../../plots/domain").attributes,l=t("../../plots/template_attributes").hovertemplateAttrs,c=t("../../components/colorscale/attributes"),u=t("../../plot_api/plot_template").templatedArray,h=t("../../lib/extend").extendFlat,f=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK;(e.exports=f({hoverinfo:h({},a.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"},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),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},line:{color:{valType:"color",dflt:i.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:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:i.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:u("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(c().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},{"../../components/color/attributes":590,"../../components/colorscale/attributes":598,"../../components/fx/attributes":621,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1109:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("../../plots/get_data").getModuleCalcData,i=t("./plot"),o=t("../../components/fx/layout_attributes"),s=t("../../lib/setcursor"),l=t("../../components/dragelement"),c=t("../../plots/cartesian/select").prepSelect,u=t("../../lib"),h=t("../../registry");function f(t,e){var r=t._fullData[e],n=t._fullLayout,a=n.dragmode,i="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if("pan"!==a&&"zoom"!==a){s(o,i);var f={_id:"x",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:f,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,a=t._fullData[e],i=a.node.groups.slice(),o=[];function s(t){for(var e=a._sankey.graph.nodes,r=0;rm&&(m=i.source[e]),i.target[e]>m&&(m=i.target[e]);var y,x=m+1;t.node._count=x;var b=t.node.groups,_={};for(e=0;e0&&s(S,x)&&s(E,x)&&(!_.hasOwnProperty(S)||!_.hasOwnProperty(E)||_[S]!==_[E])){_.hasOwnProperty(E)&&(E=_[E]),_.hasOwnProperty(S)&&(S=_[S]),E=+E,h[S=+S]=h[E]=!0;var L="";i.label&&i.label[e]&&(L=i.label[e]);var C=null;L&&f.hasOwnProperty(L)&&(C=f[L]),c.push({pointNumber:e,label:L,color:u?i.color[e]:i.color,concentrationscale:C,source:S,target:E,value:+M}),A.source.push(S),A.target.push(E)}}var P=x+b.length,O=o(r.color),z=[];for(e=0;ex-1,childrenNodes:[],pointNumber:e,label:I,color:O?r.color[e]:r.color})}var D=!1;return function(t,e,r){for(var i=a.init2dArray(t,0),o=0;o1})}(P,A.source,A.target)&&(D=!0),{circular:D,links:c,nodes:z,groups:b,groupLookup:_}}e.exports=function(t,e){var r=c(e);return i({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gup":714,"strongly-connected-components":528}],1111:[function(t,e,r){"use strict";e.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",nodeCapture:"node-capture",nodeCentered:"node-entered",nodeLabelGuide:"node-label-guide",nodeLabel:"node-label",nodeLabelTextPath:"node-label-text-path"}}},{}],1112:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../components/color"),o=t("tinycolor2"),s=t("../../plots/domain").defaults,l=t("../../components/fx/hoverlabel_defaults"),c=t("../../plot_api/plot_template"),u=t("../../plots/array_container_defaults");function h(t,e){function r(r,i){return n.coerce(t,e,a.link.colorscales,r,i)}r("label"),r("cmin"),r("cmax"),r("colorscale")}e.exports=function(t,e,r,f){function p(r,i){return n.coerce(t,e,a,r,i)}var d=n.extendDeep(f.hoverlabel,t.hoverlabel),g=t.node,v=c.newContainer(e,"node");function m(t,e){return n.coerce(g,v,a.node,t,e)}m("label"),m("groups"),m("x"),m("y"),m("pad"),m("thickness"),m("line.color"),m("line.width"),m("hoverinfo",t.hoverinfo),l(g,v,m,d),m("hovertemplate");var y=f.colorway;m("color",v.label.map(function(t,e){return i.addOpacity(function(t){return y[t%y.length]}(e),.8)}));var x=t.link||{},b=c.newContainer(e,"link");function _(t,e){return n.coerce(x,b,a.link,t,e)}_("label"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,k=o(f.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(k,b.value.length)),u(x,b,{name:"colorscales",handleItemDefaults:h}),s(e,f,p),p("orientation"),p("valueformat"),p("valuesuffix"),v.x.length&&v.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},f.font)),e._length=null}},{"../../components/color":591,"../../components/fx/hoverlabel_defaults":628,"../../lib":716,"../../plot_api/plot_template":754,"../../plots/array_container_defaults":760,"../../plots/domain":789,"./attributes":1108,tinycolor2:535}],1113:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"sankey",basePlotModule:t("./base_plot"),selectPoints:t("./select.js"),categories:["noOpacity"],meta:{}}},{"./attributes":1108,"./base_plot":1109,"./calc":1110,"./defaults":1112,"./plot":1114,"./select.js":1116}],1114:[function(t,e,r){"use strict";var n=t("d3"),a=t("./render"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib"),l=t("./constants").cn,c=s._;function u(t){return""!==t}function h(t,e){return t.filter(function(t){return t.key===e.traceId})}function f(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function p(t){n.select(t).select("text.name").style("fill","black")}function d(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 v(t,e,r){e&&r&&h(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var a=n.datum().link.label;n.style("fill-opacity",function(t){if(!t.link.concentrationscale)return.4}),a&&h(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===a}).style("fill-opacity",function(t){if(!t.link.concentrationscale)return.4}),r&&h(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(v)}function x(t,e,r,n){var a=n.datum().link.label;n.style("fill-opacity",function(t){return t.tinyColorAlpha}),a&&h(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===a}).style("fill-opacity",function(t){return t.tinyColorAlpha}),r&&h(e,t).selectAll(l.sankeyNode).filter(g(t)).call(m)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,s=r._paper,h=r._size,d=0;d"),color:b(s,"bgcolor")||o.addOpacity(d.color,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),nameLength:b(s,"namelength"),textAlign:b(s,"align"),idealAlign:n.event.x"),color:b(o,"bgcolor")||a.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[a.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});f(y,.85),p(y)}}},unhover:function(e,a,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,a,o),"skip"!==a.node.trace.node.hoverinfo&&(a.node.fullData=a.node.trace,t.emit("plotly_unhover",{event:n.event,points:[a.node]})),i.loneUnhover(r._hoverlayer.node()))},select:function(e,r,a){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(m,r,a),i.click(t,{target:!0})}}})}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"./constants":1111,"./render":1115,d3:164}],1115:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("tinycolor2"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("@plotly/d3-sankey"),c=t("@plotly/d3-sankey-circular"),u=t("d3-force"),h=t("../../lib"),f=t("../../lib/gup"),p=f.keyFun,d=f.repeat,g=f.unwrap,v=t("d3-interpolate").interpolateNumber,m=t("../../registry");function y(){var t=.5;return function(e){if(e.link.circular)return r=e.link,n=r.width/2,a=r.circularPathData,"top"===r.circularLinkType?"M "+a.targetX+" "+(a.targetY+n)+" L"+a.rightInnerExtent+" "+(a.targetY+n)+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightSmallArcRadius+n)+" 0 0 1 "+(a.rightFullExtent-n)+" "+(a.targetY-a.rightSmallArcRadius)+"L"+(a.rightFullExtent-n)+" "+a.verticalRightInnerExtent+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 1 "+a.rightInnerExtent+" "+(a.verticalFullExtent-n)+"L"+a.leftInnerExtent+" "+(a.verticalFullExtent-n)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftLargeArcRadius+n)+" 0 0 1 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent+"L"+(a.leftFullExtent+n)+" "+(a.sourceY-a.leftSmallArcRadius)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftSmallArcRadius+n)+" 0 0 1 "+a.leftInnerExtent+" "+(a.sourceY+n)+"L"+a.sourceX+" "+(a.sourceY+n)+"L"+a.sourceX+" "+(a.sourceY-n)+"L"+a.leftInnerExtent+" "+(a.sourceY-n)+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftSmallArcRadius-n)+" 0 0 0 "+(a.leftFullExtent-n)+" "+(a.sourceY-a.leftSmallArcRadius)+"L"+(a.leftFullExtent-n)+" "+a.verticalLeftInnerExtent+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftLargeArcRadius-n)+" 0 0 0 "+a.leftInnerExtent+" "+(a.verticalFullExtent+n)+"L"+a.rightInnerExtent+" "+(a.verticalFullExtent+n)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightLargeArcRadius-n)+" 0 0 0 "+(a.rightFullExtent+n)+" "+a.verticalRightInnerExtent+"L"+(a.rightFullExtent+n)+" "+(a.targetY-a.rightSmallArcRadius)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 0 "+a.rightInnerExtent+" "+(a.targetY-n)+"L"+a.targetX+" "+(a.targetY-n)+"Z":"M "+a.targetX+" "+(a.targetY-n)+" L"+a.rightInnerExtent+" "+(a.targetY-n)+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightSmallArcRadius+n)+" 0 0 0 "+(a.rightFullExtent-n)+" "+(a.targetY+a.rightSmallArcRadius)+"L"+(a.rightFullExtent-n)+" "+a.verticalRightInnerExtent+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 0 "+a.rightInnerExtent+" "+(a.verticalFullExtent+n)+"L"+a.leftInnerExtent+" "+(a.verticalFullExtent+n)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftLargeArcRadius+n)+" 0 0 0 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent+"L"+(a.leftFullExtent+n)+" "+(a.sourceY+a.leftSmallArcRadius)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftSmallArcRadius+n)+" 0 0 0 "+a.leftInnerExtent+" "+(a.sourceY-n)+"L"+a.sourceX+" "+(a.sourceY-n)+"L"+a.sourceX+" "+(a.sourceY+n)+"L"+a.leftInnerExtent+" "+(a.sourceY+n)+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftSmallArcRadius-n)+" 0 0 1 "+(a.leftFullExtent-n)+" "+(a.sourceY+a.leftSmallArcRadius)+"L"+(a.leftFullExtent-n)+" "+a.verticalLeftInnerExtent+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftLargeArcRadius-n)+" 0 0 1 "+a.leftInnerExtent+" "+(a.verticalFullExtent-n)+"L"+a.rightInnerExtent+" "+(a.verticalFullExtent-n)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightLargeArcRadius-n)+" 0 0 1 "+(a.rightFullExtent+n)+" "+a.verticalRightInnerExtent+"L"+(a.rightFullExtent+n)+" "+(a.targetY+a.rightSmallArcRadius)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 1 "+a.rightInnerExtent+" "+(a.targetY+n)+"L"+a.targetX+" "+(a.targetY+n)+"Z";var r,n,a,i=e.link.source.x1,o=e.link.target.x0,s=v(i,o),l=s(t),c=s(1-t),u=e.link.y0-e.link.width/2,h=e.link.y0+e.link.width/2,f=e.link.y1-e.link.width/2,p=e.link.y1+e.link.width/2;return"M"+i+","+u+"C"+l+","+u+" "+c+","+f+" "+o+","+f+"L"+o+","+p+"C"+c+","+p+" "+l+","+h+" "+i+","+h+"Z"}}function x(t){t.attr("transform",function(t){return"translate("+t.node.x0.toFixed(3)+", "+t.node.y0.toFixed(3)+")"})}function b(t){t.call(x)}function _(t,e){t.call(b),e.attr("d",y())}function w(t){t.attr("width",function(t){return t.node.x1-t.node.x0}).attr("height",function(t){return t.visibleHeight})}function k(t){return t.link.width>1||t.linkLineWidth>0}function T(t){return"translate("+t.translateX+","+t.translateY+")"+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function A(t){return"translate("+(t.horizontal?0:t.labelY)+" "+(t.horizontal?t.labelY:0)+")"}function M(t){return a.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function S(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function E(t){return t.horizontal?"scale(1 1)":"scale(-1 1)"}function L(t){return t.darkBackground&&!t.horizontal?"rgb(255,255,255)":"rgb(0,0,0)"}function C(t){return t.horizontal&&t.left?"100%":"0%"}function P(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 O(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,I(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,a){!function(t){for(var e=0;e0&&a.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,o,a),function(t,e,r,a,i){window.requestAnimationFrame(function o(){var s;for(s=0;s0)window.requestAnimationFrame(o);else{var c=r.node.originalX;r.node.x0=c-r.visibleWidth/2,r.node.x1=c+r.visibleWidth/2,z(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),I(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),_(t.filter(D(r)),e))}}).on("dragend",function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;e=a||(r=a-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),a=e.y1+p})}(function(t){var e,r,n=t.map(function(t,e){return{x0:t.x0,index:e}}).sort(function(t,e){return t.x0-e.x0}),a=[],i=-1,o=-1/0;for(_=0;_o+d&&(i+=1,e=s.x0),o=s.x0,a[i]||(a[i]=[]),a[i].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return a}(y=T.nodes)),a.update(T)}return{circular:b,key:r,trace:s,guid:h.randstr(),horizontal:f,width:v,height:m,nodePad:s.node.pad,nodeLineColor:s.node.line.color,nodeLineWidth:s.node.line.width,linkLineColor:s.link.line.color,linkLineWidth:s.link.line.width,valueFormat:s.valueformat,valueSuffix:s.valuesuffix,textFont:s.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:f?m:v,dragPerpendicular:f?v:m,arrangement:s.arrangement,sankey:a,graph:T,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,u)),_=e.selectAll("."+n.cn.sankey).data(b,p);_.exit().remove(),_.enter().append("g").classed(n.cn.sankey,!0).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events","auto").attr("transform",T),_.each(function(e,r){t._fullData[r]._sankey=e;var n="bgsankey-"+e.trace.uid+"-"+r;h.ensureSingle(t._fullLayout._draggers,"rect",n),t._fullData[r]._bgRect=a.select("."+n),t._fullData[r]._bgRect.style("pointer-events","all").attr("width",e.width).attr("height",e.height).attr("x",e.translateX).attr("y",e.translateY).classed("bgsankey",!0).style({fill:"transparent","stroke-width":0})}),_.transition().ease(n.ease).duration(n.duration).attr("transform",T);var z=_.selectAll("."+n.cn.sankeyLinks).data(d,p);z.enter().append("g").classed(n.cn.sankeyLinks,!0).style("fill","none");var I=z.selectAll("."+n.cn.sankeyLink).data(function(t){return t.graph.links.filter(function(t){return t.value}).map(function(t,e,r){var n=i(e.color),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:y,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}.bind(null,t))},p);I.enter().append("path").classed(n.cn.sankeyLink,!0).call(P,_,f.linkEvents),I.style("stroke",function(t){return k(t)?o.tinyRGB(i(t.linkLineColor)):t.tinyColorHue}).style("stroke-opacity",function(t){return k(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha}).style("fill",function(t){return t.tinyColorHue}).style("fill-opacity",function(t){return t.tinyColorAlpha}).style("stroke-width",function(t){return k(t)?t.linkLineWidth:1}).attr("d",y()),I.style("opacity",function(){return t._context.staticPlot||v||m?1:0}).transition().ease(n.ease).duration(n.duration).style("opacity",1),I.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var D=_.selectAll("."+n.cn.sankeyNodeSet).data(d,p);D.enter().append("g").classed(n.cn.sankeyNodeSet,!0),D.style("cursor",function(t){switch(t.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}});var R=D.selectAll("."+n.cn.sankeyNode).data(function(t){var e=t.graph.nodes;return function(t){var e,r=[];for(e=0;e5?t.node.label:""}).attr("text-anchor",function(t){return t.horizontal&&t.left?"end":"start"}),U.transition().ease(n.ease).duration(n.duration).attr("startOffset",C).style("fill",L)}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../registry":845,"./constants":1111,"@plotly/d3-sankey":56,"@plotly/d3-sankey-circular":55,d3:164,"d3-force":157,"d3-interpolate":159,tinycolor2:535}],1116:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=[],n=t.cd[0].trace,a=n._sankey.graph.nodes,i=0;is&&A[v].gap;)v--;for(y=A[v].s,d=A.length-1;d>v;d--)A[d].s=y;for(;sM[u]&&u=0;a--){var i=t[a];if("scatter"===i.type&&i.xaxis===r.xaxis&&i.yaxis===r.yaxis){i.opacity=void 0;break}}}}}},{}],1125:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),c=t("./stack_defaults"),u=t("./marker_defaults"),h=t("./line_defaults"),f=t("./line_shape_defaults"),p=t("./text_defaults"),d=t("./fillcolor_defaults");e.exports=function(t,e,r,g){function v(r,a){return n.coerce(t,e,i,r,a)}var m=l(t,e,g,v);if(m||(e.visible=!1),e.visible){var y=c(t,e,g,v),x=!y&&mG!=(F=O[C][1])>=G&&(I=O[C-1][0],D=O[C][0],F-R&&(z=I+(D-I)*(G-R)/(F-R),V=Math.min(V,z),U=Math.max(U,z)));V=Math.max(V,0),U=Math.min(U,f._length);var Y=s.defaultLine;return s.opacity(h.fillcolor)?Y=h.fillcolor:s.opacity((h.line||{}).color)&&(Y=h.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:U,y0:G,y1:G,color:Y,hovertemplate:!1}),delete t.index,h.text&&!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"../../registry":845,"./get_trace_color":1128}],1130:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./cross_trace_calc"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot"),colorbar:t("./marker_colorbar"),formatLabels:t("./format_labels"),style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("./select"),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"./arrays_to_calcdata":1117,"./attributes":1118,"./calc":1119,"./cross_trace_calc":1123,"./cross_trace_defaults":1124,"./defaults":1125,"./format_labels":1127,"./hover":1129,"./marker_colorbar":1136,"./plot":1138,"./select":1139,"./style":1141,"./subtypes":1142}],1131:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s("line.color",r),a(t,"line"))?i(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716}],1132:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),a=n.BADNUM,i=n.LOG_CLIP,o=i+.5,s=i-.5,l=t("../../lib"),c=l.segmentsIntersect,u=l.constrain,h=t("./constants");e.exports=function(t,e){var r,n,i,f,p,d,g,v,m,y,x,b,_,w,k,T,A,M,S=e.xaxis,E=e.yaxis,L="log"===S.type,C="log"===E.type,P=S._length,O=E._length,z=e.connectGaps,I=e.baseTolerance,D=e.shape,R="linear"===D,F=e.fill&&"none"!==e.fill,B=[],N=h.minTolerance,j=t.length,V=new Array(j),U=0;function q(r){var n=t[r];if(!n)return!1;var i=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(i===a){if(L&&(i=S.c2p(n.x,!0)),i===a)return!1;C&&l===a&&(i*=Math.abs(S._m*O*(S._m>0?o:s)/(E._m*P*(E._m>0?o:s)))),i*=1e3}if(l===a){if(C&&(l=E.c2p(n.y,!0)),l===a)return!1;l*=1e3}return[i,l]}function H(t,e,r,n){var a=r-t,i=n-e,o=.5-t,s=.5-e,l=a*a+i*i,c=a*o+i*s;if(c>0&&crt||t[1]at)return[u(t[0],et,rt),u(t[1],nt,at)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===at)||void 0)}function lt(t,e,r){return function(n,a){var i=ot(n),o=ot(a),s=[];if(i&&o&&st(i,o))return s;i&&s.push(i),o&&s.push(o);var c=2*l.constrain((n[t]+a[t])/2,e,r)-((i||n)[t]+(o||a)[t]);c&&((i&&o?c>0==i[t]>o[t]?i:o:i||o)[t]+=c);return s}}function ct(t){var e=t[0],r=t[1],n=e===V[U-1][0],a=r===V[U-1][1];if(!n||!a)if(U>1){var i=e===V[U-2][0],o=r===V[U-2][1];n&&(e===et||e===rt)&&i?o?U--:V[U-1]=t:a&&(r===nt||r===at)&&o?i?U--:V[U-1]=t:V[U++]=t}else V[U++]=t}function ut(t){V[U-1][0]!==t[0]&&V[U-1][1]!==t[1]&&ct([Z,J]),ct(t),K=null,Z=J=0}function ht(t){if(A=t[0]/P,M=t[1]/O,W=t[0]rt?rt:0,X=t[1]at?at:0,W||X){if(U)if(K){var e=$(K,t);e.length>1&&(ut(e[0]),V[U++]=e[1])}else Q=$(V[U-1],t)[0],V[U++]=Q;else V[U++]=[W||t[0],X||t[1]];var r=V[U-1];W&&X&&(r[0]!==W||r[1]!==X)?(K&&(Z!==W&&J!==X?ct(Z&&J?(n=K,i=(a=t)[0]-n[0],o=(a[1]-n[1])/i,(n[1]*a[0]-a[1]*n[0])/i>0?[o>0?et:rt,at]:[o>0?rt:et,nt]):[Z||W,J||X]):Z&&J&&ct([Z,J])),ct([W,X])):Z-W&&J-X&&ct([W||Z,X||J]),K=t,Z=W,J=X}else K&&ut($(K,t)[0]),V[U++]=t;var n,a,i,o}for("linear"===D||"spline"===D?$=function(t,e){for(var r=[],n=0,a=0;a<4;a++){var i=it[a],o=c(t[0],t[1],e[0],e[1],i[0],i[1],i[2],i[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&&Y(o,t)G(d,ft))break;i=d,(_=m[0]*v[0]+m[1]*v[1])>x?(x=_,f=d,g=!1):_=t.length||!d)break;ht(d),n=d}}else ht(f)}K&&ct([Z||K[0],J||K[1]]),B.push(V.slice(0,U))}return B}},{"../../constants/numerical":692,"../../lib":716,"./constants":1122}],1133:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],1134:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var a,i,o,s,l,c={},u=!1,h=-1,f=0,p=-1;for(i=0;i=0?l=p:(l=p=f,f++),l0?Math.max(e,a):0}}},{"fast-isnumeric":227}],1136:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],1137:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),h=(t.line||{}).color;(c=c||{},h&&(r=h),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),l("marker.color",r),a(t,"marker")&&i(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",h&&!Array.isArray(h)&&e.marker.color!==h?h:u?n.background:n.defaultLine),a(t,"marker.line")&&i(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":591,"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"./subtypes":1142}],1138:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=i.ensureSingle,s=i.identity,l=t("../../components/drawing"),c=t("./subtypes"),u=t("./line_points"),h=t("./link_traces"),f=t("../../lib/polygon").tester;function p(t,e,r,h,p,d,g){var v;!function(t,e,r,a,o){var s=r.xaxis,l=r.yaxis,u=n.extent(i.simpleMap(s.range,s.r2c)),h=n.extent(i.simpleMap(l.range,l.r2c)),f=a[0].trace;if(!c.hasMarkers(f))return;var p=f.marker.maxdisplayed;if(0===p)return;var d=a.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]}),g=Math.ceil(d.length/p),v=0;o.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function y(t){return m?t.transition():t}var x=r.xaxis,b=r.yaxis,_=h[0].trace,w=_.line,k=n.select(d),T=o(k,"g","errorbars"),A=o(k,"g","lines"),M=o(k,"g","points"),S=o(k,"g","text");if(a.getComponentMethod("errorbars","plot")(t,T,r,g),!0===_.visible){var E,L;y(k).style("opacity",_.opacity);var C=_.fill.charAt(_.fill.length-1);"x"!==C&&"y"!==C&&(C=""),h[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var P,O,z="",I=[],D=_._prevtrace;D&&(z=D._prevRevpath||"",L=D._nextFill,I=D._polygons);var R,F,B,N,j,V,U,q="",H="",G=[],Y=i.noop;if(E=_._ownFill,c.hasLines(_)||"none"!==_.fill){for(L&&L.datum(h),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split("").reverse().join(""))):R=F="spline"===w.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),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},B=function(t){return F(t.reverse())},G=u(h,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),U=_._polygons=new Array(G.length),v=0;v1){var r=n.select(this);if(r.datum(h),t)y(r.style("opacity",0).attr("d",P).call(l.lineGroupStyle)).style("opacity",1);else{var a=y(r);a.attr("d",P),l.singleLineStyle(h,a)}}}}}var W=A.selectAll(".js-line").data(G);y(W.exit()).style("opacity",0).remove(),W.each(Y(!1)),W.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(h),N&&V&&(C?("y"===C?N[1]=V[1]=b.c2p(0,!0):"x"===C&&(N[0]=V[0]=x.c2p(0,!0)),y(E).attr("d","M"+V+"L"+N+"L"+q.substr(1)).call(l.singleFillStyle)):y(E).attr("d",q+"Z").call(l.singleFillStyle))):L&&("tonext"===_.fill.substr(0,6)&&q&&z?("tonext"===_.fill?y(L).attr("d",q+"Z"+z+"Z").call(l.singleFillStyle):y(L).attr("d",q+"L"+z.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(I)):(Z(L),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=U):(E?Z(E):L&&Z(L),_._polygons=_._prevRevpath=_._prevPolygons=null),M.datum(h),S.datum(h),function(e,a,i){var o,u=i[0].trace,h=c.hasMarkers(u),f=c.hasText(u),p=tt(u),d=et,g=et;if(h||f){var v=s,_=u.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?v=w?K:J:_&&!w&&(v=Q),h&&(d=v),f&&(g=v)}var k,T=(o=e.selectAll("path.point").data(d,p)).enter().append("path").classed("point",!0);m&&T.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),h&&(k=l.makePointStyleFns(u)),o.each(function(e){var a=n.select(this),i=y(a);l.translatePoint(e,i,x,b)?(l.singlePointStyle(e,i,u,k,t),r.layerClipId&&l.hideOutsideRangePoint(e,i,x,b,u.xcalendar,u.ycalendar),u.customdata&&a.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):i.remove()}),m?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=a.selectAll("g").data(g,p)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each(function(t){var e=n.select(this),a=y(e.select("text"));l.translatePoint(t,a,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()}),o.selectAll("text").call(l.textPointStyle,u,t).each(function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll("tspan.line").each(function(){y(n.select(this)).attr({x:e,y:r})})}),o.exit().remove()}(M,S,h);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(M,X,t),l.setClipUrl(S,X,t)}function Z(t){y(t).attr("d","M0,0Z")}function J(t){return t.filter(function(t){return!t.gap&&t.vis})}function K(t){return t.filter(function(t){return t.vis})}function Q(t){return t.filter(function(t){return!t.gap})}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,a,i,c){var u,f,d=!i,g=!!i&&i.duration>0,v=h(t,e,r);((u=a.selectAll("g.trace").data(v,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),u.order(),function(t,e,r){e.each(function(e){var a=o(n.select(this),"g","fills");l.setClipUrl(a,r.layerClipId,t);var i=e[0].trace,c=[];i._ownfill&&c.push("_ownFill"),i._nexttrace&&c.push("_nextFill");var u=a.selectAll("g").data(c,s);u.enter().append("g"),u.exit().each(function(t){i[t]=null}).remove(),u.order().each(function(t){i[t]=o(n.select(this),"path","js-fill")})})}(t,u,e),g)?(c&&(f=c()),n.transition().duration(i.duration).ease(i.easing).each("end",function(){f&&f()}).each("interrupt",function(){f&&f()}).each(function(){a.selectAll("g.trace").each(function(r,n){p(t,n,e,r,v,this,i)})})):u.each(function(r,n){p(t,n,e,r,v,this,i)});d&&u.exit().remove(),a.selectAll("path:not([d])").remove()}},{"../../components/drawing":612,"../../lib":716,"../../lib/polygon":728,"../../registry":845,"./line_points":1132,"./link_traces":1134,"./subtypes":1142,d3:164}],1139:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,a,i,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],h=s[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(r=0;r0){var f=a.c2l(u);a._lowerLogErrorBound||(a._lowerLogErrorBound=f),a._lowerErrorBound=Math.min(a._lowerLogErrorBound,f)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[a(t.x,t.error_x,e[0],r.xaxis),a(t.y,t.error_y,e[1],r.yaxis),a(t.z,t.error_z,e[2],r.zaxis)],i=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 k(t,e,r,n,a){var i=null;if(l.isArrayOrTypedArray(t)){i=[];for(var o=0;o=0){var g=function(t,e,r){var n,a=(r+1)%3,i=(r+2)%3,o=[],l=[];for(n=0;n=0&&h("surfacecolor",f||p);for(var d=["x","y","z"],g=0;g<3;++g){var v="projection."+d[g];h(v+".show")&&(h(v+".opacity"),h(v+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,f||p||r,{axis:"z"}),m(t,e,f||p||r,{axis:"y",inherit:"z"}),m(t,e,f||p||r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":716,"../../registry":845,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1145}],1150:[function(t,e,r){"use strict";e.exports={plot:t("./convert"),attributes:t("./attributes"),markerSymbols:t("../../constants/gl3d_markers"),supplyDefaults:t("./defaults"),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:t("./calc"),moduleType:"trace",name:"scatter3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},{"../../constants/gl3d_markers":690,"../../plots/gl3d":804,"./attributes":1145,"./calc":1146,"./convert":1148,"./defaults":1149}],1151:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../components/colorscale/attributes"),l=t("../../lib/extend").extendFlat,c=n.marker,u=n.line,h=c.line;e.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:u.color,width:u.width,dash:u.dash,shape:l({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:h.width,editType:"calc"},s("marker.line")),gradient:c.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:i()}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1152:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../scatter/colorscale_calc"),i=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=t("../carpet/lookup_carpetid");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,h,f=e._length,p=new Array(f),d=!1;for(c=0;c")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,v.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../../lib":716,"../scatter/hover":1129}],1157:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scattercarpet",basePlotModule:t("../../plots/cartesian"),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1151,"./calc":1152,"./defaults":1153,"./event_data":1154,"./format_labels":1155,"./hover":1156,"./plot":1158}],1158:[function(t,e,r){"use strict";var n=t("../scatter/plot"),a=t("../../plots/cartesian/axes"),i=t("../../components/drawing");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,h={xaxis:a.getFromId(t,u.xaxis||"x"),yaxis:a.getFromId(t,u.yaxis||"y"),plot:e.plot};for(n(t,h,r,o),s=0;s")}(c,g,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":629,"../../constants/numerical":692,"../../lib":716,"../scatter/get_trace_color":1128,"./attributes":1159}],1165:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"scattergeo",basePlotModule:t("../../plots/geo"),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/geo":794,"../scatter/marker_colorbar":1136,"../scatter/style":1141,"./attributes":1159,"./calc":1160,"./defaults":1161,"./event_data":1162,"./format_labels":1163,"./hover":1164,"./plot":1166,"./select":1167,"./style":1168}],1166:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM,o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("../../lib/geojson_utils"),c=t("../scatter/subtypes"),u=t("./style");function h(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),a=r.locationmode,l=0;l=g,k=2*_,T={},A=e._x=y.makeCalcdata(e,"x"),M=e._y=x.makeCalcdata(e,"y"),S=new Array(k);for(r=0;r<_;r++)o=A[r],s=M[r],S[2*r]=o===d?NaN:o,S[2*r+1]=s===d?NaN:s;if("log"===y.type)for(r=0;r1&&a.extendFlat(s.line,f.linePositions(t,r,n));if(s.errorX||s.errorY){var l=f.errorBarPositions(t,r,n,i,o);s.errorX&&a.extendFlat(s.errorX,l.x),s.errorY&&a.extendFlat(s.errorY,l.y)}s.text&&(a.extendFlat(s.text,{positions:n},f.textPosition(t,r,s.text,s.marker)),a.extendFlat(s.textSel,{positions:n},f.textPosition(t,r,s.text,s.markerSel)),a.extendFlat(s.textUnsel,{positions:n},f.textPosition(t,r,s.text,s.markerUnsel)));return s}(t,0,e,S,A,M),P=p(t,b);return u(m,e),w?C.marker&&(L=2*(C.marker.sizeAvg||Math.max(C.marker.size,3))):L=l(e,_),c(t,e,y,x,A,M,L),C.errorX&&v(e,y,C.errorX),C.errorY&&v(e,x,C.errorY),C.fill&&!P.fill2d&&(P.fill2d=!0),C.marker&&!P.scatter2d&&(P.scatter2d=!0),C.line&&!P.line2d&&(P.line2d=!0),!C.errorX&&!C.errorY||P.error2d||(P.error2d=!0),C.text&&!P.glText&&(P.glText=!0),C.marker&&(C.marker.snap=_),P.lineOptions.push(C.line),P.errorXOptions.push(C.errorX),P.errorYOptions.push(C.errorY),P.fillOptions.push(C.fill),P.markerOptions.push(C.marker),P.markerSelectedOptions.push(C.markerSel),P.markerUnselectedOptions.push(C.markerUnsel),P.textOptions.push(C.text),P.textSelectedOptions.push(C.textSel),P.textUnselectedOptions.push(C.textUnsel),P.selectBatch.push([]),P.unselectBatch.push([]),T._scene=P,T.index=P.count,T.x=A,T.y=M,T.positions=S,P.count++,[{x:!1,y:!1,t:T,trace:e}]}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/autorange":763,"../../plots/cartesian/axis_ids":767,"../scatter/calc":1119,"../scatter/colorscale_calc":1121,"./constants":1171,"./convert":1172,"./scene_update":1179,"point-cluster":470}],1171:[function(t,e,r){"use strict";e.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]}}},{}],1172:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("svg-path-sdf"),i=t("color-normalize"),o=t("../../registry"),s=t("../../lib"),l=t("../../components/drawing"),c=t("../../plots/cartesian/axis_ids"),u=t("../../lib/gl_format_color").formatColor,h=t("../scatter/subtypes"),f=t("../scatter/make_bubble_size_func"),p=t("./constants"),d=t("../../constants/interactions").DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t("../../components/fx/helpers").appendArrayPointValue;function m(t,e){var r,a=t._fullLayout,i=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,h=o.size,f=o.family,p={},d=e.texttemplate;if(d){p.text=[];var g=a._d3locale,m=Array.isArray(d),y=m?Math.min(d.length,i):i,x=m?function(t){return d[t]}:function(){return d};for(r=0;rp.TOO_MANY_POINTS?"rect":h.hasMarkers(e)?"rect":"round";if(c&&e.connectgaps){var f=n[0],d=n[1];for(a=0;a1?l[a]:l[0]:l,d=Array.isArray(c)?c.length>1?c[a]:c[0]:c,v=g[p],m=g[d],y=u?u/.8+1:0,x=-m*y-.5*m;o.offset[a]=[v*y/f,x/f]}}return o}}},{"../../components/drawing":612,"../../components/fx/helpers":626,"../../constants/interactions":691,"../../lib":716,"../../lib/gl_format_color":713,"../../plots/cartesian/axis_ids":767,"../../registry":845,"../scatter/make_bubble_size_func":1135,"../scatter/subtypes":1142,"./constants":1171,"color-normalize":121,"fast-isnumeric":227,"svg-path-sdf":533}],1173:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("../scatter/constants"),s=t("../scatter/subtypes"),l=t("../scatter/xy_defaults"),c=t("../scatter/marker_defaults"),u=t("../scatter/line_defaults"),h=t("../scatter/fillcolor_defaults"),f=t("../scatter/text_defaults");e.exports=function(t,e,r,p){function d(r,a){return n.coerce(t,e,i,r,a)}var g=!!t.marker&&/-open/.test(t.marker.symbol),v=s.isBubble(t),m=l(t,e,p,d);if(m){var y=m-1;c--)s=x[a[c]],l=b[a[c]],u=m.c2p(s)-_,h=y.c2p(l)-w,(f=Math.sqrt(u*u+h*h))g.glText.length){var b=y-g.glText.length;for(f=0;fr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t}),g.line2d.update(g.lineOptions)),g.error2d){var w=(g.errorXOptions||[]).concat(g.errorYOptions||[]);g.error2d.update(w)}g.scatter2d&&g.scatter2d.update(g.markerOptions),g.fillOrder=s.repeat(null,y),g.fill2d&&(g.fillOptions=g.fillOptions.map(function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var a,i,o=n[0],s=o.trace,l=o.t,c=g.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(g.fillOrder[e]=u);var h,f,p=[],d=c&&c.positions||l.positions;if("tozeroy"===s.fill){for(h=0;hh&&isNaN(d[f+1]);)f-=2;0!==d[h+1]&&(p=[d[h],0]),p=p.concat(d.slice(h,f+2)),0!==d[f+1]&&(p=p.concat([d[f],0]))}else if("tozerox"===s.fill){for(h=0;hh&&isNaN(d[f]);)f-=2;0!==d[h]&&(p=[0,d[h+1]]),p=p.concat(d.slice(h,f+2)),0!==d[f]&&(p=p.concat([0,d[f+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],a=0,i=0;i-1;for(f=0;f=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=a.modHalf(e[0],360),i=e[1],o=f.project([n,i]),l=o.x-u.c2p([d,i]),c=o.y-h.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)},t),!1!==t.index){var g=l[t.index],v=g.lonlat,m=[a.modHalf(v[0],360)+p,v[1]],y=u.c2p(m),x=h.c2p(m),b=g.mrc||1;t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b;var _={};_[c.subplot]={_subplot:f};var w=c._module.formatLabels(g,c,_);return t.lonLabel=w.lonLabel,t.latLabel=w.latLabel,t.color=i(c,g),t.extraText=function(t,e,r){if(t.hovertemplate)return;var n=(e.hi||t.hoverinfo).split("+"),a=-1!==n.indexOf("all"),i=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}a||i&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):i?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(a||-1!==n.indexOf("text"))&&o(e,t,c);return c.join("
")}(c,g,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":629,"../../constants/numerical":692,"../../lib":716,"../scatter/get_trace_color":1128}],1187:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("../scattergeo/calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/mapbox":819,"../scatter/marker_colorbar":1136,"../scattergeo/calc":1160,"./attributes":1181,"./defaults":1183,"./event_data":1184,"./format_labels":1185,"./hover":1186,"./plot":1188,"./select":1189}],1188:[function(t,e,r){"use strict";var n=t("./convert"),a=t("../../plots/mapbox/constants").traceLayerPrefix,i=["fill","line","circle","symbol"];function o(t,e){this.type="scattermapbox",this.subplot=t,this.uid=e,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol"},this.below=null}var s=o.prototype;s.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},s.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},s.addLayer=function(t,e,r){this.subplot.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint},r)},s.update=function(t){var e,r,a,o=this.subplot,s=o.map,l=n(o.gd,t),c=o.belowLookup["trace-"+this.uid];if(c!==this.below){for(e=i.length-1;e>=0;e--)r=i[e],s.removeLayer(this.layerIds[r]);for(e=0;e=0;e--){var r=i[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=e[0].trace,a=new o(t,r.uid),s=n(t.gd,e),l=a.below=t.belowLookup["trace-"+r.uid],c=0;c")}}e.exports={hoverPoints:function(t,e,r,i){var o=n(t,e,r,i);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,a(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:a}},{"../scatter/hover":1129}],1195:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:t("../../plots/polar"),categories:["polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":828,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1190,"./calc":1191,"./defaults":1192,"./format_labels":1193,"./hover":1194,"./plot":1196}],1196:[function(t,e,r){"use strict";var n=t("../scatter/plot"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){for(var i=e.layers.frontplot.select("g.scatterlayer"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!f.fill2d&&(f.fill2d=!0),y.marker&&!f.scatter2d&&(f.scatter2d=!0),y.line&&!f.line2d&&(f.line2d=!0),y.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(y.line),f.fillOptions.push(y.fill),f.markerOptions.push(y.marker),f.markerSelectedOptions.push(y.markerSel),f.markerUnselectedOptions.push(y.markerUnsel),f.textOptions.push(y.text),f.textSelectedOptions.push(y.textSel),f.textUnselectedOptions.push(y.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=k,d.rawx=w,d.rawy=k,d.r=v,d.theta=m,d.positions=_,d._scene=f,d.index=f.count,f.count++}}),i(t,e,r)}}},{"../../lib":716,"../scattergl/constants":1171,"../scattergl/convert":1172,"../scattergl/plot":1178,"../scattergl/scene_update":1179,"fast-isnumeric":227,"point-cluster":470}],1204:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=i.marker,h=i.line,f=u.line;e.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:c({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),texttemplate:a({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:c({},i.hovertext,{}),line:{color:h.color,width:h.width,dash:l,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:i.connectgaps,cliponaxis:i.cliponaxis,fill:c({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:i.fillcolor,marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:c({},o.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:i.hoveron,hovertemplate:n()}},{"../../components/colorscale/attributes":598,"../../components/drawing/attributes":611,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1205:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../scatter/colorscale_calc"),i=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=["a","b","c"],c={a:["b","c"],b:["a","c"],c:["a","b"]};e.exports=function(t,e){var r,u,h,f,p,d,g=t._fullLayout[e.subplot].sum,v=e.sum||g,m={a:e.a,b:e.b,c:e.c};for(r=0;r"),o.hovertemplate=f.hovertemplate,i}function x(t,e){m.push(t._hovertitle+": "+e)}}},{"../scatter/hover":1129}],1210:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scatterternary",basePlotModule:t("../../plots/ternary"),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/ternary":841,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1204,"./calc":1205,"./defaults":1206,"./event_data":1207,"./format_labels":1208,"./hover":1209,"./plot":1211}],1211:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var a=e.plotContainer;a.select(".scatterlayer").selectAll("*").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:a,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,i,r,o)}},{"../scatter/plot":1138}],1212:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../scattergl/attributes"),s=t("../../plots/cartesian/constants").idRegex,l=t("../../plot_api/plot_template").templatedArray,c=t("../../lib/extend").extendFlat,u=n.marker,h=u.line,f=c(a("marker.line",{editTypeOverride:"calc"}),{width:c({},h.width,{editType:"calc"}),editType:"calc"}),p=c(a("marker"),{symbol:u.symbol,size:c({},u.size,{editType:"markerSize"}),sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:f,editType:"calc"});function d(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:s[t],editType:"plot"}}}p.color.editType=p.cmin.editType=p.cmax.editType="style",e.exports={dimensions:l("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:c({},o.text,{}),hovertext:c({},o.hovertext,{}),hovertemplate:i(),marker:p,xaxes:d("x"),yaxes:d("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:o.selected.marker,editType:"calc"},unselected:{marker:o.unselected.marker,editType:"calc"},opacity:o.opacity}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/template_attributes":840,"../scatter/attributes":1118,"../scattergl/attributes":1169}],1213:[function(t,e,r){"use strict";var n=t("regl-line2d"),a=t("../../registry"),i=t("../../lib/prepare_regl"),o=t("../../plots/get_data").getModuleCalcData,s=t("../../plots/cartesian"),l=t("../../plots/cartesian/axis_ids").getFromId,c=t("../../plots/cartesian/axes").shouldShowZeroLine,u="splom";function h(t,e,r){for(var n=r.matrixOptions.data.length,a=e._visibleDims,i=r.viewOpts.ranges=new Array(n),o=0;of?2*(b.sizeAvg||Math.max(b.size,3)):i(e,x),p=0;pi&&l?r._splomSubplots[S]=1:a-1,A=!0;if("lasso"===y||"select"===y||!!f.selectedpoints||T){var M=f._length;if(f.selectedpoints){d.selectBatch=f.selectedpoints;var S=f.selectedpoints,E={};for(s=0;sd[m-1]?"-":"+")+"x")).replace("y",(g[0]>g[m-1]?"-":"+")+"y")).replace("z",(v[0]>v[m-1]?"-":"+")+"z");var V=function(){m=0,B=[],N=[],j=[]};(!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,a=t.dataScale,u=e._len,h={};function d(t,e){var n=r[e],o=a[c[e]];return i.simpleMap(t,function(t){return n.d2l(t)*o})}if(h.vectors=l(d(e.u,"xaxis"),d(e.v,"yaxis"),d(e.w,"zaxis"),u),!u)return{positions:[],cells:[]};var g=d(e._Xs,"xaxis"),v=d(e._Ys,"yaxis"),m=d(e._Zs,"zaxis");h.meshgrid=[g,v,m],h.gridFill=e._gridFill;var y=e._slen;if(y)h.startingPositions=l(d(e.starts.x.slice(0,y),"xaxis"),d(e.starts.y.slice(0,y),"yaxis"),d(e.starts.z.slice(0,y),"zaxis"));else{for(var x=v[0],b=f(g),_=f(m),w=new Array(b.length*_.length),k=0,T=0;T=0};v?(r=Math.min(g.length,y.length),l=function(t){return T(g[t])&&A(t)},u=function(t){return String(g[t])}):(r=Math.min(m.length,y.length),l=function(t){return T(m[t])&&A(t)},u=function(t){return String(m[t])}),b&&(r=Math.min(r,x.length));for(var M=0;M1){for(var C=i.randstr(),P=0;P<_.length;P++)""===_[P].pid&&(_[P].pid=C);_.unshift({hasMultipleRoots:!0,id:C,pid:"",label:""})}}else{var O,z=[];for(O in w)k[O]||z.push(O);if(1!==z.length)return i.warn("Multiple implied roots, cannot build "+e.type+" hierarchy.");O=z[0],_.unshift({hasImpliedRoot:!0,id:O,pid:"",label:O})}try{p=n.stratify().id(function(t){return t.id}).parentId(function(t){return t.pid})(_)}catch(t){return i.warn("Failed to build "+e.type+" hierarchy. Error: "+t.message)}var I=n.hierarchy(p),D=!1;if(b)switch(e.branchvalues){case"remainder":I.sum(function(t){return t.data.v});break;case"total":I.each(function(t){var e=t.data.data,r=e.v;if(t.children){var n=t.children.reduce(function(t,e){return t+e.data.data.v},0);if((e.hasImpliedRoot||e.hasMultipleRoots)&&(r=n),r"),name:T||z("name")?l.name:void 0,color:k("hoverlabel.bgcolor")||y.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:T,hovertemplateLabels:C,eventData:[h(a,l,f.eventDataKeys)]};v&&(R.x0=S-a.rInscribed*a.rpx1,R.x1=S+a.rInscribed*a.rpx1,R.idealAlign=a.pxmid[0]<0?"left":"right"),m&&(R.x=S,R.idealAlign=S<0?"left":"right"),o.loneHover(R,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}),d._hasHoverLabel=!0}if(m){var F=t.select("path.surface");f.styleOne(F,a,l,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:[h(a,l,f.eventDataKeys)],event:n.event})}}),t.on("mouseout",function(e){var a=r._fullLayout,i=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[h(s,i,f.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(a._hoverlayer.node()),d._hasHoverLabel=!1),m){var l=t.select("path.surface");f.styleOne(l,s,i,{hovered:!1})}}),t.on("click",function(t){var e=r._fullLayout,i=r._fullData[d.index];if(!1===l.triggerHandler(r,"plotly_"+d.type+"click",{points:[h(t,i,f.eventDataKeys)],event:n.event})||v&&(c.isHierarchyRoot(t)||c.isLeaf(t)))e.hovermode&&(r._hoverdata=[h(t,i,f.eventDataKeys)],o.click(r,n.event));else if(!r._dragging&&!r._transitioning){a.call("_storeDirectGUIEdit",i,e._tracePreGUI[i.uid],{level:i.level});var s=c.getPtId(t),u=c.isEntry(t)?c.findEntryWithChild(g,s):c.findEntryWithLevel(g,s),p={data:[{level:c.getPtId(u)}],traces:[d.index]},m={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),a.call("animate",r,p,m)}})}},{"../../components/fx":629,"../../components/fx/helpers":626,"../../lib":716,"../../lib/events":706,"../../registry":845,"../pie/helpers":1097,"./helpers":1234,d3:164}],1234:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../lib/setcursor"),o=t("../pie/helpers");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter(function(t){if(r.getPtId(t)===e)return n=t.copy()}),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter(function(t){for(var a=t.children||[],i=0;i0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var a=e?[n.data[e]]:[n];return r.listPath(n,e).concat(a)},r.getPath=function(t){return r.listPath(t,"label").join("/")+"/"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},{"../../components/color":591,"../../lib":716,"../../lib/setcursor":736,"../pie/helpers":1097}],1235:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"sunburst",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1136,"./attributes":1228,"./base_plot":1229,"./calc":1230,"./defaults":1232,"./layout_attributes":1236,"./layout_defaults":1237,"./plot":1238,"./style":1239}],1236:[function(t,e,r){"use strict";e.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1237:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},{"../../lib":716,"./layout_attributes":1236}],1238:[function(t,e,r){"use strict";var n=t("d3"),a=t("d3-hierarchy"),i=t("../../components/drawing"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../pie/plot").transformInsideText,c=t("./style").styleOne,u=t("./fx"),h=t("./constants"),f=t("./helpers");function p(t,e,p,d){var g=t._fullLayout,v=f.hasTransition(d),m=n.select(p).selectAll("g.slice"),y=e[0],x=y.trace,b=y.hierarchy,_=f.findEntryWithLevel(b,x.level),w=f.getMaxDepth(x),k=g._size,T=x.domain,A=k.w*(T.x[1]-T.x[0]),M=k.h*(T.y[1]-T.y[0]),S=.5*Math.min(A,M),E=y.cx=k.l+k.w*(T.x[1]+T.x[0])/2,L=y.cy=k.t+k.h*(1-T.y[0])-M/2;if(!_)return m.remove();var C=null,P={};v&&m.each(function(t){P[f.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!C&&f.isEntry(t)&&(C=t)});var O=function(t){return a.partition().size([2*Math.PI,t.height+1])(t)}(_).descendants(),z=_.height+1,I=0,D=w;y.hasMultipleRoots&&f.isHierarchyRoot(_)&&(O=O.slice(1),z-=1,I=1,D+=1),O=O.filter(function(t){return t.y1<=D});var R=Math.min(z,w),F=function(t){return(t-I)/R*S},B=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},N=function(t){return o.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,E,L)},j=function(t){return E+t.pxmid[0]*t.transform.rCenter+(t.transform.x||0)},V=function(t){return L+t.pxmid[1]*t.transform.rCenter+(t.transform.y||0)};(m=m.data(O,f.getPtId)).enter().append("g").classed("slice",!0),v?m.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=f.getPtId(t),a=P[r],i=P[f.getPtId(_)];if(i){var o=t.x1>i.x1?2*Math.PI:0;e=t.rpx1U?2*Math.PI:0;e={x0:i,x1:i}}else e={rpx0:S,rpx1:S},o.extendFlat(e,G(t));else e={rpx0:0,rpx1:0};else e={x0:0,x1:0};return n.interpolate(e,a)}(t);return function(t){return N(e(t))}}):d.attr("d",N),p.call(u,_,t,e,{eventDataKeys:h.eventDataKeys,transitionTime:h.CLICK_TRANSITION_TIME,transitionEasing:h.CLICK_TRANSITION_EASING}).call(f.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),d.call(c,a,x);var m=o.ensureSingle(p,"g","slicetext"),b=o.ensureSingle(m,"text","",function(t){t.attr("data-notex",1)});b.text(r.formatSliceLabel(a,_,x,e,g)).classed("slicetext",!0).attr("text-anchor","middle").call(i.font,f.determineTextFont(x,a,g.font)).call(s.convertToTspans,t);var w=i.bBox(b.node());a.transform=l(w,a,y),a.translateX=j(a),a.translateY=V(a);var k=function(t,e){return"translate("+t.translateX+","+t.translateY+")"+(t.transform.scale<1?"scale("+t.transform.scale+")":"")+(t.transform.rotate?"rotate("+t.transform.rotate+")":"")+"translate("+-(e.left+e.right)/2+","+-(e.top+e.bottom)/2+")"};v?b.transition().attrTween("transform",function(t){var e=function(t){var e,r=P[f.getPtId(t)],a=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{scale:0,rotate:a.rotate,rCenter:a.rCenter,x:a.x,y:a.y}},C)if(t.parent)if(U){var i=t.x1>U?2*Math.PI:0;e.x0=e.x1=i}else o.extendFlat(e,G(t));else e.x0=e.x1=0;else e.x0=e.x1=0;var s=n.interpolate(e.rpx1,t.rpx1),l=n.interpolate(e.x0,t.x0),c=n.interpolate(e.x1,t.x1),u=n.interpolate(e.transform.scale,a.scale),h=n.interpolate(e.transform.rotate,a.rotate),p=0===a.rCenter?3:0===e.transform.rCenter?1/3:1,d=n.interpolate(e.transform.rCenter,a.rCenter);return function(t){var e=s(t),r=l(t),n=c(t),i=function(t){return d(Math.pow(t,p))}(t),o={pxmid:B(e,(r+n)/2),transform:{rCenter:i,x:a.x,y:a.y}},f={rpx1:s(t),translateX:j(o),translateY:V(o),transform:{scale:u(t),rotate:h(t),rCenter:i}};return f}}(t);return function(t){return k(e(t),w)}}):b.attr("transform",k(a,w))})}r.plot=function(t,e,r,a){var i,o,s=t._fullLayout._sunburstlayer,l=!r,c=f.hasTransition(r);((i=s.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"),i.order(),c)?(a&&(o=a()),n.transition().duration(r.duration).ease(r.easing).each("end",function(){o&&o()}).each("interrupt",function(){o&&o()}).each(function(){s.selectAll("g.trace").each(function(e){p(t,e,this,r)})})):i.each(function(e){p(t,e,this,r)});l&&i.exit().remove()},r.formatSliceLabel=function(t,e,r,n,a){var i=r.texttemplate,s=r.textinfo;if(!(i||s&&"none"!==s))return"";var l=a.separators,c=n[0],u=t.data.data,h=c.hierarchy,p=f.isHierarchyRoot(t),d=f.getParent(h,t),g=f.getValue(t);if(!i){var v,m=s.split("+"),y=function(t){return-1!==m.indexOf(t)},x=[];if(y("label")&&u.label&&x.push(u.label),u.hasOwnProperty("v")&&y("value")&&x.push(f.formatValue(u.v,l)),!p){y("current path")&&x.push(f.getPath(t.data));var b=0;y("percent parent")&&b++,y("percent entry")&&b++,y("percent root")&&b++;var _=b>1;if(b){var w,k=function(t){v=f.formatPercent(w,l),_&&(v+=" of "+t),x.push(v)};y("percent parent")&&!p&&(w=g/f.getValue(d),k("parent")),y("percent entry")&&(w=g/f.getValue(e),k("entry")),y("percent root")&&(w=g/f.getValue(h),k("root"))}}return y("text")&&(v=o.castOption(r,u.i,"text"),o.isValidTextValue(v)&&x.push(v)),x.join("
")}var T=o.castOption(r,u.i,"texttemplate");if(!T)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=f.formatValue(u.v,l)),A.currentPath=f.getPath(t.data),p||(A.percentParent=g/f.getValue(d),A.percentParentLabel=f.formatPercent(A.percentParent,l),A.parent=f.getPtLabel(d)),A.percentEntry=g/f.getValue(e),A.percentEntryLabel=f.formatPercent(A.percentEntry,l),A.entry=f.getPtLabel(e),A.percentRoot=g/f.getValue(h),A.percentRootLabel=f.formatPercent(A.percentRoot,l),A.root=f.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=o.castOption(r,u.i,"text");return(o.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=o.castOption(r,u.i,"customdata"),o.texttemplateString(T,A,a._d3locale,A,r._meta||{})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../pie/plot":1101,"./constants":1231,"./fx":1233,"./helpers":1234,"./style":1239,d3:164,"d3-hierarchy":158}],1239:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../lib");function o(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=i.castOption(r,s,"marker.line.color")||a.defaultLine,c=i.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",c).call(a.fill,n.color).call(a.stroke,l).style("opacity",o?r.leaf.opacity:null)}e.exports={style:function(t){t._fullLayout._sunburstlayer.selectAll(".trace").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(o,t,r)})})},styleOne:o}},{"../../components/color":591,"../../lib":716,d3:164}],1240:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").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 u=e.exports=l(s({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:i(),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},a("",{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},_deprecated:{zauto:s({},a.zauto,{}),zmin:s({},a.zmin,{}),zmax:s({},a.zmax,{})},hoverinfo:s({},o.hoverinfo)}),"calc","nested");u.x.editType=u.y.editType=u.z.editType="calc+clearAxisTypes",u.transforms=void 0},{"../../components/color":591,"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840}],1241:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1242:[function(t,e,r){"use strict";var n=t("gl-surface3d"),a=t("ndarray"),i=t("ndarray-homography"),o=t("ndarray-fill"),s=t("../../lib").isArrayOrTypedArray,l=t("../../lib/gl_format_color").parseColorScale,c=t("../../lib/str2rgbarray"),u=t("../../components/colorscale").extractOpts,h=t("../heatmap/interp2d"),f=t("../heatmap/find_empties");function p(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 d=p.prototype;d.getXat=function(t,e,r,n){var a=s(this.data.x)?s(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?a:n.d2l(a,0,r)},d.getYat=function(t,e,r,n){var a=s(this.data.y)?s(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?a:n.d2l(a,0,r)},d.getZat=function(t,e,r,n){var a=this.data.z[e][t];return null===a&&this.data.connectgaps&&this.data._interpolatedZ&&(a=this.data._interpolatedZ[e][t]),void 0===r?a:n.d2l(a,0,r)},d.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),a=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,a],t.traceCoordinate=[this.getXat(n,a),this.getYat(n,a),this.getZat(n,a)],t.dataCoordinate=[this.getXat(n,a,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,a,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,a,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var i=0;i<3;i++){var o=t.dataCoordinate[i];null!=o&&(t.dataCoordinate[i]*=this.scene.dataScale[i])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[a]&&void 0!==s[a][n]?t.textLabel=s[a][n]:t.textLabel=s||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var g=[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=g[n];break}return r}function x(t,e){if(!(t<1||e<1)){for(var r=m(t),n=m(e),a=1,i=0;iw;)r--,r/=y(r),++r<_&&(r=w);var n=Math.round(r/t);return n>1?n:1},d.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],o=t[0].shape[1],s=0|Math.floor(t[0].shape[0]*e+1),l=0|Math.floor(t[0].shape[1]*r+1),c=1+n+1,u=1+o+1,h=a(new Float32Array(c*u),[c,u]),f=0;f0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(a[t]=!0,e=this.contourStart[t];ei&&(this.minValues[e]=i),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"}}},{}],1249:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib/extend").extendFlat,i=t("fast-isnumeric");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r=e||c===t.length-1)&&(n[a]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},a+=i,s=c+1,i=0);return n}e.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 g=d.concat(p(r).map(function(){return c((d[0]||[""]).length)})),v=e.domain,m=Math.floor(t._fullLayout._size.w*(v.x[1]-v.x[0])),y=Math.floor(t._fullLayout._size.h*(v.y[1]-v.y[0])),x=e.header.values.length?g[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=f(b,y-_+n.uplift),k=h(f(x,_),[]),T=h(w,k),A={},M=e._fullInput.columnorder.concat(p(r.map(function(t,e){return e}))),S=g.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return i(n)?Number(n):1}),E=S.reduce(s,0);S=S.map(function(t){return t/E*m});var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:v.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-v.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:L,height:y,columnOrder:M,groupHeight:y,rowBlocks:T,headerRowBlocks:k,scrollY:0,cells:a({},e.cells,{values:r}),headerCells:a({},e.header,{values:g}),gdColumns:g.map(function(t){return t[0]}),gdColumnsOriginalOrder:g.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.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:u,x:void 0,calcdata:void 0,columnWidth:S[e]}})};return C.columns.forEach(function(t){t.calcdata=C,t.x=u(t)}),C}},{"../../lib/extend":707,"./constants":1248,"fast-isnumeric":227}],1250:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat;r.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]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(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}})}},{"../../lib/extend":707}],1251:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}i(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,a=r.slice(0,n),i=a.slice().sort(function(t,e){return t-e}),o=a.map(function(t){return i.indexOf(t)}),s=o.length;s/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var c,u="string"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var h,f,p=u?"":_(t.calcdata.cells.prefix,e,r)||"",d=u?"":_(t.calcdata.cells.suffix,e,r)||"",g=u?null:_(t.calcdata.cells.format,e,r)||null,v=p+(g?a.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(h=b(v)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===h?b(v):h),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var m=(" "===n.wrapSplitCharacter?v.replace(/a&&n.push(i),a+=l}return n}(a,l,s);1===c.length&&(c[0]===a.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each(function(t,e){t.page=c[e],t.scrollY=l}),e.attr("transform",function(t){return"translate(0 "+(z(t.rowBlocks,t.page)-t.scrollY)+")"}),t&&(E(t,r,e,c,n.prevPages,n,0),E(t,r,e,c,n.prevPages,n,1),m(r,t))}}function S(t,e,r,i){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter(function(t){return s.key===t.key}),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===i?s.scrollY+c*a.event.dy:i;var h=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(k);return M(t,h,l),s.scrollY===u}}function E(t,e,r,n,a,i,o){n[o]!==a[o]&&(clearTimeout(i.currentRepaint[o]),i.currentRepaint[o]=setTimeout(function(){var i=r.filter(function(t,e){return e===o&&n[e]!==a[e]});y(t,e,i,r),a[o]=n[o]}))}function L(t,e,r,i){return function(){var o=a.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,a,i=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(a=(r=s.shift()).width+i)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=a;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),o.selectAll("tspan.line").remove(),x(o.select("."+n.cn.cellText),r,t,i),a.select(e.parentNode.parentNode).call(O)}}function C(t,e,r,i,o){return function(){if(!o.settledY){var s=a.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,f=Math.max(h,u);f-l.rows[c].rowHeight&&(l.rows[c].rowHeight=f,t.selectAll("."+n.cn.columnCell).call(O),M(null,t.filter(k),0),m(r,i,!0)),s.attr("transform",function(){var t=this.parentNode.getBoundingClientRect(),e=a.select(this.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),i=e.top-t.top+(r?r.matrix.f:n.cellPad);return"translate("+P(o,a.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width)+" "+i+")"}),o.settledY=!0}}}function P(t,e){switch(t.align){case"left":return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function O(t){t.attr("transform",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+I(e,1/0)},0);return"translate(0 "+(I(R(t),t.key)+e)+")"}).selectAll("."+n.cn.cellRect).attr("height",function(t){return(e=R(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+=D(t[n]);return r}function I(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:a({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont: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"},domain:o({name:"treemap",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092,"../sunburst/attributes":1228,"./constants":1257}],1255:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="treemap",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1256:[function(t,e,r){"use strict";var n=t("../sunburst/calc");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc("treemap",t)}},{"../sunburst/calc":1230}],1257:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},{}],1258:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../components/color"),o=t("../../plots/domain").defaults,s=t("../bar/defaults").handleText,l=t("../bar/constants").TEXTPAD,c=t("../../components/colorscale"),u=c.hasColorscale,h=c.handleDefaults;e.exports=function(t,e,r,c){function f(r,i){return n.coerce(t,e,a,r,i)}var p=f("labels"),d=f("parents");if(p&&p.length&&d&&d.length){var g=f("values");g&&g.length?f("branchvalues"):f("count"),f("level"),f("maxdepth"),"squarify"===f("tiling.packing")&&f("tiling.squarifyratio"),f("tiling.flip"),f("tiling.pad");var v=f("text");f("texttemplate"),e.texttemplate||f("textinfo",Array.isArray(v)?"text+label":"label"),f("hovertext"),f("hovertemplate");s(t,e,c,f,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),f("textposition");var m=-1!==e.textposition.indexOf("bottom");f("marker.line.width")&&f("marker.line.color",c.paper_bgcolor);var y=f("marker.colors"),x=e._hasColorscale=u(t,"marker","colors");x?h(t,e,c,f,{prefix:"marker.",cLetter:"c"}):f("marker.depthfade",!(y||[]).length);var b=2*e.textfont.size;f("marker.pad.t",m?b/4:b),f("marker.pad.l",b/4),f("marker.pad.r",b/4),f("marker.pad.b",m?b:b/4),x&&h(t,e,c,f,{prefix:"marker.",cLetter:"c"}),e._hovered={marker:{line:{width:2,color:i.contrast(c.paper_bgcolor)}}},f("pathbar.visible")&&(n.coerceFont(f,"pathbar.textfont",c.font),f("pathbar.thickness",e.pathbar.textfont.size+2*l),f("pathbar.side"),f("pathbar.edgeshape")),o(e,c,f),e._length=null}else e.visible=!1}},{"../../components/color":591,"../../components/colorscale":603,"../../lib":716,"../../plots/domain":789,"../bar/constants":857,"../bar/defaults":859,"./attributes":1254}],1259:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),h=t("../sunburst/fx");e.exports=function(t,e,r,f,p){var d=p.barDifY,g=p.width,v=p.height,m=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,k=p.handleSlicesExit,T=p.makeUpdateSliceInterpolator,A=p.makeUpdateTextInterpolator,M={},S=t._fullLayout,E=e[0],L=E.trace,C=E.hierarchy,P=g/L._entryDepth,O=u.listPath(r.data,"id"),z=s(C.copy(),[g,v],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter(function(t){var e=O.indexOf(t.data.id);return-1!==e&&(t.x0=P*e,t.x1=P*(e+1),t.y0=d,t.y1=d+v,t.onPathbar=!0,!0)})).reverse(),(f=f.data(z,u.getPtId)).enter().append("g").classed("pathbar",!0),k(f,!0,M,[g,v],x),f.order();var I=f;w&&(I=I.transition().each("end",function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),I.each(function(s){s._hoverX=m(s.x1-v/2),s._hoverY=y(s.y1-v/2);var f=n.select(this),p=a.ensureSingle(f,"path","surface",function(t){t.style("pointer-events","all")});w?p.transition().attrTween("d",function(t){var e=T(t,!0,M,[g,v]);return function(t){return x(e(t))}}):p.attr("d",x),f.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),p.call(l,s,L,{hovered:!1}),s._text=(u.getPtLabel(s)||"").split("
").join(" ")||"";var d=a.ensureSingle(f,"g","slicetext"),k=a.ensureSingle(d,"text","",function(t){t.attr("data-notex",1)});k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(i.font,u.determineTextFont(L,s,S.font,L.pathdir)).call(o.convertToTspans,t),s.textBB=i.bBox(k.node()),s.transform=b(s,{onPathbar:!0}),u.isOutsideText(L,s)&&(s.transform.targetY-=u.getOutsideTextFontKey("size",L,s,S.font)-u.getInsideTextFontKey("size",L,s,S.font)),w?k.transition().attrTween("transform",function(t){var e=A(t,!0,M,[g,v]);return function(t){return _(e(t))}}):k.attr("transform",_(s))})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../sunburst/fx":1233,"../sunburst/helpers":1234,"./constants":1257,"./partition":1264,"./style":1266,d3:164}],1260:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),h=t("../sunburst/fx"),f=t("../sunburst/plot").formatSliceLabel;e.exports=function(t,e,r,p,d){var g=d.width,v=d.height,m=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,k=d.handleSlicesExit,T=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=t._fullLayout,E=e[0].trace,L=-1!==E.textposition.indexOf("left"),C=-1!==E.textposition.indexOf("right"),P=-1!==E.textposition.indexOf("bottom"),O=!P&&!E.marker.pad.t||P&&!E.marker.pad.b,z=s(r,[g,v],{packing:E.tiling.packing,squarifyratio:E.tiling.squarifyratio,flipX:E.tiling.flip.indexOf("x")>-1,flipY:E.tiling.flip.indexOf("y")>-1,pad:{inner:E.tiling.pad,top:E.marker.pad.t,left:E.marker.pad.l,right:E.marker.pad.r,bottom:E.marker.pad.b}}).descendants(),I=1/0,D=-1/0;z.forEach(function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(I=Math.min(I,e),D=Math.max(D,e))}),p=p.data(z,u.getPtId),E._maxVisibleLayers=isFinite(D)?D-I+1:0,p.enter().append("g").classed("slice",!0),k(p,!1,{},[g,v],x),p.order();var R=null;if(w&&M){var F=u.getPtId(M);p.each(function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})})}var B=function(){return R||{x0:0,x1:g,y0:0,y1:v}},N=p;return w&&(N=N.transition().each("end",function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(s){var p=u.isHeader(s,E);s._hoverX=m(s.x1-E.marker.pad.r),s._hoverY=y(P?s.y1-E.marker.pad.b/2:s.y0+E.marker.pad.t/2);var d=n.select(this),k=a.ensureSingle(d,"path","surface",function(t){t.style("pointer-events","all")});w?k.transition().attrTween("d",function(t){var e=T(t,!1,B(),[g,v]);return function(t){return x(e(t))}}):k.attr("d",x),d.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=p?O?"":u.getPtLabel(s)||"":f(s,r,E,e,S)||"";var M=a.ensureSingle(d,"g","slicetext"),z=a.ensureSingle(M,"text","",function(t){t.attr("data-notex",1)});z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",C?"end":L||p?"start":"middle").call(i.font,u.determineTextFont(E,s,S.font)).call(o.convertToTspans,t),s.textBB=i.bBox(z.node()),s.transform=b(s,{isHeader:p}),w?z.transition().attrTween("transform",function(t){var e=A(t,!1,B(),[g,v]);return function(t){return _(e(t))}}):z.attr("transform",_(s))}),R}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../sunburst/fx":1233,"../sunburst/helpers":1234,"../sunburst/plot":1238,"./constants":1257,"./partition":1264,"./style":1266,d3:164}],1261:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"treemap",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1136,"./attributes":1254,"./base_plot":1255,"./calc":1256,"./defaults":1258,"./layout_attributes":1262,"./layout_defaults":1263,"./plot":1265,"./style":1266}],1262:[function(t,e,r){"use strict";e.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1263:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("treemapcolorway",e.colorway),r("extendtreemapcolors")}},{"../../lib":716,"./layout_attributes":1262}],1264:[function(t,e,r){"use strict";var n=t("d3-hierarchy");e.exports=function(t,e,r){var a,i=r.flipX,o=r.flipY,s="dice-slice"===r.packing,l=r.pad[o?"bottom":"top"],c=r.pad[i?"right":"left"],u=r.pad[i?"left":"right"],h=r.pad[o?"top":"bottom"];s&&(a=c,c=l,l=a,a=u,u=h,h=a);var f=n.treemap().tile(function(t,e){switch(t){case"squarify":return n.treemapSquarify.ratio(e);case"binary":return n.treemapBinary;case"dice":return n.treemapDice;case"slice":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(c).paddingRight(u).paddingTop(l).paddingBottom(h).size(s?[e[1],e[0]]:e)(t);return(s||i||o)&&function t(e,r,n){var a;n.swapXY&&(a=e.x0,e.x0=e.y0,e.y0=a,a=e.x1,e.x1=e.y1,e.y1=a);n.flipX&&(a=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-a);n.flipY&&(a=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-a);var i=e.children;if(i)for(var o=0;o-1?S+C:-(L+C):0,O={x0:E,x1:E,y0:P,y1:P+L},z=function(t,e,r){var n=g.tiling.pad,a=function(t){return t-n<=e.x0},i=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return{x0:a(t.x0-n)?0:i(t.x0-n)?r[0]:t.x0,x1:a(t.x1+n)?0:i(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}},I=null,D={},R={},F=null,B=function(t,e){return e?D[f(t)]:R[f(t)]},N=function(t,e,r,n){if(e)return D[f(v)]||O;var a=R[g.level]||r;return function(t){return t.data.depth-m.data.depth=(n-=v.r-s)){var m=(r+n)/2;r=m-s,n=m+s}var y;u?a<(y=i-v.b)&&y"===K?(l.x-=i,c.x-=i,u.x-=i,h.x-=i):"/"===K?(u.x-=i,h.x-=i,o.x-=i/2,s.x-=i/2):"\\"===K?(l.x-=i,c.x-=i,o.x-=i/2,s.x-=i/2):"<"===K&&(o.x-=i,s.x-=i),J(l),J(h),J(o),J(c),J(u),J(s),"M"+X(l.x,l.y)+"L"+X(c.x,c.y)+"L"+X(s.x,s.y)+"L"+X(u.x,u.y)+"L"+X(h.x,h.y)+"L"+X(o.x,o.y)+"Z"},toMoveInsideSlice:Q,makeUpdateSliceInterpolator:tt,makeUpdateTextInterpolator:et,handleSlicesExit:rt,hasTransition:w,strTransform:nt})}e.exports=function(t,e,r,i){var o,s,l=t._fullLayout._treemaplayer,c=!r;((o=l.selectAll("g.trace.treemap").data(e,function(t){return t[0].trace.uid})).enter().append("g").classed("trace",!0).classed("treemap",!0),o.order(),a(r))?(i&&(s=i()),n.transition().duration(r.duration).ease(r.easing).each("end",function(){s&&s()}).each("interrupt",function(){s&&s()}).each(function(){l.selectAll("g.trace").each(function(e){p(t,e,this,r)})})):o.each(function(e){p(t,e,this,r)});c&&o.exit().remove()}},{"../../lib":716,"../bar/constants":857,"../bar/plot":866,"../sunburst/helpers":1234,"./constants":1257,"./draw_ancestors":1259,"./draw_descendants":1260,d3:164}],1266:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../lib"),o=t("../sunburst/helpers");function s(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,h=u.i,f=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&"rgba(0,0,0,0)"===f)d=0,s="rgba(0,0,0,0)",l=0;else if(s=i.castOption(r,h,"marker.line.color")||a.defaultLine,l=i.castOption(r,h,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var g=r.marker.depthfade;if(g){var v,m=a.combine(a.addOpacity(r._backgroundColor,.75),f);if(!0===g){var y=o.getMaxDepth(r);v=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else v=e.data.depth-r._entryDepth,r._atRootLevel||v++;if(v>0)for(var x=0;x0){var y,x,b,_,w,k=t.xa,T=t.ya;"h"===f.orientation?(w=e,y="y",b=T,x="x",_=k):(w=r,y="x",b=k,x="y",_=T);var A=h[t.index];if(w>=A.span[0]&&w<=A.span[1]){var M=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,f,w),L=o.getPositionOnKdePath(A,f,S),C=b._offset,P=b._length;M[y+"0"]=L[0],M[y+"1"]=L[1],M[x+"0"]=M[x+"1"]=S,M[x+"Label"]=x+": "+a.hoverLabelText(_,w)+", "+h[0].t.labels.kde+" "+E.toFixed(3),M.spikeDistance=m[0].spikeDistance;var O=y+"Spike";M[O]=m[0][O],m[0].spikeDistance=void 0,m[0][O]=void 0,M.hovertemplate=!1,v.push(M),(u={stroke:t.color})[y+"1"]=n.constrain(C+L[0],C,C+P),u[y+"2"]=n.constrain(C+L[1],C,C+P),u[x+"1"]=u[x+"2"]=_._offset+S}}d&&(v=v.concat(m))}-1!==p.indexOf("points")&&(c=i.hoverOnPoints(t,e,r));var z=l.selectAll(".violinline-"+f.uid).data(u?[0]:[]);return z.enter().append("line").classed("violinline-"+f.uid,!0).attr("stroke-width",1.5),z.exit().remove(),z.attr(u),"closest"===s?c?[c]:v:c?(v.push(c),v):v}},{"../../lib":716,"../../plots/cartesian/axes":764,"../box/hover":884,"./helpers":1271}],1273:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../box/defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../box/select"),moduleType:"trace",name:"violin",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../box/defaults":882,"../box/select":889,"../scatter/style":1141,"./attributes":1267,"./calc":1268,"./cross_trace_calc":1269,"./defaults":1270,"./hover":1272,"./layout_attributes":1274,"./layout_defaults":1275,"./plot":1276,"./style":1277}],1274:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),a=t("../../lib").extendFlat;e.exports={violinmode:a({},n.boxmode,{}),violingap:a({},n.boxgap,{}),violingroupgap:a({},n.boxgroupgap,{})}},{"../../lib":716,"../box/layout_attributes":886}],1275:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes"),i=t("../box/layout_defaults");e.exports=function(t,e,r){i._supply(t,e,r,function(r,i){return n.coerce(t,e,a,r,i)},"violin")}},{"../../lib":716,"../box/layout_defaults":887,"./layout_attributes":1274}],1276:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../box/plot"),s=t("../scatter/line_points"),l=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,h=e.xaxis,f=e.yaxis;function p(t){var e=s(t,{xaxis:h,yaxis:f,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return i.smoothopen(e[0],1)}a.makeTraceGroups(c,r,"trace violins").each(function(t){var r=n.select(this),i=t[0],s=i.t,c=i.trace;if(!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,g=s.bdPos,v=e[s.valLetter+"axis"],m=e[s.posLetter+"axis"],y="both"===c.side,x=y||"positive"===c.side,b=y||"negative"===c.side,_=r.selectAll("path.violin").data(a.identity);_.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),_.exit().remove(),_.each(function(t){var e,r,a,i,o,l,h,f,_=n.select(this),w=t.density,k=w.length,T=m.c2l(t.pos+d,!0),A=m.l2p(T);if(c.width)e=s.maxKDE/g;else{var M=u._violinScaleGroupStats[c.scalegroup];e="count"===c.scalemode?M.maxKDE/g*(M.maxCount/t.pts.length):M.maxKDE/g}if(x){for(h=new Array(k),o=0;o")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,i=r.line.color,o=r.line.width;if(a(n))return n;if(a(i)&&o)return i}(h,d),[c]}function w(t){return n(p,t)}}},{"../../components/color":591,"../../constants/delta.js":686,"../../plots/cartesian/axes":764,"../bar/hover":862}],1289:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"waterfall",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../bar/select":867,"./attributes":1282,"./calc":1283,"./cross_trace_calc":1285,"./defaults":1286,"./event_data":1287,"./hover":1288,"./layout_attributes":1290,"./layout_defaults":1291,"./plot":1292,"./style":1293}],1290:[function(t,e,r){"use strict";e.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"}}},{}],1291:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s0&&(g+=h?"M"+u[0]+","+p[1]+"V"+p[0]:"M"+u[1]+","+p[0]+"H"+u[0]),"between"!==f&&(r.isSum||o path").each(function(t){if(!t.isBlank){var e=l[t.dir].marker;n.select(this).call(i.fill,e.color).call(i.stroke,e.line.color).call(a.dashLine,e.line.dash,e.line.width).style("opacity",l.selectedpoints&&!t.selected?o:1)}}),s(r,l,t),r.selectAll(".lines").each(function(){var t=l.connector.line;a.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)})})}}},{"../../components/color":591,"../../components/drawing":612,"../../constants/interactions":691,"../bar/style":869,d3:164}],1294:[function(t,e,r){"use strict";var n=t("../plots/cartesian/axes"),a=t("../lib"),i=t("../plot_api/plot_schema"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/numerical").BADNUM;r.moduleType="transform",r.name="aggregate";var l=r.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"},c=l.aggregations;function u(t,e,r,i){if(i.enabled){for(var o=i.target,l=a.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return h;case"first":return f;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=u,o=c)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return f(t)>s};case">=":return function(t){return f(t)>=s};case"[]":return function(t){var e=f(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=f(t);return e>s[0]&&e=s[0]&&es[0]&&e<=s[1]};case"][":return function(t){var e=f(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=f(t);return es[1]};case"](":return function(t){var e=f(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=f(t);return e=s[1]};case"{}":return function(t){return-1!==s.indexOf(f(t))};case"}{":return function(t){return-1===s.indexOf(f(t))}}}(r,i.getDataToCoordFunc(t,e,s,a),f),x={},b={},_=0;d?(v=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},m=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(v=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},m=function(t,e){var r=x[t.astr][e];t.get().push(r)}),T(v);for(var w=o(e.transforms,r),k=0;k1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(i=0;i + +@def hascode=true + +# Tricks with code evaluation + +\blurb{Franklin's recursive nature coupled with code evaluation allows for neat and useful tricks.} + +\lineskip + +\toc + +The basic idea is to exploit the fact that the output of a Julia code block evaluated by Franklin can be re-processed as Franklin Markdow when using the `\textoutput` command; this offers a wide range of possibilities best shown through a few examples (more or less in increasing degree of sophistication). + +## Generating a table + +### Preview + +```julia:table +#hideall +names = (:Taimur, :Catherine, :Maria, :Arvind, :Jose, :Minjie) +numbers = (1525, 5134, 4214, 9019, 8918, 5757) +println("@@simple-table") +println("Name | Number") +println(":--- | :---") +println.("$name | $number" for (name, number) in zip(names, numbers)) +println("@@") +raw""" +~~~ + +~~~ +""" |> println +``` + +\textoutput{table} + +### Code + +That can be obtained with: + +`````plaintext +```julia:table +#hideall +names = (:Taimur, :Catherine, :Maria, :Arvind, :Jose, :Minjie) +numbers = (1525, 5134, 4214, 9019, 8918, 5757) +println("Name | Number") +println(":--- | :---") +println.("$name | $number" for (name, number) in zip(names, numbers)) +``` + +\textoutput{table} +````` + +The code block will be executed and not shown (`#hideall`) generating a table line by line. +In practice, the code generates the markdown + +```markdown +Name | Number +:--- | :--- +Bob | 1525 +... +Minjie | 5757 +``` + +which is captured and reprocessed by the `\textoutput` command. + +This can be used effectively when combined with reading data files etc. and of course you could do further CSS styling of the table. + +## Colourful circles + +The trick can be used to generate SVG code too. + +### Preview + +\newcommand{\circle}[1]{~~~~~~} + +```julia:circles +#hideall +colors=(:pink, :lightpink, :hotpink, :deeppink, :mediumvioletred, :palevioletred, :coral, :tomato, :orangered, :darkorange, :orange, :gold, :yellow) +print("@@ccols ") +print.("\\circle{$c}" for c in colors) +println("@@") +``` + +\textoutput{circles} + +### Code + +That can obtained with (see detailed explanations further below) + +```html +\newcommand{\circle}[1]{ + ~~~ + + + ~~~ +} +``` + +and + +`````plaintext +```julia:circles +#hideall +colors=(:pink, :lightpink, :hotpink, :deeppink, + :mediumvioletred, :palevioletred, :coral, + :tomato, :orangered, :darkorange, :orange, + :gold, :yellow) +print("@@ccols ") +print.("\\circle{$c}" for c in colors) +println("@@") +``` +\textoutput{circles} +````` + + +The first part defines a command `\circle` which takes one argument for the fill colour and inserts SVG code for a circle with that colour. + +The second part is a Julia code block which will be evaluated but not displayed on the page (since there is a `#hideall`). +The code loops over the each colour `c` and prints `\circle{c}` so that the code block effectively generates: + +```plaintext +@@ccols \circle{pink}...\circle{yellow}@@ +``` + +this output is then captured and reprocessed with the `\textoutput{snippet}` command. + +The last thing to do is to style the `colors` div appropriately: + +```css +.ccols { + margin-top:1.5em; + margin-bottom:1.5em; + margin-left:auto; + margin-right:auto; + width: 60%; + text-align: center;} +.ccols svg { + width:30px;} +``` + +## Team cards + +You may want to have a page with responsive team cards for instance where every card would follow the same layout but the content would be different. +There are multiple ways you can do this with Franklin and a simple one below (adapted from [this tutorial](https://www.w3schools.com/howto/howto_css_team.asp)). +The advantage of doing something like this is that it can help separate the content from the layout making both arguably easier more maintainable. + +### Preview + +\newcommand{\card}[5]{ + @@card + ![#1](/assets/img/team/!#2.jpg) + @@container + ~~~ +

#1

+ ~~~ + @@title #3 @@ + @@vitae #4 @@ + @@email #5 @@ + ~~~ +

+ ~~~ + @@ + @@ +} + +```julia:teamcards +#hideall +team = [ + (name="Jane Doe", pic="beth", title="CEO & Founder", vitae="Phasellus eget enim eu lectus faucibus vestibulum", email="example@example.com"), + (name="Mike Ross", pic="rick", title="Art Director", vitae="Phasellus eget enim eu lectus faucibus vestibulum", email="example@example.com"), + (name="John Doe", pic="meseeks", title="Designer", vitae="Phasellus eget enim eu lectus faucibus vestibulum", email="example@example.com") + ] + +"@@cards @@row" |> println +for person in team + """ + @@column + \\card{$(person.name)}{$(person.pic)}{$(person.title)}{$(person.vitae)}{$(person.email)} + @@ + """ |> println +end +println("@@ @@") # end of cards + row + +raw""" +~~~ + +~~~ +""" |> println +``` + +\textoutput{teamcards} + +### Code + +In order to do this you could first define a `\card` command: + +```html +\newcommand{\card}[5]{ + @@card + ![#1](/assets/img/team/!#2.jpg) + @@container + ~~~ +

#1

+ ~~~ + @@title #3 @@ + @@vitae #4 @@ + @@email #5 @@ + ~~~ +

+ ~~~ + @@ + @@ +} +``` + +And then use it in a loop that goes over each person: + +`````plaintext +```julia:teamcards +#hideall +team = [ + (name="Jane Doe", pic="beth", title="CEO & Founder", vitae="Phasellus eget enim eu lectus faucibus vestibulum", email="example@example.com"), + (name="Mike Ross", pic="rick", title="Art Director", vitae="Phasellus eget enim eu lectus faucibus vestibulum", email="example@example.com"), + (name="John Doe", pic="meseeks", title="Designer", vitae="Phasellus eget enim eu lectus faucibus vestibulum", email="example@example.com") + ] + +"@@cards @@row" |> println +for person in team + """ + @@column + \\card{$(person.name)}{$(person.pic)}{$(person.title)}{$(person.vitae)}{$(person.email)} + @@ + """ |> println +end +println("@@ @@") # end of cards + row +``` + +\textoutput{teamcards} +````` + +That's about it! though of course a bit of CSS styling is needed such as: + +```css +.column { + float:left; + width:30%; + margin-bottom:16px; + padding:0 8px; } +@media (max-width:62rem) { + .column { + width:45%; + display:block; } + } +@media (max-width:30rem){ + .column { + width:95%; + display:block;} + } +.card { box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2); } +.card img { + padding-left:0; + width: 100%; } +.container { padding: 0 16px; } +.container::after, .row::after{ + content: ""; + clear: both; + display: table; } +.title { color: grey; } +.vitae { margin-top: 0.5em; } +.email { + font-family: courier; + margin-top: 0.5em; + margin-bottom: 0.5em; } +.button{ + border: none; + outline: 0; + display: inline-block; + padding: 8px; + color: white; + background-color: #000; + text-align: center; + cursor: pointer; + width: 100%; } +.button:hover{ background-color: #555; } +``` + +## Python code blocks + +Using [PyCall.jl](https://github.com/JuliaPy/PyCall.jl) you can evaluate Python code in Julia, and so you can do that in Franklin too. +The code below could definitely be improved and generalised but the point here is to show how things can work together. +You could adapt this to work with something like [RCall.jl](https://github.com/JuliaInterop/RCall.jl) as well. + +\newcommand{\pycode}[2]{ +```julia:!#1 +#hideall +using PyCall +lines = replace("""!#2""", r"(^|\n)([^\n]+)\n?$" => s"\1res = \2") +py""" +$$lines +""" +println(py"res") +``` +```python +#2 +``` +\codeoutput{!#1} +} + +\pycode{py1}{ +import numpy as np +np.random.seed(2) +x = np.random.randn(5) +r = np.linalg.norm(x) / len(x) +np.round(r, 2) +} + +### Code + +We first define a `\pycode` command that takes lines of python code, adds a `res = ` before the last line, runs the lines and finally show `res`. +It also inputs the lines of code in a fenced block. + +`````plaintext +\newcommand{\pycode}[2]{ +```julia:!#1 +#hideall +using PyCall +lines = replace("""!#2""", r"(^|\n)([^\n]+)\n?$" => s"\1res = \2") +py""" +$$lines +""" +println(py"res") +``` +```python +#2 +``` +\codeoutput{!#1} +} +````` + +calling the command is straightforward: + +````` +\pycode{py1}{ + import numpy as np + np.random.seed(2) + x = np.random.randn(5) + r = np.linalg.norm(x) / len(x) + np.round(r, 2) +} +````` diff --git a/code/index.md b/code/index.md new file mode 100644 index 0000000..94efc7b --- /dev/null +++ b/code/index.md @@ -0,0 +1,383 @@ +@def hascode = true + +# Inserting and evaluating code + +\blurb{Franklin makes it easy to insert code and the result of running the code; Julia code can be evaluated on the fly.} + +\lineskip + +\toc + +## Overview + +### Inserting code + +As per Common Mark specifications, you have multiple ways of inserting code: + +* **inline code**: you can use single backticks (\`) or double backticks (\`\`) (if the code contains single ticks) like so: + +`````plaintext +This is some `inline code` or ``inline ` code with a tick``. +````` + +* **code blocks**: it is recommended to use triple backticks (\`\`\`) optionally followed by a language name for highlighting like so: + +````` +This is some julia code: +```julia +a = 2 +@show a +``` +````` + +* **code blocks 2**: you can also use indented code blocks (lines starting with four spaces or a tab) but _fenced code blocks should be preferred_ and you now have to opt-in to use them by setting `@def indented_code = true` + +````` +This is some code: + + a = 2 + @show a +````` + +**Note**: when either using indented code blocks or using fenced code blocks with no language name, then the code language for highlighting can be specified with the local page variable `lang` i.e. `@def lang = "julia"` (which is the default) or `@def lang = ""` if you don't want the code to be highlighted. + +### Evaluating code + +When presenting code in a post, it's often convenient to have a way to check the code works and the output shown corresponds to the code. +In Franklin there are two approaches that help you for this: + +@@tlist +1. For Julia code, a **live-evaluation** of code blocks is supported, +1. For all languages, you can run the script separately and use Franklin to insert the code file and/or the output generated by the code. +@@ + +## Live evaluation (Julia) + +Julia code blocks can be evaluated on the fly and their output either displayed as code or re-interpreted as Markdown. + +\note{ + **Evaluation time**: when a code block is created or modified and the page is saved, it will trigger a page build that will _wait_ for the evaluation of the code block to complete. So if your code block takes a long time to execute, the page will not be updated before that's done. + That being said, if you don't modify the code block, it will only be executed **once** as the output is saved to file. +} + +Code blocks that _should not_ be evaluated should be added as per standard markdown, so for instance: + +````` +```julia +a = 10 +``` +````` + +Code blocks that _should_ be evaluated should be added with `julia:path/to/script` where `path/to/script` indicates _where_ the script corresponding to the code block will be saved (**note**: the given path _must_ be in UNIX format even if you're on Windows) + +````` +```julia:./code/ex1 +a = 10 +@show a +``` +````` + +What this will do is: + +@@tlist +1. write the code to the file `/assets/[subpath]/code/ex1.jl` +1. run the code and capture its output (`STDOUT`) and write it to `/assets/[subpath]/code/output/ex1.out` +@@ + +The `[subpath]` here is the _exact same sub-path structure_ than to the page where the code block is inserted. +To clarify, let's say you wrote the above code-block in + +``` +/folder1/page1.md +``` + +then with the syntax above, the script will be saved in + +``` +/__site/assets/folder1/code/ex1.jl +``` + +### More on paths + +There are three ways you can specify where the script corresponding to a code-block should be saved. + +@@tlist +1. _relative to the page_: `./[p]/script` is as above, it will write the code block to `/assets/[subpath]/p/script.jl` where `subpath` corresponds to the sub-path of the page where the code block is inserted (path below `/src/`) +1. _relative to the assets dir_: `p/script` will write the code block to `/assets/p/script.jl` +1. _full path_: `/p/script` will write the code block to `/p/script.jl` +@@ + +**Note**: when code blocks are evaluated, their output (`STDOUT`) is captured and saved at `[path]/output/script.out` where `[path]` is what precedes `script.jl` in the cases above. + +### Inserting the output + +Let's say you've added the following code block: + +````` +```julia:./code_pg1/ex1 +using LinearAlgebra +a = [1, 2, 3] +@show dot(a, a) +``` +````` + +In order to show the raw output (whatever was captured in STDOUT) as a code block, write + +``` +\output{./code_pg1/ex1} +``` + +which in the present example will introduce exactly the following HTML + +```html +
dot(a, a) = 14
+``` + +and will look like + +``` +dot(a, a) = 14 +``` + +If you now change the vector `a` in the code block, the page will be re-compiled with the code-block re-evaluated and the new output will be shown. + +If you would like the output to be re-interpeted by Franklin as text, you can use `\textoutput` instead. +Here's an example: + +````` +```julia:./code_pg1/ex2 +using Statistics +temps = (15, 15, 14, 16, 18, 19, 20, 12, 10, 24) +println("The _average_ temperature is **$(mean(temps))°C**.") +``` +\textoutput{./code_pg1/ex2} +````` + +That code block and the `\textoutput` command will appear as: + +```julia +using Statistics +temps = (15, 15, 14, 16, 18, 19, 20, 12, 10, 24) +println("The _average_ temperature is **$(mean(temps))°C**.") +``` + +The _average_ temperature is **16.3°C**. + +Finally if you want to show your code "notebook-style", i.e. both STDOUT and the result of the last line, use `\show`: + +````` +```julia:ex_show +x = 5 +println("hello") +x^2 +``` +\show{ex_show} +````` + +resulting in: + +```julia:ex_show +x = 5 +println("hello") +x^2 +``` +\show{ex_show} + + +### Hiding lines + +Sometimes you may want to run some lines but hide them from the presentation, for this just use `# hide` at the end of the line (`hide` is not case sensitive so `# HiDe` would be fine too): + +````` +```julia:./code_pg1/ex1 +using LinearAlgebra # hide +a = [1, 2, 3] +@show dot(a, a) +``` +````` + +You could also hide the entire code block if you only care about the output, for this put a `# hideall` on any line: + +````` +```julia:./code_pg1/ex2 +#hideall +using Statistics +temps = (15, 15, 14, 16, 18, 19, 20, 12, 10, 24) +println("The _average_ temperature is **$(mean(temps))°C**.") +``` +\textoutput{./code_pg1/ex2} +````` + +Which will appear as just: + +The _average_ temperature is **16.3°C**. + +### Project.toml + +It can be convenient to set up your website as you would a Julia environment: _activating_ it and _adding_ the packages that you will use in code blocks. +In order to do this, just activate the environment as you would otherwise, this will generate a `Project.toml` which will subsequently be used by Franklin without you having to worry about it. + +For instance, let's say that you want to use `PyCall` in some code blocks, then before starting the Franklin server do + +```julia-repl +(1.x) pkg> activate . +(myWebsite) pkg> add PyCall +``` + +once that's done, if you now start the server, Franklin will write + +```julia-repl +julia> serve() +Activating environment at `~/Desktop/myWebsite/Project.toml` +``` + +In other words, whenever you start the server, Franklin will now activate the environment with that `Project.toml`. +This is particularly useful if you intend to write a tutorial website (for a live example of this, see the [MLJ Tutorials](https://alan-turing-institute.github.io/MLJTutorials/)). + +### Plots + +Using the machinery introduced above, you can also evaluate code that generates a plot which you can then include on the page. +In the example below, `PyPlot` is used but you could do something similar with other frameworks. + +Assuming you've added `PyPlot` to your environment, this markdown + +`````markdown +```julia:pyplot1 +using PyPlot +figure(figsize=(8, 6)) +x = range(-2, 2, length=500) +for α in 1:5 + plot(x, sinc.(α .* x)) +end +savefig(joinpath(@OUTPUT, "sinc.svg")) # hide +``` + +\fig{sinc} +````` + +will give: + +```julia:pyplot1 +using PyPlot +figure(figsize=(8, 6)) +x = range(-2, 2, length=500) +for α in 1:5 + plot(x, sinc.(α .* x)) +end +savefig(joinpath(@OUTPUT, "sinc.svg")) # hide +``` + +\fig{sinc} + +**Note**: observe that here everything is done with relative paths, `pyplot1` is placed in the `/assets/` folder relatively to the path of the current page and the `\fig` since it's given a path that doesn't start with `/` or `./` will also look in that folder to try to find a figure which starts with the name `sinc`. See also [more about paths](#more_on_paths). + +### Troubleshooting + +A few things can go wrong when attempting to use and evaluate code blocks. +The first thing to do if no output is shown or an error appears is to make sure that: + +@@tlist +1. if the code uses packages, these packages are available in the local environment, +1. the code "just works" in the REPL. +@@ + +If this is the case and you still have issues, then you may want to force re-evaluation of the code on the page. +In such a case, try adding `@def reeval = true` on the page which will cause **all** code blocks on the page to be completely re-evaluated and their output re-generated. +Assuming that helped, you will then want to remove that line as otherwise that page will be fully re-evaluated _every single time the page is modified_ which will cause an unnecessary overhead. + +**Important note**: unless you explicitly use `@def reeval = true`, code blocks are evaluated *only* if: +@@tlist +- an earlier code block has been evaluated (in which case, since their results may depend on it, all subsequent blocks are re-evaluated), +- the content of the code block has changed. +@@ +An example where this can be a bit tricky is if your code block calls a function on a file, for instance `read(file, String)`; if the underlying *file* is changed, the code block will **not** be re-evaluated (since the code doesn't change), so in such cases you will want to use a `@def reeval = true`. + +## Offline evaluation (any language) + +The philosophy here is: + +@@tlist +* keep your code snippets in appropriate subfolders of `/assets/` where they can be run and their output can be saved, this can be compared to a `test/` folder in a Julia package, +* run some or all of the snippets (before running Franklin), +* use `\input{...}{...}` in your markdown (see below) and when the website is updated, it will plug-in the most recent parts that have been generated. +@@ + +That way, if you modify the code, everything will be updated on the website too while ensuring that the code actually runs and generates the output you're displaying. + +Again, the script files can contain `# hide` at the end of lines you do not want to show (`#` to be replaced by whatever symbol indicates comments in that language). + +The `generate_results.jl` file should run the scripts and redirect outputs to the `assets/[path]/output` directory. +You can use something like the script below (if you generate an example website with `newsite`, it's already in there) though you can of course modify it as you wish. + +```julia +dir = @__DIR__ +""" +genplain(s) + +Small helper function to run some code and redirect the output (stdout) to a file. +""" +function genplain(s::String) + open(joinpath(dir, "output", "$(splitext(s)[1]).out"), "w") do outf + redirect_stdout(outf) do + include(joinpath(dir, s)) + end + end +end +# run `script1.jl` and redirect what it prints to `output/script1.out` +genplain("script1.jl") +# run `script2.jl` which has a savefig(joinpath(@__DIR__, "output", "script2.png")) +include("script2.jl") +``` + +The function `genplain("scriptname.jl")` just redirects the output of the script to `output/scriptname.out`. +So for instance if you have in `assets/scripts/script1.jl` + +```julia +print("hello") +``` + +Then `genplain("script1.jl")` will generate `/assets/scripts/output/script1.out` with content + +```julia +hello +``` + +\note{You could have scripts in any language here (`R`, `Python`, ...) as long as the folder structure is the same.} + +### Inserting code + +In order to insert the code of a script and have it highlighted you can use + +``` +\input{julia}{scripts/script1.jl} +``` + +This will insert the content of the file `/assets/scripts/script1.jl` (see also the section earlier on paths) into a block that will be highlighted as julia code. + +### Plain-text output + +In order to insert the plain-text output of a script, you can use + +``` +\output{scripts/script1.jl} +``` + +This will insert the content of the file `/assets/scripts/script1.out` into a non-highlighted code-block. + +### Plot output + +In order to insert a plot generated by a script, you can use `\fig` as indicated earlier or + +``` +\input{plot}{scripts/script1.jl} +``` + +or `\input{plot:id}{scripts/script1.jl}`. This will look for an image file with root name `/assets/scripts/script1.ext` where `ext` is `gif, png, jp(e)g, svg`. +If you use `plot:id` then it will look for an image file with root name `/assets/scripts/script1id.ext`. + +The `plot:id` option is useful if you have a script that generates several plots for instance. + +### Slicing up + +The structure in the `generate_results.jl` effectively means that all your code is run as one big script. +This also means that if you want to slice some of your code in several parts and show intermediate outputs (e.g. plots), you can just do that by having a `script_1_p1.jl`, `script_1_p2.jl` etc. and then just use `\input` multiple times. diff --git a/code/literate.md b/code/literate.md new file mode 100644 index 0000000..3a58a59 --- /dev/null +++ b/code/literate.md @@ -0,0 +1,104 @@ +@def hascode = true +@def showall = true +@def hasmath = true + +# Work with Literate.jl + +\blurb{Franklin works seamlessly with Literate to offer a convenient way to write and maintain tutorials.} + +\lineskip + +\toc + +## Overview + +[Literate.jl](https://github.com/fredrikekre/Literate.jl) is a convenient package that allows you to write scripts in Julia and convert them to markdown pages or Jupyter notebooks. + +You can combine this with Franklin with the `\literate` command which you can call in Franklin like: + +``` +\literate{/_literate/script.jl} +``` + +it does what you expect: + +@@tlist +* the markdown is interpreted and evaluated +* the code blocks are evaluated and their output can be shown selectively +@@ + +If you want the script to be shown like a notebook where the output of every code block is shown, use `@def showall = true`. + +Combining Franklin with Literate offers a very convenient way to write and maintain tutorial websites (see for instance the [MLJ Tutorials](https://alan-turing-institute.github.io/MLJTutorials/)). + +### File organisation + +We recommend you have a folder `/_literate/` in your root folder, place your literate scripts there and call them as in the example above. + +### Tricks + +In the `showall = true` mode, the last line of each code block is displayed in full. +In some cases you will have to think about this a bit more than you would in your REPL and might for instance: + +@@tlist +* _suppress the output_, in which case you should add a `;` at the end of the line +* _only show a few elements_ (see below) +@@ + +For instance you might prefer: + +```julia:ee0 +x = randn(10) +x[1:3] +``` + +to just + +```julia:ee1 +x = randn(10) +``` + +You can also use `@show` or `println` to show specific things beyond the last line + +```julia:ee2 +x = rand(10) +println(sum(x)) +y = 5 +``` + +if the last line is a `@show` or `print` then only that is shown: + +```julia:ee3 +x = randn(10) +@show x[1] +``` + +## Example + +### Script + +`````julia +# Some **really cool** maths: +# +# $$ \exp(i\pi) + 1 \quad = \quad 0 $$ +# +# We can show this with some code: + +x = exp(im*π) + 1 + +# that looks close to zero but + +x ≈ 0 + +# however + +abs(x) < eps() + +# #### Conclusion +# +# The equation is proven thanks to our very rigorous proof. +````` + +### Result + +\literate{/_literate/script_ee.jl} diff --git a/deploy.jl b/deploy.jl new file mode 100644 index 0000000..5d52c54 --- /dev/null +++ b/deploy.jl @@ -0,0 +1,5 @@ +using Franklin +if !(@isdefined msg) + msg = "franklin-update" +end +publish(prerender=false, final=lunr, message=msg) diff --git a/extras/index.md b/extras/index.md new file mode 100644 index 0000000..2fcb89e --- /dev/null +++ b/extras/index.md @@ -0,0 +1,16 @@ +# Extras + +In this section of the manual, the assumption is that you already have a fairly good idea of how Franklin works so that basic explanations are skipped (refer to the rest of the manual for help). + +The aim is to show how Franklin can work with other useful libraries to add functionalities to your website. + +As usual, these examples are just meant to show what can be done, not the best way to do it, feel free to modify the examples at will! +Also, if you come up with other nice ways of extending Franklin, don't hesitate to make a suggestion for an example to be added here. + +## List of examples + +@@flist +* \goto{/extras/lunr/} Add a search functionality to your website using [`lunr.js`](https://lunrjs.com/), +* \goto{/extras/literate/} Generate auxiliary files with Literate. +* \goto{/extras/plotly/} Add interactive plots with [Plotly](https://plot.ly/javascript/). +@@ diff --git a/extras/literate.md b/extras/literate.md new file mode 100644 index 0000000..84d4221 --- /dev/null +++ b/extras/literate.md @@ -0,0 +1,100 @@ +@def hascode = true + +# Generating auxiliary files with Literate + +See also [how to interact with literate scripts](/code/literate/). + +[Literate.jl](https://github.com/fredrikekre/Literate.jl) allows to pre and post-process a script in order, for instance, to generate a notebook out of a script. +This can be convenient if you want to have a tutorial be downloadable as a standalone notebook or as a scrubbed script. + +This page presents one way of doing this which is used in [MLJTutorials](https://github.com/alan-turing-institute/MLJTutorials) and which might inspire your own approach. + +The key ingredients are: + +@@tlist +1. use Literate to generate derived files, +1. use `gh-pages` to push the generated file to GitHub, +1. add this as a `final` hook to `publish`. +@@ + +In what follows, it is assumed you have your Literate scripts in a folder `/scripts/` and that you're using GitHub. +It shouldn't be hard to modify that to suit your own case. + + +## Using Literate to generate auxiliary files + +Literate can manipulate scripts fairly easily, for instance to generate notebooks: + +```julia +scripts = joinpath.("scripts", readdir("scripts")) +nbpath = joinpath("generated", "notebooks") +isdir(nbpath) || mkpath(nbpath) + +for script in scripts + # Generate annotated notebooks + Literate.notebook(script, nbpath, + execute=false, documenter=false) +end +``` + +This will go over all scripts in `/scripts/` and call `Literate.notebook` to generate a derived notebook in a `/generated/` folder (which you will want to add to your `.gitignore`). + +## Push the generated files to a page branch + +Start by installing `gh-pages` with `npm`: + +```bash +$> npm install gh-pages +``` + +Using the package [NodeJS.jl](https://github.com/davidanthoff/NodeJS.jl) it is then easy to use `gh-pages` to push the generated notebooks to a folder on the `gh-pages` branch: + +```julia +using NodeJS + +JS_GHP = """ + var ghpages = require('gh-pages'); + ghpages.publish('generated/', function(err) {}); + """ + +run(`$(nodejs_cmd()) -e $JS_GHP`) +``` + +Now these generated files are available on that branch without polluting your `master` branch. +You can see this live on the [MLJTutorials repo](https://github.com/alan-turing-institute/MLJTutorials/tree/gh-pages). + +You can link to these generated notebooks with links adapted from: + +```plaintext +https://raw.githubusercontent.com/username/project/gh-pages/notebooks/theNotebook.ipynb +``` + +See [this page](https://alan-turing-institute.github.io/MLJTutorials/pub/isl/lab-2.html) for example. + +## Add the whole process to `publish` + +You may want to re-generate all notebooks prior to pushing updates to GitHub. +For this, use the `final` keyword of `publish` to which you can pass a function to use before publishing updates. +For instance: + +```julia +function gen_literate() + scripts = joinpath.("scripts", readdir("scripts")) + nbpath = joinpath("generated", "notebooks") + isdir(nbpath) || mkpath(nbpath) + + for script in scripts + # Generate annotated notebooks + Literate.notebook(script, nbpath, + execute=false, documenter=false) + end + JS_GHP = """ + var ghpages = require('gh-pages'); + ghpages.publish('generated/', function(err) {}); + """ + run(`$(nodejs_cmd()) -e $JS_GHP`) +end +# ... serve etc ... +# ... then finally ... +publish(final=gen_literate) +``` diff --git a/extras/lunr.md b/extras/lunr.md new file mode 100644 index 0000000..02151fc --- /dev/null +++ b/extras/lunr.md @@ -0,0 +1,143 @@ +@def hascode = true + +# Add search with Lunr + +\toc\skipline + +[`lunr.js`](https://lunrjs.com/) is a neat little Javascript library that allows to equip your website with a search functionality fairly easily. + +The steps below show a simple way of doing this matching what is done on this website. +Once it's working, you might want to adjust the `build_index.js` and/or the `lunrclient.js` to match your needs. + +## Pre-requisites + +### Libraries + +Install `lunr` and `cheerio` (a HTML parser) with `node`: + +```bash +$> npm install lunr +$> npm install cheerio +``` + +(you might have to add `sudo` before `npm`). + +### Files + +Copy [this folder](https://github.com/tlienart/franklindocs/tree/master/_libs/lunr) to a `/_libs/lunr/` directory. +Discard the `lunr_index.js` which is the index of this website, you will rebuild your own of course! + +The important files are `build_index.js` and `lunrclient.js` (of which a minified version is provided which you will want to re-generate if you modify the base file). +These files are adapted from [this repository](https://github.com/BLE-LTER/Lunr-Index-and-Search-for-Static-Sites) which shows how to use Lunr on a static website. + +You can choose whether to serve your own copy of `lunr.min.js` (done here) or to use an online version via + +```html + +``` + + +### Index builder + +The file `build_index.js` does the following: + +@@tlist +- it goes over all files in a `HTML_FOLDER` (by default: `/__site/`), +- it builds an index `lunr_index.js` which can subsequently be queried upon the user entering search terms. +@@ + +By default, the index built is fairly barebone to reduce the size of the generated index. If you want fancier search, you might want to modify this a bit to add a preview of the page, boost results depending on where there are (title, keyword, ...), add stop words, etc. (Refer to the [Lunr docs](https://lunrjs.com/docs/index.html) for this as well as [the example repo](https://github.com/BLE-LTER/Lunr-Index-and-Search-for-Static-Sites) mentioned earlier or [Documenter.jl](https://github.com/JuliaDocs/Documenter.jl/blob/master/assets/html/search.js)'s version). + +\note{ + Modify this file at will but be careful with the lines with `PATH_PREPEND` if your website is a project website (i.e. the root URL is something like `username.github.io/project/`). These lines help ensure that the generated links are valid. See also the section on [updating the index](#buildingupdating_the_index). +} + +### Client + +The file `lunrclient.js` (and its minified version) does the following: + +@@tlist +- query the index +- display the results +@@ + +You might want to modify the `parseLunrResults` if you want the results to be displayed differently. + +\note{ + If you modify this file, make sure it's called properly in the `src/_html_parts/index.html` and, eventually, [minify it](https://jscompress.com/). +} + +## Adding a search box + +### Adding a form in `head.html` + +The search box on this website is added with the following HTML in `_layout/head.html`: + +```html + + + + + + + +
+ + +
+<-- ... --> +``` + +You may want to style it a bit like so: + +```css +.result-title a { text-decoration: none; } +.result-title a:hover { text-decoration: underline; } +.result-preview { color: #808080; } +.resultCount { color: #808080; } +.result-query { font-weight: bold; } +#lunrSearchForm { margin-top: 1em; } +``` + +### Target search page + +You also need to add a `src/search.md` to display the results with the appropriate divs: + +```html +@def title = "Search ⋅ YourWebsite" + +## Search + +Number of results found: ~~~~~~ + +~~~ +
+~~~ +``` + +Note that if you modify the `id` of these elements, you will need to adapt the `lunrclient` file(s) accordingly. + +## Building/updating the index + +Franklin exports a `lunr()` function which + +@@tlist +- checks that you have the right files at the right place, +- (re)builds the index, prepending a path to links if required. +@@ + +If you are experimenting locally, just call `lunr()` then `serve()` and test that searching works as expected. + +When you are ready to update your website you can either: + +@@tlist +1. (recommended) Call `publish(final=lunr)`, +1. Call `lunr()` or `lunr(prepath)` if there is a prepath and then publish your updates manually. +@@ + +The `publish(final=lunr)` calls the `lunr` function as a last step prior to doing a `git push`. +An advantage of using this is that Franklin will properly handle the `prepath` if there is one defined in your `config.md`. + +\note{ + This `final=` keyword can be used with your own functions `()->nothing` if you need to do some post-processing with the generated files before pushing. +} diff --git a/extras/plotly.md b/extras/plotly.md new file mode 100644 index 0000000..69d1f3f --- /dev/null +++ b/extras/plotly.md @@ -0,0 +1,113 @@ +@def hascode = true +@def hasplotly = true + +# Work with Plotly + +If you want interactive plots on some pages and are not afraid of using heavy javascript libraries, then [Plotly](https://plot.ly/javascript/) is a nice library. +The Julia wrapper [PlotlyJS.jl](https://github.com/sglyon/PlotlyJS.jl) can be used to generate Plotly plots. + +## Pre-requisites + +Download [`plotly.min.js`](https://cdn.plot.ly/plotly-latest.min.js) saving it to `/_libs/plotly/plotly.min.js`. + +Then create a variable `hasplotly` with default value `false`: in your `config.md` write + +``` +@def hasplotly = false +``` + +Finally, in your `src/_layout/head.html` add + +```html +{{if hasplotly}} {{end}} +``` + +## Offline-generated plot + +Assuming you already have the Plotly code for some plot, displaying the result on a page with Franklin is now pretty straightforward. +Start by adding + +``` +@def hasplotly = true +``` + +so that the JS library will be loaded then somewhere appropriate add: + +```html +~~~ +
+ + +~~~ +``` + +This will give: + +~~~ +
+ + +~~~ + +## Live-generated plot + +One step further is to use `PlotlyJS` to define a plot then pass the result to Franklin. +Start by adding `PlotlyJS` and `Random` to your environment: + +```julia-repl +(myWebsite) pkg> add PlotlyJS Random +``` + +Then, beyond the `@def hasplotly = true`, add the following code: + +`````plaintext +```julia:ex1 +using PlotlyJS +z = [10 10.625 12.5 15.625 20 + 5.625 6.25 8.125 11.25 15.625 + 2.5 3.125 5. 8.125 12.5 + 0.625 1.25 3.125 6.25 10.625 + 0 0.625 2.5 5.625 10] + +data = contour(; z=z) +layout = Layout(; title="Basic Contour Plot") +plt = plot(data, layout) + +fdplotly(json(plt)) # hide +``` +\textoutput{ex1} +````` + +**Note**: the `fdplotly` is a convenience function exported by `Franklin`; it just prints the required HTML such that a plotly object gets placed. It takes the JSON string of the plot (which you can get with `json(plt)`) and takes two optional keyword arguments: +- `id`: to specify the name of the div the plotly object is associated to, it's randomly generated by default, and, +- `style` which takes a string indicating the desired CSS for the div e.g. the default is `"width:600px;height:350px"`. + +The code block above gives: + +```julia:ex1 +using PlotlyJS +z = [10 10.625 12.5 15.625 20 + 5.625 6.25 8.125 11.25 15.625 + 2.5 3.125 5. 8.125 12.5 + 0.625 1.25 3.125 6.25 10.625 + 0 0.625 2.5 5.625 10] + +data = contour(; z=z) +layout = Layout(; title="Basic Contour Plot") +plt = plot(data, layout) + +fdplotly(json(plt)) # hide +``` +\textoutput{ex1} diff --git a/faq/technical.md b/faq/technical.md new file mode 100644 index 0000000..5f83d34 --- /dev/null +++ b/faq/technical.md @@ -0,0 +1,133 @@ +@def hascode=true +@def maxtoclevel=3 + +# FAQ - Technical + +If you have a question that you couldn't find an answer to easily, don't hesitate to [open an issue](https://github.com/tlienart/Franklin.jl/issues/new) on GitHub, it will help me make this section more complete! + +\toc + +## Styling + +### Can you style footnote text? + +**Reference**: [issue 243](https://github.com/tlienart/Franklin.jl/issues/243), **more on this**: [styling](/styling/classes/). + +For the reference basically a footnote is inserted as + +```html +
[1] +``` + +So you can style that with the class `.franklin-content sup a.fnref`. + +For definitions, it's inserted as a table like: + +```html + + + + + +
[2]this is another footnote
+``` + +so you can style the back-reference via the `.franklin-content fndef td.fndef-backref` and the text of the definition via `.franklin-content fndef td.fndef-content`; for instance, consider the following base styling: + +```css +.franklin-content table.fndef { + margin: 0; + margin-bottom: 10px;} +.franklin-content .fndef tr, td { + padding: 0; + border: 0; + text-align: left;} +.franklin-content .fndef tr { + border-left: 2px solid lightgray; + } +.franklin-content .fndef td.fndef-backref { + vertical-align: top; + font-size: 70%; + padding-left: 5px;} +.franklin-content .fndef td.fndef-content { + font-size: 80%; + padding-left: 10px;} +``` + +### How to disable numbering of math in display mode? + +It is possible to specify in the CSS which Katex equations will be numbered or not by adjusting the +`.katex-display::after` class. +If you want to disable numbering in the entire site, just head to `_css/franklin.css` and remove the `.katex-display::after` block. +You can also build a simple way to disable all numbering inside a specified `@@` div +(see [div blocks](/syntax/divs-commands/#div_blocks)) + +```markdown +This is numbered: +$$ 1+1 = 2 $$ + +This isn't: + +@@no-number +$$ 2+2 = 4 $$ +and +$$ 3+3 = 7-1 $$ +@@ + +Numbered again: +$$ 7 + 1 = 8 $$ +``` + +by adding in the CSS: +```css +.no-number .katex-display::after { + counter-increment: nothing; + content: ""; +} +``` + +And possibly [define a command](/syntax/divs-commands/#latex-like_commands) in `config.md`:\ +```markdown +\newcommand{\nalign}[1]{@@no-number \begin{align}#1\end{align}@@} +``` +if you feel it is more convenient to write `\nalign{3+3 = 6}`. + + +## Code + +### How to use loops for templating? + +**Reference**: [issue 251](https://github.com/tlienart/Franklin.jl/issues/251), **more on this**: [code tricks](/code/eval-tricks/). + +Since you can show the output of any Julia code block (and interpret that output as Franklin markdown), you can use this to help with templating. +For instance: + +`````md +```julia:./ex +#hideall +for name in ("Shinzo", "Donald", "Angela", "Christine") + println(""" + @@card + ### $name + ![]("$(lowercase(name)).jpg") + @@ + """) +end +``` +\textoutput{./ex} +````` + +Generates + +```html + + + + +``` + +### How to insert Plotly plots? + +**Reference**: [issue 322](https://github.com/tlienart/Franklin.jl/issues/322). + +See [this tutorial](/extras/plotly/) for a way to do this. diff --git a/faq/troubleshooting.md b/faq/troubleshooting.md new file mode 100644 index 0000000..6ab700a --- /dev/null +++ b/faq/troubleshooting.md @@ -0,0 +1,55 @@ +@def hascode = true + +# FAQ - Troubleshooting + +This page is about some of the known errors you may encounter when using Franklin and how to deal with them. +If you encounter an error that is not mentioned here, then it's probably a bug and it would be great if you could open an issue! + +\toc + +## Error on interruption + +You may (rarely) get an an error thrown at you when interrupting the server with `+C`, particularly when using Juno. +There are a couple of reasons this may happen, both unrelated to Franklin. + +### Juno + +Juno (very rarely) crashes if you coincidentally press `+C` while Juno is doing something in the background (Juno issue [#309](https://github.com/JunoLab/Juno.jl/issues/309)). + +The stacktrace you will see will seem particularly obscure, for instance: + +``` +InterruptException: +_string_n at string.jl:60 [inlined] +StringVector at iobuffer.jl:31 [inlined] +#IOBuffer#320(::Bool, ::Bool, ::Nothing, ::Bool, ::Int64, ::Int64, ::Type{Base.GenericIOBuffer{Array{UInt8,1}}}) at iobuffer.jl:114 +(...) +``` + +or + +``` +julia> "miniERROR: InterruptException: +Stacktrace: + [1] poptaskref(::Base.InvasiveLinkedListSynchronized{Task}) at ./task.jl:564 + [2] wait() at ./task.jl:591 +(...) +``` + +**Solution**: ignore the error, kill then restart the server or, failing that, kill and restart Julia. + +### Not-Juno + +The [`LiveServer.jl`](https://github.com/asprionj/LiveServer.jl) package, which handles the live-serving of the files, is based upon [`HTTP.jl`](https://github.com/asprionj/LiveServer.jl). +The latter has a fairly complex codebase with a number of asynchronous tasks and is known to sometimes crash in (somewhat) mysterious ways. + +If the stacktrace mentions `uv_write`, `uv_write_async`, `libuv` or something of the sorts, then this is an example of _known but mysterious way_. + +Like the "Juno" case, these errors are caused when you happen to press interrupt just as the package was doing something important in the background. +This is very rare but can happen and you can safely ignore it. + +**Solution**: ignore the error, kill then restart the server or, failing that, kill and restart Julia. + +## IOStream error + +See the comment about HTTP.jl in the [subsection above](#Not-Juno-1). diff --git a/faq/why-o-why.md b/faq/why-o-why.md new file mode 100644 index 0000000..0d975ab --- /dev/null +++ b/faq/why-o-why.md @@ -0,0 +1,50 @@ +@def hascode=false + + + +# FAQ - Meta + +## Why bother with yet another SSG? + +There is a [multitude of static site generators](https://www.staticgen.com/) out there... is this one worth your time? + +I didn't start working on Franklin hoping to "beat" mature and sophisticated generators like Hugo or Jekyll. +Rather, I had been using Jacob Mattingley's much simpler [Jemdoc](http://jemdoc.jaboc.net/using.html) package in Python with Wonseok Shin's [neat extension](https://github.com/wsshin/jemdoc_mathjax) for MathJax support. + +I liked that Jemdoc+Mathjax was simple to use and didn't require a lot of web-dev skills to get going. +That's how I got the idea of doing something similar in Julia, hopefully improving on the few things I didn't like such as the lack of support for live-rendering preview or the speed of page generation. + +That being said, if you just want a blogging generator mostly for text and pictures, then Franklin may not be the tool for you. +If you want to host a technical blog with maths, code blocks, and would like some easy and reproducible control over elements, then Franklin could help you (feel free to [open an issue](https://github.com/tlienart/Franklin.jl/issues/new) to see if Franklin is right for you). + +### Why not Pandoc? + +[Pandoc](https://pandoc.org/) is a very different beast. +Franklin's aim was never to provide a full-fledged LaTeX to HTML conversion (which Pandoc does). +Rather, Franklin supports standard markdown **and** the definition of commands following a LaTeX-like syntax. +These commands can make the use of repeated elements in your website significantly easier to use and maintain. + +Further, Pandoc does not deal with the generation of a full website with things like live-previews, code evaluation etc. + +### Why write a markdown parser? + +I suspect many computer scientists or similar types will agree that _parsing_ is an interesting topic. +Franklin provided an incentive to think hard about how to parse extended markdown efficiently and while I'd definitely not dare to say that the parser is very good, it does a decent job and I learned a lot coding it. + +In particular, processing LaTeX-like commands which can be re-defined and should be resolved recursively, proved pretty interesting (and sometimes a bit tricky). + +Initially Franklin was heavily reliant upon the Julia `Markdown` package (part of the `stdlib`) which can convert markdown to HTML but, over time, this changed as Franklin gained the capacity to parse a broader set of Markdown as well as extensions. + +### Did you know? + +Franklin was initially named "_JuDoc_" which happened to be a [fairly obscure saint](https://en.wikipedia.org/wiki/Judoc) (I definitely did not know that before registering the package). The name was meant to be close to *Jemdoc* from which the initial inspiration for this package comes and, of course, to hint at the fact that it was in Julia. +After being kindly told that the name was awkward, I received great suggestion and we ended up renaming the package Franklin to honour + +@@tlist +- [Rosalind Franklin](https://en.wikipedia.org/wiki/Rosalind_Franklin), an English chemist who contributed to the discovery of the structure of DNA, and +- [Benjamin Franklin](https://en.wikipedia.org/wiki/Benjamin_Franklin), an american polymath and one of the Founding Fathers. +@@ + +There's also happens to be a turtle and a US president with that name but that's mostly fortuitous. diff --git a/search.md b/search.md new file mode 100644 index 0000000..0906d3e --- /dev/null +++ b/search.md @@ -0,0 +1,7 @@ +@def title = "Search ⋅ Franklin" + +## Search + +Number of results found: ~~~~~~ + +~~~
~~~ diff --git a/styling/classes.md b/styling/classes.md new file mode 100644 index 0000000..9a07fc1 --- /dev/null +++ b/styling/classes.md @@ -0,0 +1,66 @@ + + +@def hascode = true + +# Classes + +\blurb{Use Franklin's classes or add your own.} + +\lineskip + +By now you know that you can add `@@divname ... @@` anywhere you want in your content in order to define an environment and style it. +Below we detail the default classes as well as some tricks that can be useful to style your content. + +## Franklin's classes + +@@lalignb +| Name | Function | +| ------ | ---- | +| `franklin-content` | wraps around the content of a page, so when a `mypage.md` is converted to some html, it gets inserted in the scaffolding as `
some html
` (\*) +| `franklin-toc` | wraps around the inserted table of contents +| `fnref` | wraps around a footnote reference +| `fndef` | wraps around footnote definitions +| `fndef-content` | wraps around the content of footnote definitions +| `fndef-backref` | wraps around the back-reference of a footnote definition +@@ + +**Notes**:\\ +\smindent{(\*)} \smnote{you can change this name setting the global page variable `div_content` in your `config.md`}.\\ + +## Simple tricks + +As soon as you're using a style more than once, it makes sense to create it as a command. +This makes it much easier to maintain and re-use. +For instance, consider the following simple examples: + +```html +\newcommand{\blurb}[1]{ + ~~~ + !#1 + ~~~ +} +``` + +```html +\newcommand{\note}[1]{@@note @@title ⚠ Note@@ @@content #1 @@ @@} +``` + +Further, you can pass the style as an argument: + +\newcommand{\spstyle}[2]{~~~#2~~~} + +```html +\newcommand{\spstyle}[2]{~~~#2~~~} +``` + +and for instance: + +```plaintext +\spstyle{font-variant:small-caps;font-size:15px;color:cornflowerblue}{formatted text} +``` + +gives you: \spstyle{font-variant:small-caps;font-size:15px;color:cornflowerblue}{formatted text}. + +In fact, that one is pre-defined in Franklin, `\style{style}{text}` does precisely that. diff --git a/styling/templates.md b/styling/templates.md new file mode 100644 index 0000000..556964d --- /dev/null +++ b/styling/templates.md @@ -0,0 +1,247 @@ +@def hascode = true + + + +# Templates + +\blurb{Start from one of the template or build your own.} + +\lineskip + +\toc + +\lineskip + +The pre-defined templates that are currently available in Franklin with the `newsite` function can be viewed ~~~here~~~ (_opens in a new tab_). + +## Adapting a theme to Franklin + +\note{If you end up doing this, please consider making a PR to [FranklinTemplates](https://github.com/tlienart/FranklinTemplates.jl)!} + +On this page, I'll take [Jemdoc's website layout](http://jemdoc.jaboc.net/) and show how it can be adapted to be a working Franklin template. +This will hopefully also show you how to adapt / modify an existing template. + +Jemdoc's layout looks like this: + +![](/assets/jemdoc/jemdoc1.png) + +### Getting started + +In order to get a blueprint for the folder etc, let's first create a Franklin site with the `basic` template: + +```julia-repl +julia> newsite("jemdoc", template="basic") +``` + +You can serve the site in order to see the modifications directly in your browser which can be useful to fine tune the port of the layout. + +We will need to provide the appropriate stylesheet in `_css/` and adjust the layout part in `_layout/`. + +### Adapting the head and foot + +The file `_html_parts/head.html` is the most important one you will have to adjust. + +Let us first change the name of the main stylesheet `_css/basic.css` to `_css/jemdoc.css` which is more appropriate. +The reference to the stylesheet in `head.html` consequently has to be changed to mention `jemdoc.css` instead of `basic.css`: + +```html + +``` + +The following step is fairly simple: + +@@tlist +1. look at the original html code, +2. copy whatever is relevant that comes before the content into `head.html`. +@@ + +Let's do this gradually. +The top of the original HTML can be ignored at this point so we can start modifying starting after ``. + +Jemdoc's body starts with a Google analytics script which I'll ignore as well. +We then have effectively one big table element. +Stripped from its content and simplified it looks like: + +```html + + + + + +
+ + + + + + + +

CONTENT HERE

+ +
+``` + +Note that I've already filled in the `href=` in the links to sub-menus. + +The "`CONTENT HERE`" part is where what Franklin generates from Markdown will go. +Therefore, anything that is *after* that should go in `foot.html`; in our current case: + +```html + + + + + +``` + +That's basically it (though we still have to modify the stylesheet of course). +The `head.html` should be adapted to: + +```html + + + + + + {{if hasmath}} {{insert head_katex.html }} {{end}} + {{if hascode}} {{insert head_highlight.html }} {{end}} + + + + {{isdef title}} {{fill title}} {{end}} + + + + + + + +
+ + + + + + + + + +``` + +and the `foot.html` should be adapted to: + +```html + +
+ {{ if hasmath }} + {{ insert foot_katex.html }} + {{ end }} + {{ if hascode }} + {{ insert foot_highlight.html }} + {{ end }} + + +``` + +### Adapting the stylesheet + +By now the page looks pretty bad: + +![](/assets/jemdoc/jemdoc2.png) + +the content is not centred in its box and overflows on the right, the menu looks ridiculous, time to do some CSS styling! + +Let's start by removing everything from `_css/jemdoc.css`. +Most of what's in there was used for the styling of the top navbar which we don't have anymore (note that the styling of the content itself is in `franklin.css`, don't change that for now; note also that `jemdoc.css` is loaded *after* `franklin.css` so that you can overwrite the styles there). + +Let's now just copy paste the content of the [two](http://jemdoc.jaboc.net/jemdoc.css) [original](http://jemdoc.jaboc.net/jacob.css) stylesheets into ours and hope for the best, we may have some fine-tuning to do after this. + +Doing nothing else than copy pasting already helps a lot: + +![](/assets/jemdoc/jemdoc3.png) + +A few things should be fixed: + +@@tlist +1. there's too little space at the top +1. the menu is a bit too narrow and there's a bit too much space between the menu and the content +1. there's not enough space after `
` blocks
+@@
+
+#### Fixing spacing
+
+Firefox or Chrome/ium's excellent dev-tools are super helpful to fine tune stylesheets.
+Here things are pretty straightforward though.
+
+First, we need to add vertical padding above `

` level title: + +```css +h1 { padding-top: 2em; } +``` + +Then, let's widen the menu a little + +```css +td#layout-menu { + padding-left: 15px; + padding-right: 25px; +} +``` + +and let's reduce the padding on the left of the `franklin-content` element: + +```css +.franklin-content { padding-left: 5%; } +``` + +Finally, in the original stylesheet there is this element: + +```css +pre { + padding: 0; + margin: 0; +} +``` + +which you can just remove to have a bit more space around code blocks. + +There's probably still things that could be done to improve the layout overall (and make it more responsive!) but we'll leave it at that. + +![](/assets/jemdoc/jemdoc4.png) + +### Adjusting other files + +Here we don't need to adjust anything else but, in general, you might want to adjust the other pages: + +@@tlist +* `head_highlight`, `head_katex`, `foot_highlight` and `foot_katex` are probably best left as they are, they will be appended if need be to pages (see in `head` and `foot` the `{{if hasmath}}` and `{{if hascode}}` blocks) +* `page_foot` you may want to change, it defines what goes at the bottom of the `.franklin-content` div. +@@ + +By default `page_foot` looks like + +```html +
+ +
+``` + +It should be fairly straightforward to adapt that to your needs. + +## Making a PR to the theme repo + +Let's say you've built your own template and are pretty happy with the result and you'd like to share it for other users, great, thanks! + +Please follow [these instructions](https://github.com/tlienart/FranklinTemplates.jl#fixingadding-a-template). diff --git a/syntax/divs-commands.md b/syntax/divs-commands.md new file mode 100644 index 0000000..16ddbde --- /dev/null +++ b/syntax/divs-commands.md @@ -0,0 +1,313 @@ + + + +# Divs and Commands + +\blurb{Style your content quickly and easily with custom divs, make everything reproducible and maintainable with commands.} + +\lineskip + +\toc + +## Div blocks + +In order to locally style your content, you can use `@@divname ... @@` which will wrap the content in a `
...
` block which you can then style as you wish in your CSS stylesheet. +For instance, you may want to highlight some content with a light yellow background: + +```plaintext +Some text then +@@important + Some important content +@@ +``` + +and then, in your CSS, you could use + +```css +.important { + background-color: lemonchiffon; + padding: 0.5em; + margin-bottom: 1em; +} +``` + +which will look like + +@@important + Some important content +@@ + +### Nesting + +Such div blocks can be nested as in standard HTML. +The distinction with inserting raw HTML div blocks with the `~~~...~~~` syntax is that the content of div blocks is processed as well (i.e.: can contain Franklin markdown): + +```plaintext +@@important + Some text; + @@silly-formatting + some **silly** text with $2x+4=y$. + @@ + and more text. +@@ +``` + +@@important + Some text; + @@silly-formatting + some **silly** text with $2x+4=y$. + @@ + and more text. +@@ + +## LaTeX-like commands + +Franklin allows the definition of commands using a LaTeX-like syntax. +This can be particularly useful for repeating elements or styling inside or outside of maths environment. + +To define a command, you **must** use the following syntax: + +```plaintext +\newcommand{\name}[...]{...} + -1- -2- -3- +``` + +where: + +@@flist +1. the first bracket is the _command name_, starting with a backslash and _only made out of letters_ (lower or upper case), +1. the second (optional) bracket indicates the _number of arguments_, if none is set the command does not take arguments, +1. the third bracket indicates the _definition of the command_ calling `#k` to insert the $k$-th argument. +@@ + +As in LaTeX, command definitions can be anywhere as long as they appear before they are used. +If you want a command to be available on all your pages, put the definition in the `config.md` file. + +\note{Franklin currently cannot just take the content of a `.tex` document and convert it, this may be (partially) supported in the future if it is deemed useful. Mainly it would require pre-defining all standard commands such as `\textbf`, `\section`, etc.} + +### Math examples + +If you end up writing a lot of equations on your site, defining commands can become rather useful: + +```plaintext +\newcommand{\R}{\mathbb R} + +Let $f:\R\to\R$ a function... +``` + +\newcommand{\R}{\mathbb R} +Let $f:\R\to\R$ a function... + +```plaintext +\newcommand{\scal}[1]{\left\langle #1 \right\rangle} + +$$ \mathcal W_\psi[f] = \int_\R f(s)\psi(s)\mathrm{d}s = \scal{f,\psi} $$ +``` + +\newcommand{\scal}[1]{\left\langle #1 \right\rangle} +$$ \mathcal W_\psi[f] = \int_\R f(s)\psi(s)\mathrm{d}s = \scal{f,\psi} $$ + +### Text examples + +Commands can also be useful outside of maths environment. +For instance, you could define a command to quickly set the style of some text: + +```html +\newcommand{\styletext}[2]{~~~#2~~~} + +Here is \styletext{color:magenta;font-size:14px;}{formatted text}. +``` + +\newcommand{\styletext}[2]{~~~#2~~~} + +Here is \styletext{color:magenta;font-size:14px;font-variant:small-caps;}{formatted text}. + +### Nesting examples + +Commands are resolved recursively which means that they can be nested and their definition can contain further Franklin markdown (again this is similar to how LaTeX works). + +Consider for instance: + +```plaintext +\newcommand{\norm}[2]{\left\|#1\right\|_{#2}} +\newcommand{\anorm}[1]{\norm{#1}{1}} +\newcommand{\bnorm}[1]{\norm{#1}{2}} + +Let $x\in\R^n$, there exists $0 < C_1 \le C_2$ such that + +$$ C_1 \anorm{x} \le \bnorm{x} \le C_2\anorm{x}. $$ +``` + +\newcommand{\norm}[2]{\left\|#1\right\|_{#2}} +\newcommand{\anorm}[1]{\norm{#1}{1}} +\newcommand{\bnorm}[1]{\norm{#1}{2}} + +Let $x\in\R^n$, there exists $0 < C_1 \le C_2$ such that + +$$ C_1 \anorm{x} \le \bnorm{x} \le C_2\anorm{x}. $$ + +As indicated earlier, commands can contain further Franklin markdown that is processed recursively. +For example, here is a more sophisticated example of a "definition" command such that this: + +```plaintext +\definition{angle between vectors}{ + Let $x, y \in \R^n$ and let $\scal{\cdot, \cdot}$ denote + the usual inner product. Then, the angle $\theta$ between + $x$ and $y$ is given by + $$ \cos(\theta) = {\scal{x,y}\over \scal{x,x} \scal{y,y}}. $$ +} +``` + +leads to this: + +\newcommand{\definition}[2]{@@definition **Definition**: (_!#1_) #2 @@} + +\definition{angle between vectors}{ + Let $x, y \in \R^n$ and let $\scal{\cdot, \cdot}$ denote + the usual inner product. Then, the angle $\theta$ between $x$ and $y$ is + given by $$ \cos(\theta) = {\scal{x,y}\over \scal{x,x} \scal{y,y}}. $$ +} + +To do this, you would define the command: + +```html +\newcommand{\definition}[2]{ + @@definition + **Definition**: (_!#1_) + #2 + @@ +} +``` + +and specify the styling of the `definition` div in your CSS: + +```css +.definition { + background-color: aliceblue; + border-left: 5px solid cornflowerblue; + border-radius: 10px; + padding: 10px; + margin-bottom: 1em; +} +``` + +### Whitespaces + +In a Franklin `newcommand`, to refer to an argument you can use `#k` or `!#k`. +There is a small difference: the first one _introduces a space_ left of the argument while the second one does not. + +In general whitespaces are irrelevant and will not show up on the rendered webpage so that the usual `#k` is the recommended usage. +This helps avoid some ambiguities when resolving a chain of nested commands. + +There are however cases where you do not want this because the whitespace does, in fact, show up. +In such cases use `!#k` (assuming it's not ambiguous). + +Consider for instance: + +```plaintext +\newcommand{\pathwith}[1]{`/usr/local/bin/#1`} +\newcommand{\pathwithout}[1]{`/usr/local/bin/!#1`} + +Here \pathwith{hello} is no good whereas \pathwithout{hello} is. +``` + +\newcommand{\pathwith}[1]{`/usr/local/bin/#1`} +\newcommand{\pathwithout}[1]{`/usr/local/bin/!#1`} + +Here \pathwith{hello} is no good whereas \pathwithout{hello} is. + +### Defining commands globally + +If you define commands on a page, the command will be available only on that page; if you wish to define a command that is available on all pages, you should put the definition of the command in your `config.md` file. + +## Hyper-references + +Three types of hyper-references are supported in Franklin: + +@@flist +1. for equations in display mode, +1. for references (bibliography), +1. for specific anchor points in the page. +@@ + +The syntax for all three is close to that of standard LaTeX. + +To style the appearance of the maths or bib links in CSS, use `.franklin-content.eqref a` and `.franklin-content.bibref a` classes; for instance: + +```css +.franklin-content .eqref a {color: blue;} +.franklin-content .bibref a {color: green;} +``` + +### Equations + +To label an equation, just use `\label{some label}` in the math environment and, to refer to it, use `\eqref{some label}`: + +```plaintext +Some equation: + +$$\exp(i\pi) + 1 = 0 \label{a cool equation}$$ + +and you can refer to it in the text: equation \eqref{a cool equation}. +``` + +As in LaTeX, you can refer to several equations in one shot by separating names with commas: `\eqref{some label, some other}` (that also means you cannot use commas in labels). + +### References + +For references, you can use `\biblabel{short}{name}` to declare a reference which will appear as a clickable link `(name)` or `name` and can be referred to with `short`: + +```plaintext +In the text you may refer to \citep{noether15, bezanson17} while in a bibliography section you would have + +* \biblabel{noether15}{Noether (1915)} **Noether**, Korper und Systeme rationaler Funktionen, 1915. +* \biblabel{bezanson17}{Bezanson et al. (2017)} **Bezanson**, **Edelman**, **Karpinski** and **Shah**, [Julia: a fresh approach to numerical computing](https://julialang.org/publications/julia-fresh-approach-BEKS.pdf), SIAM review 2017. +``` + +The `name` argument therefore corresponds to how the bibliography reference will appear in the text. +In the case above, the text will lead to + +```plaintext +... refer to (Noether (1915), Bezanson et al. (2017)) while ... +``` + +You can use either + +@@tlist +* `\cite{short1, short2}` or `\citet{short3}`: which will not add parentheses around the link(s), +* `\citep{short4, short5}`: which will add parentheses around the link(s). +@@ + +As in LaTeX, if the reference is undefined on the page, the command will be replaced by **(??)**. + +### Anchor points + +You can specify anchor points on the page using `\label{name of the anchor}` anywhere on the page _outside_ of maths environment. +This will insert an anchor: + +```html + +``` + +You can subsequently link to it on the same page: + +```plaintext +[link to it](#name-of-the-anchor) +``` + +or from another page by prepending it with the path to the page, for instance: + +```plaintext +[link to it](/index.html#name-of-the-anchor) +``` + +Note also that all section headers are anchor points for instance + +```plaintext +### Some subtitle +``` + +can be linked to with `#some-subtitle`. +If there are multiple headers with the same name, the second and subsequent ones can be referred to with `#some-subtitle__2`, `#some-subtitle__3` etc. (note the double underscore). diff --git a/syntax/markdown.md b/syntax/markdown.md new file mode 100644 index 0000000..b9ed701 --- /dev/null +++ b/syntax/markdown.md @@ -0,0 +1,431 @@ + + +# Markdown syntax + +\blurb{Franklin aims to support most of Common Mark with a few differences and some useful extensions.} + +\lineskip + +\toc + +## Experimenting + +Beyond directly experimenting in a project folder, you can also explore what HTML is generated with the `fd2html` function: + +```julia-repl +julia> """Set `x` to 1, see [the docs](http://example.com).""" |> fd2html +"<p>Set <code>x</code> to 1, see <a href="http://example.com">the docs</a>.</p>\n" +``` + +## Basics + +If you're already familiar with Markdown, you can skip this section, though it may serve as a useful reminder. + +### Headers + +```markdown +# Level 1 +## Level 2 +... +###### Level 6 +``` + +will generate the various header levels. + +\note{Franklin makes headers into links to help with internal links and automatic table of contents generation (which you can include anywhere using `\toc`).} + +### Text styling + +```plaintext +**Bold text**, *italic* or _italic_, **_bold italic_**, `inline code`. +``` + +Inserting a horizontal rule can be done with + +```markdown +--- +``` + +For a blockquote, start the line with `>`: + +```markdown +> This is a blockquote + +``` + +### Links + +```markdown +inline links: [plain link](https:://www.wikipedia.org) + +reference links: ["reference" link][reflink] and ["reference" link][] + +[reflink]: https://www.wikipedia.org +["reference" link]: https://www.wikipedia.org +``` + +Footnotes follow a similar syntax + +```markdown +This has a footnote[^1] + +[^1]: footnote definition +``` + +For images, just add an exclamation mark `!`: + +```markdown +inline: ![alt text](https://juliacon.org/2018/assets/img/julia-logo-dots.png) + +reference: ![alt text][ref] + +[ref]: https://juliacon.org/2018/assets/img/julia-logo-dots.png +``` + +**Notes**: + +@@tlist +* (**link reference**) when using "indirect links" i.e. in the text you use something like `[link name][link A]` and then somewhere else you define `[link A]: some/url/`, we recommend you use unambiguous link identifiers (here `[link A]`). We recommend you to not use numbers like `[link name][1]`, indeed if on the page you have some code where `[1]` appears, there is an ambiguity for the parser, +* (**link title**) are currently _not supported_ e.g. something like `[link A](some/url/ "link title")`, +* (**suppress links**) if, for some reason, you want to have something like `[...]: ...` somewhere on your page that does _not_ define a link, then you need to toggle ref-links off (`@def reflinks = false`) and only use inline links `[link name](some/url/)`. +@@ + +### Lists + +Un-ordered list (you can also use `-`, `+` or `.` instead of `*`) + +```markdown +* item 1 +* item 2 + * sub-item 1 +``` + +Ordered list (the proper numbering is done automatically) + +```markdown +1. item 1 +1. item 2 + 1. subitem 1 +``` + +\note{List items _must_ be on the same line (_this is due to [a limitation](https://github.com/JuliaLang/julia/issues/30198) of the Julia Markdown parser_).} + +### Comments + +You can add comments in your markdown using HTML-style comments: `` possibly on multiple lines. Note that comments are **not** allowed in a math environment. + +### Symbols and HTML entities + +Outside code environments, there are a few quirks in dealing with symbols: + +@@tlist +* (**dollar sign**) to introduce a dollar sign, you _must_ escape it with a backslash: `\$` as it is otherwise used to open and close inline math blocks, +* (**HTML entity**) you can use HTML entities without issues like `→` for "→" or `$` for "\$", +* (**backslash**) to introduce a backslash, you can just use ~~~\~~~, while a _double backslash_ ~~~\\~~~ can be used to specify a _line break_ in text. +@@ + +## Table of contents + +Franklin can insert an automatically generated table of contents simply by using `\toc` or `\tableofcontents` somewhere appropriate in your markdown. +The table of contents will be generated in a `franklin-toc` div block, so if you would like to modify the styling, you should modify `.franklin-toc ol`, `.franklin-toc li` etc in your CSS. + +You can specify the minimum and maximum header level to control the table of contents nesting using `@def mintoclevel=2` and `@def maxtoclevel=3` where, here, it would build a table of contents with the `h2` and `h3` headers only (this is the setting used here for instance). + +## Code + +Inline code with single and double back-ticks + +```markdown +Single back-ticks: `var = 5`, and +double back-ticks if the code includes ticks: ``var = "`"``. +``` + +Blocks of code with triple back-ticks and the language specifier + +`````markdown +```julia +a = 5 +println(a) +``` +````` + +You're not obliged to specify the language, if you don't it will assume the language corresponds to the [page variable](/syntax/page-variables/) `lang` (set to `julia` by default). +If you want the block to be considered as plaintext, use `plaintext` as the language specifier. + +Finally you can also use indented code blocks (which will also take its highlighting hint from `lang`) but this is **not recommended** and you have to explicitly opt-in by setting `indented_code` on a page that would use them: + +```markdown +@def indented_code = true +Code block: + + a = 5 + println(a) + +``` + +Indented code blocks are _ambiguous_ with how other Franklin blocks can be defined such as div blocks and latex blocks. If you really want to use them, you will have to ensure that your div blocks and latex commands on that page do **not use** indentation as it might cause problems. + +### Highlighting + +Syntax highlighting is done via [highlight.js](https://highlightjs.org/) and you can find the relevant script in the `/_libs/highlight/` folder. +The default one supports highlighting for Bash, CSS, Ini, Julia, Julia-repl, Markdown, plaintext, Python, R, Ruby, Xml and Yaml. +Note that if you use pre-rendering, then the full `highlight.js` is used with support for over 100 languages. + +By default unfenced code blocks (e.g. indented code blocks) will be highlighted as Julia code blocks; to change this, set `@def lang = "python"`. +If you want a code block to _not_ be highlighted, we recommend you use `plaintext` to guarantee this: + +`````markdown +```plaintext +this will not be highlighted +``` +````` + +If you wish to have higlighting for more languages outside of the pre-rendering mode, head to [highlight.js](https://highlightjs.org/), make a selection of languages and place the resulting `higlight.pack.js` in the `/_libs/highlight/` folder. +If you do this, you might want to slightly modify it to ensure that the Julia-repl mode is properly highlighted (e.g. `shell>`): + +@@tlist +* open the `highlight.pack.js` in an editor of your choice +* look for `hljs.registerLanguage("julia-repl"` and modify the entry to: +@@ + +```javascript +hljs.registerLanguage("julia-repl",function(a){return{c:[{cN:"meta",b:/^julia>/,r:10,starts:{e:/^(?![ ]{6})/,sL:"julia"}},{cN:"metas",b:/^shell>/,r:10,starts:{e:/^(?![ ]{6})/,sL:"bash"}},{cN:"metap",b:/^\(.*\)\spkg>/,r:10,starts:{e:/^(?![ ]{6})/,sL:"julia"}}]}}); +``` + +(see also [the README](https://github.com/tlienart/FranklinTemplates.jl#notes) of FranklinTemplates). + +### Evaluated code blocks + +Julia code blocks can be evaluated and the result of the code either shown or rendered. +To declare a code block for evaluation, use the fenced code block syntax with a name for the code block: + +`````markdown +```julia:snippet1 +using LinearAlgebra, Random +Random.seed!(555) +a = randn(5) +round(norm(a), sigdigits=4) +``` + +\show{snippet1} +````` + +This will look like + +```julia:snippet1 +using LinearAlgebra, Random +Random.seed!(555) +a = randn(5) +round(norm(a), sigdigits=4) +``` + +\show{snippet1} + +For more information on using evaluated code blocks, please head to the [section on code insertion](/code/). + +## Maths + +### Inline and display maths + +Inserting maths is done pretty much like in LaTeX: + +```plaintext +Inline: $x=5$ or display: + +$$ \mathcal W_\psi[f] = \int_{\mathbb R} f(s)\psi(s)\mathrm{d}s $$ +``` + +Inline: $x=5$ or display: + +$$ \mathcal W_\psi[f] = \int_{\mathbb R} f(s)\psi(s)\mathrm{d}s $$ + +You can also use `\[...\]` for display maths. + +One thing to keep in mind when adding maths on your page is that you should be generous in your use of whitespace, particularly around inequality operators to avoid ambiguity that could confuse KaTeX. +So for instance prefer: `$0 < C$` to `$0coloured +~~~ +``` + +you get: some ~~~coloured~~~ text (note that it all can be on a single line.) + +You could also use this to locally customise a layout etc. + +\note{Inside a raw HTML block, you cannot use markdown, maths, etc. For this reason, it is often preferable to use nested `@@divname...@@` blocks instead of raw HTML since those _can_ have markdown, maths, etc. in them. (See [inserting divs](/syntax/divs-commands/).)} + +## File insertions +A few commands are defined to help you with insertions of content; you can also define your own commands using custom HTML as was discussed before. + +### Inserting a figure + +The commands +@@tlist +* `\figalt{alt}{path}`, and +* `\fig{path}` +@@ +are convenient commands to insert figures. +Of course you're free to use the default markdown way `![alt](full_path)` instead. +One difference with these commands though is that they allow the use of relative paths; this can be convenient in order to organise your assets as you organise your pages. + +**Note**: to help with the organisation of assets, Franklin will assume by default that figures are placed in a folder `/output/` relative to where the script is, i.e. if the script is in `[script_dir]`, the figures will be in `[script_dir]/output/`. To help with this, the macro `@OUTPUT` can be used which specifies the path to this relative output dir: + +````` +```julia:./ex1 +using PyPlot +figure() +plot([0, 1], [0, 1]) +savefig(joinpath(@OUTPUT, "test.png")) +``` +\fig{./output/test} +````` + +This gives: + +```julia:./ex1 +using PyPlot +figure() +plot([0, 1], [0, 1]) +savefig(joinpath(@OUTPUT, "test.png")) +``` + +@@small-img + \fig{./output/test} +@@ + +In fact the syntax `\fig{./test}` is also allowed, Franklin will then first look in the `[script_dir]` for a `test.*` figure and, if it doesn't find one, will try to look in `[script_dir]/output/` for a `test.*` figure: + +@@small-img + \fig{./test} +@@ + +\note{Remember that these docs are written in Franklin so you can inspect the source directory if you would like to see the source markdown.} + +### Inserting markdown + +In some situation, you may have some markdown in a file which you might want to include somewhere else. +This can be achieved thanks to the `\textinput{path}` commmand. +The path specification is as the other commands, and the text will be formatted. + +As an example you could have in `/assets/ccc/sidefile.md`: + + +```markdown +some **markdown** in a side file. +``` + +whereas in `index.md`: + +```markdown +This is the index then \textinput{ccc/sidefile} +``` + +and this will be equivalent to just having in `index.md`: + +```markdown +This is the index then some **markdown** in a side file. +``` + +**Note**: if you don't specify a file extension, `.md` is appended to the specified path. + +### Inserting a table + +You can insert tables directly from CSV files with the `\tableinput{header}{path}` command. +If you generate the file on-the-fly, you should follow this example: + +````` +```julia:./tableinput/gen +testcsv = "h1,h2,h3 +152,some string, 1.5f0 +0,another string,2.87" +write("assets/pages/tableinput/testcsv.csv", testcsv) +``` +````` + +Then you can insert the table with: + +````` +\tableinput{}{./tableinput/testcsv.csv} +````` + +Which will result in: + +| h1 | h2 | h3 | +| --- | -------------- | ----- | +| 152 | some string | 1.5f0 | +| 0 | another string | 2.87 | + +In this case, given no header was specified in the call, a header was generated from the first line in the CSV (here: `h1, h2, h3`). + +If your file doesn't have a header, you can specify it in the call: + +````` +```julia:./tableinput/gen +testcsv = "152,some string, 1.5f0 +0,another string,2.87" +write("assets/pages/tableinput/testcsv2.csv", testcsv) +``` +\tableinput{custom h1,custom h2,custom h3}{./tableinput/testcsv2.csv} +````` + +| custom h1 | custom h2 | custom h3 | +| --------- | -------------- | --------- | +| 152 | some string | 1.5f0 | +| 0 | another string | 2.87 | + +With the above in mind, you can also include existing CSV files. + +\note{The look of the table will be defined by your CSS stylesheet.} + +There's a couple of rules that you have to keep in mind when using the `\tableinput{}{}` command: + +@@tlist +* Columns must be separated by a comma (`,`). +* If a header is specified, its length must match the number of columns in the file. +@@ diff --git a/syntax/page-variables.md b/syntax/page-variables.md new file mode 100644 index 0000000..4e42a99 --- /dev/null +++ b/syntax/page-variables.md @@ -0,0 +1,272 @@ +@def hascode=true + +# Page variables + + + + + +\blurb{Page variables offer a straightforward way to interact with the HTML templating from the markdown.} + +\lineskip + +\toc + +## Overview + +The general syntax to define a page variable is to write `@def varname = value` on a new line e.g.: + +``` +@def author = "Septimia Zenobia" +``` + +where you could set the variable to a string, a number, a date,... anything. Definitions can span multiple lines but if they do, the subsequent lines **must** be indented e.g.: + +``` +@def some_str = """A string + on several lines is ok + but lines must be indented""" +``` + +These variables can serve multiple purposes but, primarily, they can be accessed from the HTML template blocks e.g.: + +```html +
+ This is the footer. © {{fill author}}. +
+``` + +which could be useful as footer on all pages. + +The syntax `{{ ... }}` indicates a HTML _function_, `fill` is the function name and the rest of the bracket elements are _page variables_ (here `author`) serving as arguments of the function. + +_Local_ page variables denote variables that are defined on a single page and accessible on that page only by contrast to _global_ page variables which are set globally (in the `config.md` file) and accessible on all pages. + +In both cases there are _default_ page variables with default values which you can change and use. +You can also define your own variables, both global and local. + +### Using page variables + +Both local and global page variables are meant for essentially two purposes: + +@@tlist +1. control the HTML template from the markdown, +1. modify how Franklin generates HTML. +@@ + +The second one is a bit less prevalent but, for instance, you can specify the default programming language for all code blocks so that code blocks that don't specify a language would use the default language for highlighting: + +``` +@def lang = "julia" +``` + +In the first case, you can access variables in your HTML template via one of the HTML functions such as the `fill` function shown above. + +## HTML functions + +HTML functions can be used in any one of your `*.html` file and in particular in any of the `_layout/*.html` files such as `head.html`. +They are always called with the syntax `{{fname pv1 pv2 ...}}` where `pv1 pv2 ...` are page variable names. + +### Basic functions + +A few functions are available with the `{{fill ...}}` arguably the most likely to be of use. + +@@lalign +| Format | Role | +| :----: | :--: | +| `{{fill vname}}` or `{{vname}}` | place the value of page variable `vname` +| `{{fill vname rpath}}` | same but taking the value from the page at `rpath` where `rpath` is a relative path like `blog/pg1` +| `{{insert fpath}}` | insert the content of the file at `fpath` +| `{{href vname}}` | inserts a reference (_mostly internal use_) +| `{{toc}}` | places a table of content (_mostly internal use_) +@@ + +The `{{insert fpath}}` can be useful if you want to include specific HTML scaffolding on some pages, for instance in example pages you will see in the `head.html`: + +```html +{{if hasmath}} {{insert head_katex.html}} {{end}} +``` + +### Conditional blocks + +Conditional blocks allow to specify which parts of the HTML template should be active depending on the value of given page variable(s). +The format follows this structure: + +```html +{{if vname}} +... +{{elseif vname2}} +... +{{else}} +... +{{end}} +``` + +where `vname` and `vname2` are expected to be page variable evaluating to a boolean. +Of course you don't have to specify the `{{elseif ...}}` or `{{else}}` if you don't need them. + +\note{ + The conditional blocks are fairly basic; in particular operations between page variables are not supported, so you can't write something like `{{if hasmath && hascode}}`. + For more complex use cases, consider defining your own HTML functions using the [utils file](/syntax/utils/). +} + +You can also use some dedicated conditional blocks: + +@@lalign +| Format | Role | +| :----: | :--: | +| `{{ispage path/to/page}}` | whether the current page corresponds to the path +| `{{isnotpage path/to/page}}` | opposite of previous +| `{{isdef vname}}` | whether `vname` is defined +| `{{isnotdef vname}}` | opposite of previous +@@ + +The `{{ispage ...}}` and `{{isnotpage ...}}` accept `*` as joker symbol; for instance `{{ispage maths/*}}` is allowed. + +**Note**: for the `C` users out there, you can also use `ifdef`, `ifndef`. + +Consider the following example (very similar to what is used on the current page): + +```html +
  • • Syntax +
      + +
    • Page Variables + +
    +``` + +This allows a simple, javascript-free, way of having a navigation menu that is styled depending on which page is currently active. + +### For loops + +You can define iterable page variables (array, tuple, ...) and loop over them using the following syntax: + +```html +{{for x in vname}} + ...{{fill x}}... +{{end}} +``` + +Only `{{fill vname}}` and `{{fill vname rpath}}` are allowed in such a for loop. You can also unpack an iterable like + +```html +{{for (x, y) in vname}} + ...{{fill x}}...{{fill y}} +{{end}} +``` + +where `vname` would refer to something like `[(1,2),(3,4)]`. + +## Global page variables + +The table below list global page variables that you can set. +These variables are best defined in your `config.md` file though you can overwrite the value locally by redefining the variable on a given page (this will then only have an effect on that page). + +@@lalign +| Name | Type(s) | Default value | Comment +| :--: | :-----: | :-----------: | :-----: +| `author` | `String, Nothing` | `"THE AUTHOR"` | +| `autocode` | `Bool` | `true` | whether to detect the presence of code blocks and set the local var `hascode` automatically +| `automath` | `Bool` | `true` | whether to detect the presence of math blocks and set the local var `hasmath` automatically +| `date_format` | `String` | `"U dd, yyyy"` | Must be a format recognised by Julia's `Dates.format` +| `date_days` | `Vector{String}` | `String[]` | Names for days of the week (\*) +| `date_shortdays` | `Vector{String}` | `String[]` | Short names for the days of the week (\*) +| `date_months` | `Vector{String}` | `String[]` | Names for months (\*) +| `date_shortmonths` | `Vector{String}` | `String[]` | Short names for months (\*) +| `div_content` | `String` | `"franklin-content"` | Name of the div that will englobe the processed content between `head` and `foot` +| `ignore` | `Vector{String}` | `String[]` | Files that should be ignored by Franklin (\*\*) +| `prepath` | `String` | `""` | Use if your website is a project website (\*\*\*) +| `website_title`| `String` | `""` | (RSS) (\*\*\*\*) +| `website_descr`| `String` | `""` | (RSS) +| `website_url` | `String` | `""` | (RSS) +| `generate_rss` | `Bool` | `true` | +| `folder_structure` | `VersionNumber` | `v"0.2"` | only relevant for users of Franklin < 0.5, see [NEWS.md](http://github.com/tlienart/Franklin.jl/NEWS.md) +@@ + +**Notes**:\\ +\smindent{(\*)} \smnote{must be in a format recognized by Julia's `Dates.DateLocale`. Defaults to English. If left unset, the short names are created automatically by using the first three characters of the full names.}\\ +\smindent{(\*\*)} \smnote{to ignore a file add it's relative path like `"path/to/file.md"`, to ignore a directory end the path with a `/` like `"path/to/dir/"`.}\\ +\smindent{(\*\*\*)} \smnote{say you're using GitHub pages and your username is `darth`, by default Franklin will assume the root URL to be `darth.github.io/`. However, if you want to build a project page so that the base URL is `darth.github.io/vador/` then use `@def prepath = "vador"`}.\\ +\smindent{(\*\*\*\*)} \smnote{these **must** be defined for RSS to be generated for your site (on top of `generate_rss` being `true`). See also the [RSS subsection](#rss) below}. + +## Local page variables + +The tables below list local page variables that you can set. +These variables are typically set locally on a page. +Remember that: +@@tlist +- you can also define your own variables (with different names), +- you can change the default value of a variable by defining it in your `config.md`. +@@ +Note that variables shown below that have a name starting with `fd_` are _not meant to be defined_ as their value is typically computed on the fly (but they can be used). + +### Basic settings + +@@lalign +| Name | Type | Default value | Comment +| ---- | ---- | ------------- | ------- +| `title` | `String, Nothing` | `nothing` | page title (\*) +| `hasmath` | `Bool` | `true` | whether to activate KaTeX for that page +| `hascode` | `Bool` | `false` | whether to activate highlight.js for that page +| `date` | `String, Date, Nothing` | `Date(1)` | a date object (e.g. if you want to set a publication date) +| `lang` | `String` | `julia` | default highlighting for code on the page +| `reflinks` | `Bool` | `true` | whether there are things like `[ID]: URL` on your page (\*\*) +| `indented_code` | `Bool` | `false` | whether indented blocks should be considered as code (\*\*\*) +| `mintoclevel` | `Int` | `1` | minimum title level to go in the table of content (often you'll want this to be `2`) +| `maxtoclevel` | `Int` | `10` | maximum title level to go in the table of content +| `fd_ctime` | `Date` | | time of creation of the markdown file +| `fd_mtime` | `Date` | | time of last modification of the markdown file +| `fd_rpath` | `String` | | relative path to file `[(...)/thispage.md]` +@@ + +**Notes**:\\ +\smindent{(\*)} \smnote{if the title is not set, the first header will be used as title}.\\ +\smindent{(\*\*)} \smnote{there may be cases where you want to literally type `]:` in some code without it indicating a link reference. In such case, set `reflinks` to `false` to avoid ambiguities}.\\ +\smindent{(\*\*\*)} \smnote{it is recommended to fence your code blocks (use backticks) as it's not ambiguous for the parser whereas indented blocks can be. If you do want to use indented blocks as code blocks, it's your responsibility to make sure there are no ambiguities}. + +### Code evaluation + +For more informations on these, see the section on [inserting and evaluating code](/code/). + +@@lalign +| Name | Type | Default value | Comment +| ---- | ---- | ------------- | ------- +| `reeval` | `Bool` | `false` | whether to reevaluate all code blocks on the page +| `showall` | `Bool` | `false` | notebook mode if `true` where the output of the code block is shown below +| `fd_eval` | `Bool` | `false` | internal variable to keep track of whether the scope is stale (in which case all subsequent blocks are re-evaluated) +@@ + +### RSS + +These are variables related to [RSS 2.0 specifications](https://cyber.harvard.edu/rss/rss.html) and must match the format indicated there. +If you want proper RSS to be generated, you **must** define at least the `rss_description` or `rss` (which is an alias for `rss_description`). +All these variables expect a `String`. + +@@lalign +| Name | Default value | +| ---- | ------------- | +| `rss`, `rss_description` | `""` | +| `rss_title` | current page title | +| `rss_author` | current author | +| `rss_category` | `""` | +| `rss_comments` | `""` | +| `rss_enclosure` | `""` | +| `rss_pubdate` | `""` | +@@ + +To recapitulate, for a working RSS feed to be generated you need: + +@@tlist +- to set the `website_*` variables in your `config.md` (see [global page variables](#global_page_variables)), +- on appropriate pages, to define at least `rss` to a valid description. +@@ + +For an example, see [this mirror of the Julia blog posts](https://github.com/cormullion/julialangblog) with: + +@@tlist +- [the config file](https://github.com/cormullion/julialangblog/blob/master/src/config.md) +- an [example of page](https://github.com/cormullion/julialangblog/blob/master/src/pages/2012-02-14-why-we-created-julia.md). +@@ diff --git a/syntax/utils.md b/syntax/utils.md new file mode 100644 index 0000000..285c9e8 --- /dev/null +++ b/syntax/utils.md @@ -0,0 +1 @@ +# Utils diff --git a/workflow/deploy.md b/workflow/deploy.md new file mode 100644 index 0000000..2a39d02 --- /dev/null +++ b/workflow/deploy.md @@ -0,0 +1,166 @@ + + +# Deploying your website + +\blurb{Set it up once then don't think about it.} + +\lineskip + +\toc + +\lineskip + +Deploying the website is trivial on Gitlab and services like Netlify. On GitHub there are a few extra steps **especially if you want a user/org website**. + +## Deploying on GitHub + +**Warning**: the setup to synchronise your local folder and the remote repository is _different_ based on whether you want a user/org website: +@@tlist +* a _user_ website has a base URL looking like `username.github.io`. +* a _project_ website has a base URL looking like `username.github.io/project/`. +@@ +Make sure to follow the appropriate instructions! + +### Creating a repo on GitHub + +Start by creating an empty GitHub repository + +@@tlist +* for a personal (or org) website the repository **must** be named `username.github.io` (or `orgname.github.io`) see also [the github pages docs](https://pages.github.com/), +* for a project website the repo can be named anything you want, let's say `myWebsite`. +@@ + +### Adding access tokens + +In order for the deployment action to work on GitHub, you need to set up an access token on GitHub. The steps are explained below but you [can read more on the topic here](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line). + +**STEP 1**: + +@@tlist +* Make a public/private key pair on your local machine with `ssh-keygen -N "" -f franklin` ([see also here](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#generating-a-new-ssh-key) for more information about generating ssh keys). +* This creates 2 files, the private key: `franklin`, and the public key `franklin.pub`. +@@ + +**STEP 2**: + +@@tlist +* Go to the repository and select *Settings > Secrets* then click on **Add new secret**, +* Name the secret `FRANKLIN_PRIV` and copy the contents of the **private key** (`franklin`) from the previous step. +@@ + +![](/assets/img/add_secret.png) + +**STEP 3**: + +@@tlist +* Go to the repository and select *Settings > Deploy keys* then click on **Add deploy key**, +* Name the deploy key `FRANKLIN_PUB` and copy the contents of the **public key** (`franklin.pub`) from step 1. +* Give the key write access. +@@ + +![](/assets/img/add_deploy_key.png) + +**STEP 4**: + +Remove both files (`franklin`, `franklin.pub`) from your local folder. + +### Synchronise your local folder [User/Org website] + +> This assumes that you're working on a user folder with base URL looking like `username.github.io`. See [this example](https://github.com/tlienart2/tlienart2.github.io) for instance. + +You need to synchronise your repository and your local website folder; to do so, go to your terminal, `cd` to the website folder and follow the steps below: + +@@tlist +- `git init && git remote add origin URL_TO_YOUR_REPO` +- `git checkout -b dev` +- `git add -A && git commit -am "initial files"` +@@ + +It is **crucial** to change the branch to `dev` (or any other name that you like that is not `master`). +This is because a user/org site **must** be deployed from the `master` branch on GitHub. + +Now, in an editor, open the file [`.github/workflows/deploy.yml`](https://github.com/tlienart2/tlienart2.github.io/blob/dev/.github/workflows/deploy.yml) and change the `on` section to + +```yaml +on: + push: + branches: + - dev +``` + +change also the `BRANCH` line at the end to `BRANCH: master`: + +```yaml +BRANCH: master +FOLDER: __site +``` + +With all this, if you push changes to `dev` with + +``` +git push -u origin dev +``` + +the GitHub action will be triggered and deploy the content of the `__site` folder to the `master` branch. +GitHub pages will then deploy the website from the master branch. + +\note{It takes a couple of minutes for the whole process to complete and your site to be available online.} + +\note{It is recommended to change your default branch on the repository to `dev` (GitHub may have done that automatically for you). To do this, click on *Settings > Branches* and select the default branch.} + +### Synchronise your local folder [Project website] + +> This assumes that you're working on a user folder with base URL looking like `username.github.io/myWebsite`. See [this example](https://github.com/tlienart2/myWebsite) for instance. + +Now you need to synchronise your repository and your local website folder; to do so, go to your terminal, `cd` to the website folder and follow the steps below: + +@@tlist +- `git init && git remote add origin URL_TO_YOUR_REPO` +- `git add -A && git commit -am "initial files"` +@@ + +That's it! when you push your updates to the `master` branch, the [GitHub action](https://github.com/tlienart2/myWebsite/blob/master/.github/workflows/deploy.yml) will deploy the `__site` folder to a `gh-pages` branch that GitHub Pages will then use to deploy your website. + +\note{It takes a couple of minutes for the whole process to complete and your site to be available online.} + +### Troubleshooting + +@@tlist +- Make sure you have set the access tokens properly, +- Make sure GitHub Pages is pointing at the right branch (see screenshot below), +- Open an issue on Franklin's GitHub or ask on the **#franklin** juliaslack channel. +@@ + +![](/assets/img/deploy_branch.png) + +## Deploying on GitLab + +### Creating a repo on GitLab + +Start by creating an empty GitLab repository + +@@tlist +* for a personal website the repository **must** be named `username.gitlab.io` see also [the gitlab pages docs](https://about.gitlab.com/stages-devops-lifecycle/pages/), +* for a project website the repo can be named anything you want. +@@ + +### Synchronise your local folder + +Now you need to synchronise your repository and your local website folder; to do so, go to your terminal, `cd` to the website folder and follow the steps below: + +@@tlist +- `git init && git remote add origin URL_TO_YOUR_REPO` +- `git add -A && git commit -am "initial files"` +@@ + +That's it! when you push your updates to the `master` branch, the GitLab CI will copy the `__site` folder to a virtual `public` folder and deploy its content. + +\note{It takes a couple of minutes for the whole process to complete and your site to be available online.} + +## Deploying on Netlify + +Synchronise your local website folder with a repository (e.g. a GitHub or GitLab repository) then select that repository on Netlify and indicate you want to deploy the `__site` folder. + +That's it! diff --git a/workflow/index.md b/workflow/index.md new file mode 100644 index 0000000..1867bed --- /dev/null +++ b/workflow/index.md @@ -0,0 +1,197 @@ + + +# Working with Franklin + +\blurb{Set things up in minutes and focus on writing great content.} + +\lineskip + +\toc + +## Creating your website + +To get started, the easiest is to use the `newsite` function to generate a website folder which you can then modify to your heart's content. +The command takes one mandatory argument: the _name_ of the folder (which can be `"."` if you want to set things up in your current directory). +You can optionally specify a template: + +```julia-repl +julia> newsite("TestWebsite"; template="vela") +✓ Website folder generated at "TestWebsite" (now the current directory). +→ Use serve() from Franklin to see the website in your browser. +``` + +There are a number of [simple templates](https://tlienart.github.io/FranklinTemplates.jl/) you can choose from and tweak. + +\note{The templates are meant to be used as _starting points_ and will likely require some fixes to match what you want. Your help to make them better is very welcome.} + +Once you have created a new website folder, you can start the live-rendering of your website with + +```julia-repl +julia> serve() +→ Initial full pass... +→ Starting the server... +✓ LiveServer listening on http://localhost:8000/ ... + (use CTRL+C to shut down) +``` + +and navigate in a browser to the corresponding address to preview the website. + +### Folder structure + +The initial call to `newsite` generates a folder with the following structure: + +```plaintext +. +├── _assets/ +├── _layout/ +├── _libs/ +├── config.md +└── index.md +``` + +After running `serve` the first time, an additional folder is generated: `__site` which will contain your full generated website. +Among these folders: + +@@tlist +* the files in the top folder such as `index.md` are the source files for the generated pages, you must have an `index.md` or `index.html` at the top level but can then use whatever folder structure you want (see further), +* you should **not** modify the content of `__site` as it's *generated* and any changes you do in there may be silently over-written whenever you modify files elsewhere, +* the folders `_assets/`, `_libs/`, `_layout` and `_css` contain *auxiliary files* supporting your site: + * `_assets/` will contain images, code snippets, etc., + * `_css/` will contain the style sheets, + * `_libs/` will contain javascript libraries, + * `_layout/` will contain bits of HTML scaffolding for the generated pages, +@@ + +### Top folder + +In this folder, + +@@tlist +* `index.md` will generate the site's landing page, +* `pages/page1.md` would correspond to pages on your website (you can have whatever subfolder structure you want in here), +* `config.md` allows to specify variables that help steer the page generation, you can also use it to declare global variables or definitions that can then be used on all pages. +@@ + +\note{You can also write pages in plain HTML. For instance you may want to write an `index.html` file instead of generating it via the `index.md`. You will still need to put it at the exact same place and let Franklin copy the files appropriately.} + +Note that Franklin generates a folder structure in `__site` which allows to have URLs like `[website]/page1/`. The following rules are applied: + +* the filename is `[path/]index.md` or `[path/]index.html`, it will be copied over "as is" to `__site/[path/]index.html`, +* the filename is `[path/]somepage.md` or `[path/]somepage.html`, it will be copied to `__site/[path/]somepage/index.html`. + +So for instance if we ignore auxiliary files and you have + +``` +. +├── index.md +├── folder +│ └── subpage.md +└── page.md +``` + +it will lead to + +``` +__site + ├── index.html + ├── folder + │ └── subpage + │ └── index.html + └── page + └── index.html +``` + +which allows to have the following URLs: + +@@tlist +* `[website]/` +* `[website]/page/` +* `[website]/folder/subpage/` +@@ + +### Reserved names + +To avoid name clashes, refrain from using the following paths where `/` indicates the topdir (website folder): + +@@tlist +* `/css/` or `/css.md` +* `/layout/` or `/layout.md` +* `/literate/` or `/literate.md` +@@ + +Also bear in mind that Franklin will ignore `README.md`, `LICENSE.md`, `Manifest.toml` and `Project.toml`. + +### Editing and testing your website + +The `serve` function can be used to launch a server which will track and render modifications. +There are a few useful options you can use beyond the barebone `serve()`, do `?serve` in your REPL for all options, we list a few noteworthy one below: + +@@tlist +* `clear=false`, whether to erases `__site` and starts from a blank slate, +* `single=false`, whether to do a single build pass generating all pages and not start the server. +* `prerender=false`, whether to prerender code blocks and maths (see the [optimisation step](#optimisation_step)) +* `verb=false`, whether to show information about which page is being processed etc, +* `silent=false`, whether to suppress any informative messages that could otherwise appear in your console when editing your site, this goes one step further than `verb=false` as it also applies for code evaluation, +* `eval_all=false`, whether to re-evaluate all code blocks on all pages. +@@ + +## Post-processing + +### Verify links + +Before deploying you may want to verify that links on your website lead somewhere, to do so use the `verify_links()`. +It will take a few second to verify all links on every generated pages but can be quite helpful to identify dead links or links with typos: + +```julia-repl +julia> verify_links() +Verifying links... [you seem online ✓] +- internal link issue on page index.md: /menu3/. +``` + +then after fixing and re-generating pages: + +```julia-repl +julia> verify_links() +All internal and external links verified ✓. +``` + +### Pre-rendering and compression + +The `optimize` function can + +@@tlist +* pre-render KaTeX and highlight.js code to HTML so that the pages don't have to load these javascript libraries, +* minify all generated HTML and CSS. +@@ +See `?optimize` for options. + +Those two steps may lead to faster loading pages. +Note that in order to run them, you will need a couple of external dependencies as mentioned in the [installation section](/index.html#installing_optional_extras). + +The `optimize` function is called by default in the `publish` function which can be used to help deploy your website. + +### Publish + +\note{If you use GitHub or GitLab with a deployment action on those platforms, you do not need to use `publish`, you can just push your changes and let the relevant action do the rest on the platform. See the section on [deployment](/workflow/deploy/).} + +Once you have synched your local folder with a remote repository (see [deployment instructions](/workflow/deploy/)), the `publish` function can be called to deploy your website; it essentially: + +@@tlist +- applies an optional optimisation step (see previous point), +- does a `git add -A; git commit -am "franklin-update"; git push`. +@@ + +See `?publish` for more information. + +In any case, before deploying, if you're working on a _project website_ i.e. a website whose root URL will look like `username.gitlab.io/project/` then you should add the following line in your `config.md` file: + +```markdown +@def prepath = "project" +``` + +the `publish` function will then ensure that all links are fixed before deploying your website. + +Note also that the `publish` function accepts a `final=` keyword to which you can pass any function `() -> nothing` to do some final post-processing before pushing updates online. +For instance, you can use `final=lunr` where `lunr` is a function exported by Franklin which generates a Lunr search index (see [this tutorial](/extras/lunr/) for more details). diff --git a/workflow/structure.md b/workflow/structure.md new file mode 100644 index 0000000..af45525 --- /dev/null +++ b/workflow/structure.md @@ -0,0 +1,73 @@ + + +# Page structure + + +\blurb{Pages are assembled like lego blocks.} + + + +## Overview + +At a high level, the process to go from a markdown file `file.md` to the corresponding html page is quite simple: + +```plaintext +result = head * body * page_foot * foot +``` + +where + +* `head` corresponds to `_layout/head.html`, +* `page_foot` and `foot` correspond respectively to `_layout/page_foot.html` and `_layout/foot.html`, +* `body` correspond to Franklin's conversion of input markdown. + +One additional step processes the resulting HTML to resolve any html function (`{{ ... }}`) that may be left. + +The final HTML for a page will essentially look like: + +```html + + + + + ... + + + + + + + ... + + +``` + +Of course it will depend of what you have in your `_layout/head.html` etc, you can tweak this at will. You can also make this as modular as you want by using conditional blocks in your `head.html` and insert specific sub layouts depending on the page. For instance the `head.html` file could include something like + +```html + +{{ispage blog/*}} {{insert head_blog}}{{end}} + +``` + +for more on this, see the section on [page variables](/syntax/page-variables/). + +\note{This also means that it is required to have a `_layout/head.html`, `_layout/foot.html` and `_layout/page_foot.html`, you **must** have these files but they can be empty (in practice it wouldn't make sense to have all of them be empty but you could have `page_foot` empty).} + +### Resolved body + +The resolved body is plugged in a "container" div + +```html +
    +... +
    +``` + +if you're using a CSS framework like bootstrap, you might want to control the name of that outer div which you can do by specifying `@def div_content = "container"` in your `config.md`.