diff --git a/plot_annual_hydro_by_basins.ipynb b/plot_annual_hydro_by_basins.ipynb index 82474be..c285053 100644 --- a/plot_annual_hydro_by_basins.ipynb +++ b/plot_annual_hydro_by_basins.ipynb @@ -2,18 +2,48 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# install dependencies\n", + "!pip install plotly --quiet" + ] + }, + { + "cell_type": "code", + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "\n", + "import os\n", + "from pathlib import Path\n", + "\n", "import plotly.graph_objs as go\n", "from plotly.subplots import make_subplots\n", "import plotly.express as px" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Configure plotly's renderer" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import plotly.io as pio\n", + "pio.renderers.default = \"notebook\"" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -25,19 +55,37 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "define data paths" + "Path to pre-mounted data" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ - "mpath = './'\n", + "# data_dir = Path(os.environ['DATA_DIR'])\n", + "mpath = '/data/'\n", "dpath = mpath+'hydrosmade_v1/'" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Or if running locally and you've downloaded the data set the path:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# mpath = './'\n", + "# dpath = mpath+'hydrosmade_v1/'" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -47,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -62,7 +110,7 @@ " dtype='object')" ] }, - "execution_count": 3, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -82,7 +130,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -92,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -101,7 +149,7 @@ "3173" ] }, - "execution_count": 5, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -134,16 +182,24 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 21, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_465/1223149010.py:2: FutureWarning: 'M' is deprecated and will be removed in a future version, please use 'ME' instead.\n", + " date = pd.date_range(''+str(syr)+'-1', periods=(2100-syr+1)*12, freq='M')\n" + ] + }, { "data": { "text/plain": [ "1812" ] }, - "execution_count": 6, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -174,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -203,73 +259,13 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "large_storage ssp126 canesm5\n", - "large_storage ssp126 cnrm-cm6-1\n", - "large_storage ssp126 cnrm-esm2-1\n", - "large_storage ssp126 ec-earth3\n", - "large_storage ssp126 gfdl-esm4\n", - "large_storage ssp126 ipsl-cm6a-lr\n", - "large_storage ssp126 miroc6\n", - "large_storage ssp126 mpi-esm1-2-hr\n", - "large_storage ssp126 mri-esm2-0\n", - "large_storage ssp126 ukesm1-0-ll\n", - "large_storage ssp370 canesm5\n", - "large_storage ssp370 cnrm-cm6-1\n", - "large_storage ssp370 cnrm-esm2-1\n", - "large_storage ssp370 ec-earth3\n", - "large_storage ssp370 gfdl-esm4\n", - "large_storage ssp370 ipsl-cm6a-lr\n", - "large_storage ssp370 miroc6\n", - "large_storage ssp370 mpi-esm1-2-hr\n", - "large_storage ssp370 mri-esm2-0\n", - "large_storage ssp370 ukesm1-0-ll\n", - "large_storage ssp585 canesm5\n", - "large_storage ssp585 cnrm-cm6-1\n", - "large_storage ssp585 cnrm-esm2-1\n", - "large_storage ssp585 ec-earth3\n", - "large_storage ssp585 gfdl-esm4\n", - "large_storage ssp585 ipsl-cm6a-lr\n", - "large_storage ssp585 miroc6\n", - "large_storage ssp585 mpi-esm1-2-hr\n", - "large_storage ssp585 mri-esm2-0\n", - "large_storage ssp585 ukesm1-0-ll\n", - "local_diversion ssp126 canesm5\n", - "local_diversion ssp126 cnrm-cm6-1\n", - "local_diversion ssp126 cnrm-esm2-1\n", - "local_diversion ssp126 ec-earth3\n", - "local_diversion ssp126 gfdl-esm4\n", - "local_diversion ssp126 ipsl-cm6a-lr\n", - "local_diversion ssp126 miroc6\n", - "local_diversion ssp126 mpi-esm1-2-hr\n", - "local_diversion ssp126 mri-esm2-0\n", - "local_diversion ssp126 ukesm1-0-ll\n", - "local_diversion ssp370 canesm5\n", - "local_diversion ssp370 cnrm-cm6-1\n", - "local_diversion ssp370 cnrm-esm2-1\n", - "local_diversion ssp370 ec-earth3\n", - "local_diversion ssp370 gfdl-esm4\n", - "local_diversion ssp370 ipsl-cm6a-lr\n", - "local_diversion ssp370 miroc6\n", - "local_diversion ssp370 mpi-esm1-2-hr\n", - "local_diversion ssp370 mri-esm2-0\n", - "local_diversion ssp370 ukesm1-0-ll\n", - "local_diversion ssp585 canesm5\n", - "local_diversion ssp585 cnrm-cm6-1\n", - "local_diversion ssp585 cnrm-esm2-1\n", - "local_diversion ssp585 ec-earth3\n", - "local_diversion ssp585 gfdl-esm4\n", - "local_diversion ssp585 ipsl-cm6a-lr\n", - "local_diversion ssp585 miroc6\n", - "local_diversion ssp585 mpi-esm1-2-hr\n", - "local_diversion ssp585 mri-esm2-0\n", - "local_diversion ssp585 ukesm1-0-ll\n", "large_diversion ssp126 canesm5\n", "large_diversion ssp126 cnrm-cm6-1\n", "large_diversion ssp126 cnrm-esm2-1\n", @@ -300,6 +296,36 @@ "large_diversion ssp585 mpi-esm1-2-hr\n", "large_diversion ssp585 mri-esm2-0\n", "large_diversion ssp585 ukesm1-0-ll\n", + "local_diversion ssp126 canesm5\n", + "local_diversion ssp126 cnrm-cm6-1\n", + "local_diversion ssp126 cnrm-esm2-1\n", + "local_diversion ssp126 ec-earth3\n", + "local_diversion ssp126 gfdl-esm4\n", + "local_diversion ssp126 ipsl-cm6a-lr\n", + "local_diversion ssp126 miroc6\n", + "local_diversion ssp126 mpi-esm1-2-hr\n", + "local_diversion ssp126 mri-esm2-0\n", + "local_diversion ssp126 ukesm1-0-ll\n", + "local_diversion ssp370 canesm5\n", + "local_diversion ssp370 cnrm-cm6-1\n", + "local_diversion ssp370 cnrm-esm2-1\n", + "local_diversion ssp370 ec-earth3\n", + "local_diversion ssp370 gfdl-esm4\n", + "local_diversion ssp370 ipsl-cm6a-lr\n", + "local_diversion ssp370 miroc6\n", + "local_diversion ssp370 mpi-esm1-2-hr\n", + "local_diversion ssp370 mri-esm2-0\n", + "local_diversion ssp370 ukesm1-0-ll\n", + "local_diversion ssp585 canesm5\n", + "local_diversion ssp585 cnrm-cm6-1\n", + "local_diversion ssp585 cnrm-esm2-1\n", + "local_diversion ssp585 ec-earth3\n", + "local_diversion ssp585 gfdl-esm4\n", + "local_diversion ssp585 ipsl-cm6a-lr\n", + "local_diversion ssp585 miroc6\n", + "local_diversion ssp585 mpi-esm1-2-hr\n", + "local_diversion ssp585 mri-esm2-0\n", + "local_diversion ssp585 ukesm1-0-ll\n", "local_storage ssp126 canesm5\n", "local_storage ssp126 cnrm-cm6-1\n", "local_storage ssp126 cnrm-esm2-1\n", @@ -329,7 +355,37 @@ "local_storage ssp585 miroc6\n", "local_storage ssp585 mpi-esm1-2-hr\n", "local_storage ssp585 mri-esm2-0\n", - "local_storage ssp585 ukesm1-0-ll\n" + "local_storage ssp585 ukesm1-0-ll\n", + "large_storage ssp126 canesm5\n", + "large_storage ssp126 cnrm-cm6-1\n", + "large_storage ssp126 cnrm-esm2-1\n", + "large_storage ssp126 ec-earth3\n", + "large_storage ssp126 gfdl-esm4\n", + "large_storage ssp126 ipsl-cm6a-lr\n", + "large_storage ssp126 miroc6\n", + "large_storage ssp126 mpi-esm1-2-hr\n", + "large_storage ssp126 mri-esm2-0\n", + "large_storage ssp126 ukesm1-0-ll\n", + "large_storage ssp370 canesm5\n", + "large_storage ssp370 cnrm-cm6-1\n", + "large_storage ssp370 cnrm-esm2-1\n", + "large_storage ssp370 ec-earth3\n", + "large_storage ssp370 gfdl-esm4\n", + "large_storage ssp370 ipsl-cm6a-lr\n", + "large_storage ssp370 miroc6\n", + "large_storage ssp370 mpi-esm1-2-hr\n", + "large_storage ssp370 mri-esm2-0\n", + "large_storage ssp370 ukesm1-0-ll\n", + "large_storage ssp585 canesm5\n", + "large_storage ssp585 cnrm-cm6-1\n", + "large_storage ssp585 cnrm-esm2-1\n", + "large_storage ssp585 ec-earth3\n", + "large_storage ssp585 gfdl-esm4\n", + "large_storage ssp585 ipsl-cm6a-lr\n", + "large_storage ssp585 miroc6\n", + "large_storage ssp585 mpi-esm1-2-hr\n", + "large_storage ssp585 mri-esm2-0\n", + "large_storage ssp585 ukesm1-0-ll\n" ] } ], @@ -367,7 +423,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -376,7 +432,7 @@ "120" ] }, - "execution_count": 9, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -394,7 +450,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -403,7 +459,7 @@ "(60, 60)" ] }, - "execution_count": 10, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -433,7 +489,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -442,7 +498,7 @@ "60" ] }, - "execution_count": 11, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -471,7 +527,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -480,7 +536,7 @@ "60" ] }, - "execution_count": 12, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -502,7 +558,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [] @@ -523,7619 +579,3910 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 42, "metadata": {}, "outputs": [ { "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "line": { - "color": "rgb(68, 178, 68)" - }, - "mode": "lines", - "name": "SSP1-2.6", - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 35420.488212000004, - 36277.968204000004, - 35327.131242, - 35005.096368000006, - 34527.454410000006, - 35182.133154, - 36494.565389999996, - 39256.278468, - 37999.690038, - 38711.44113000001, - 40903.61535, - 40300.648056, - 38214.456893999995, - 37844.498172, - 36190.310046, - 36835.730214, - 37511.907912, - 37853.48358, - 37085.47293, - 40735.098576, - 42182.22771, - 37699.734324000005, - 39950.918556, - 39630.920112, - 37354.499897999995, - 38967.669726, - 40553.041272, - 41965.58643, - 40550.36842199999, - 38837.190078, - 40001.115798, - 39508.637982, - 39170.225946, - 38564.18145, - 39452.97271799999, - 37211.25710999999, - 35631.025638, - 37766.782307999994, - 37777.012812, - 36020.317044, - 36073.658868, - 35344.06461, - 34407.172692, - 34277.820012, - 35552.35793399999, - 34862.379497999995, - 35520.856002, - 34782.047364, - 38137.539978, - 36584.067396000006, - 35654.54691600001, - 36237.234108000004, - 33944.580012000006, - 31719.48927, - 35053.909614, - 34358.626937999994, - 34991.014794, - 37062.766656, - 33340.359414, - 37294.12441800001, - 37981.345122, - 39457.140654, - 36403.089234, - 36108.39290399999, - 36284.187882000006, - 36895.229886, - 34153.562040000004, - 34421.01591, - 34638.326736, - 32765.63736, - 31142.589995999995, - 32235.292248000005, - 33707.388498, - 37433.79457799999, - 39085.639751999995, - 36015.616242000004, - 36750.070758, - 35527.879583999995, - 36342.24619799999, - 34951.538178, - 37046.344247999994, - 36676.8378, - 35448.840402, - 36666.141006000005, - 38140.139718000006, - 36835.38177, - 36697.66457400001, - 37404.164778000006, - 37827.901344, - 34813.790303999995, - 35997.300678, - 37503.67236, - 35814.33880799999, - 35613.139422, - 36772.53999, - 36529.173822, - 36134.641469999995, - 39738.315846, - 37712.662206, - 39809.32054200001, - 38732.173026, - 37672.46587200001, - 37715.55, - 38767.811321999994, - 35650.072272, - 34511.483922, - 41113.444428, - 41596.087031999996, - 37815.264384, - 38049.19374, - 35869.228548, - 34585.924566, - 36025.05455400001, - 37194.365981999996, - 38212.28682, - 38796.122334, - 38615.478714000004, - 40088.694396000006, - 36068.832222, - 36931.502076, - 37830.443022, - 36865.016058, - 34835.475636, - 38219.05146, - 37072.869522, - 37848.891672, - 38454.081377999995, - 39643.439232000004, - 40292.189934, - 39297.477756, - 38952.475439999995, - 37142.370462000006, - 40754.790552000006, - 38328.184865999996, - 39587.939412, - 40532.162286, - 40177.880826, - 39025.95865200001, - 40813.319658, - 41089.860210000006, - 38335.03308, - 36248.364557999994, - 37639.24314, - 38629.233456, - 39844.63491, - 35634.381773999994, - 35608.908234, - 32915.674056, - 34016.476674, - 37654.493255999994, - 40134.078246000005 - ], - "yaxis": "y" - }, - { - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Upper Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 40010.994818908286, - 40198.88914428765, - 40685.38968663809, - 40322.23217983953, - 38197.51394718032, - 38016.68437324684, - 41903.589070453185, - 46524.9843726466, - 42780.3977650488, - 43651.08894595234, - 48013.52695222657, - 46093.653254738194, - 42241.339848478536, - 44022.102947190375, - 41253.672721833966, - 44161.85552712789, - 42440.7433909243, - 43941.25042505308, - 40568.545649695734, - 46488.57801775582, - 46779.78220230734, - 43695.38231935369, - 45934.50651324727, - 45578.64853408533, - 43911.78221129165, - 44966.212988455925, - 46616.23216567525, - 50707.629891220844, - 44576.99041664034, - 42575.89494697656, - 45933.076025879476, - 42956.028804293484, - 44748.1311188923, - 43597.3841107597, - 47683.53397823482, - 47025.311788362036, - 43789.22985155401, - 42020.82151282899, - 42529.75516773452, - 39317.800802712314, - 40453.63986528998, - 40046.89272587228, - 38984.519837114916, - 38519.44933602951, - 43687.04284541215, - 40611.686262644624, - 40845.64600024732, - 38839.33122088546, - 44296.18158305799, - 41564.181231270115, - 42273.130148485114, - 42445.41664104981, - 39108.62023331389, - 36827.135730169095, - 41183.90732383066, - 39595.66115352351, - 39605.72646569001, - 43174.04052643293, - 36704.295519962805, - 42341.38540997356, - 42693.75280286863, - 46396.259996673885, - 42993.72987236089, - 41413.86896632397, - 40824.197622368105, - 41197.80362687199, - 39145.127956680764, - 38752.9596629217, - 38337.17997919428, - 39536.16466952809, - 36974.62370713039, - 40708.0136543246, - 38867.93728694589, - 42683.829298444194, - 44161.800862369215, - 40150.37860610853, - 40208.58307394695, - 39790.31776889858, - 41729.89180658756, - 40042.978698398896, - 41787.28158774292, - 41476.35074116624, - 40637.16954940209, - 42032.01461537, - 44816.66039801901, - 43039.567793675335, - 42037.21127767133, - 42286.28880959177, - 44756.00396989246, - 44385.09370769425, - 42140.044504746234, - 43246.25770745775, - 42755.382188742944, - 40419.66743819983, - 40372.934123903724, - 41189.565646132934, - 38777.98091425959, - 46288.52471438073, - 44289.533116241415, - 45602.53588984325, - 45489.32590446327, - 43985.729436540074, - 40977.09534463504, - 44697.60030040203, - 39743.27013273322, - 39097.75692121618, - 50021.685901025456, - 47747.72681358572, - 44828.35102825459, - 43404.652837396185, - 40735.47431917094, - 40400.116568465026, - 43567.870050256955, - 43675.629202496304, - 42384.44942022645, - 44674.25429619297, - 43957.31736611432, - 43424.731048598434, - 40082.4450437886, - 42163.04891759748, - 43394.59014666068, - 41865.38980790369, - 40638.105822335136, - 43922.19488052925, - 42938.90876457445, - 43514.65829137917, - 41654.9532656756, - 44800.66572774646, - 47687.61845928003, - 46621.87984749226, - 45083.0300335905, - 43691.78681892956, - 48122.18907542053, - 45388.22955738912, - 44143.71844078245, - 45519.14647402277, - 44600.402766722305, - 45320.061508807084, - 48369.35925174679, - 48440.18007820221, - 44494.546604247014, - 41300.53433404708, - 41890.53979673586, - 46578.0997368032, - 48029.937375754314, - 42286.783842981815, - 40111.59632786601, - 38319.00723408739, - 38166.819615225075, - 44101.68831142307, - 45492.048793478694 - ], - "yaxis": "y" - }, - { - "fill": "tonexty", - "fillcolor": "rgba(68, 178, 68, 0.3)", - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Lower Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 30829.981605091725, - 32357.047263712357, - 29968.872797361917, - 29687.960556160484, - 30857.394872819696, - 32347.58193475316, - 31085.541709546804, - 31987.572563353395, - 33218.9823109512, - 33771.793314047674, - 33793.70374777343, - 34507.6428572618, - 34187.573939521455, - 31666.893396809624, - 31126.947370166028, - 29509.60490087212, - 32583.072433075708, - 31765.716734946924, - 33602.40021030427, - 34981.619134244174, - 37584.67321769266, - 31704.08632864632, - 33967.33059875273, - 33683.19168991467, - 30797.21758470834, - 32969.126463544075, - 34489.85037832476, - 33223.54296877916, - 36523.74642735964, - 35098.48520902344, - 34069.15557012052, - 36061.247159706516, - 33592.3207731077, - 33530.97878924029, - 31222.41145776516, - 27397.202431637947, - 27472.82142444599, - 33512.743103171, - 33024.27045626548, - 32722.833285287692, - 31693.677870710013, - 30641.23649412772, - 29829.825546885084, - 30036.190687970484, - 27417.673022587835, - 29113.072733355362, - 30196.06600375268, - 30724.763507114534, - 31978.898372942014, - 31603.953560729893, - 29035.9636835149, - 30029.0515749502, - 28780.539790686114, - 26611.8428098309, - 28923.911904169334, - 29121.592722476475, - 30376.303122309997, - 30951.492785567065, - 29976.423308037192, - 32246.863426026448, - 33268.93744113137, - 32518.02131132612, - 29812.448595639107, - 30802.916841676015, - 31744.178141631906, - 32592.65614512801, - 29161.996123319248, - 30089.072157078306, - 30939.473492805722, - 25995.110050471914, - 25310.556284869603, - 23762.570841675413, - 28546.83970905411, - 32183.759857555793, - 34009.478641630776, - 31880.853877891477, - 33291.55844205305, - 31265.441399101404, - 30954.60058941243, - 29860.09765760111, - 32305.40690825707, - 31877.32485883376, - 30260.511254597914, - 31300.267396630017, - 31463.619037981003, - 30631.195746324665, - 31358.11787032869, - 32522.04074640824, - 30899.798718107533, - 25242.48690030574, - 29854.556851253765, - 31761.087012542248, - 28873.295427257042, - 30806.61140580017, - 33172.14585609627, - 31868.78199786706, - 33491.3020257404, - 33188.10697761927, - 31135.791295758587, - 34016.105194156764, - 31975.020147536725, - 31359.202307459942, - 34454.004655364966, - 32838.02234359796, - 31556.87441126678, - 29925.210922783815, - 32205.202954974553, - 35444.44725041427, - 30802.177739745413, - 32693.73464260382, - 31002.982776829056, - 28771.732563534977, - 28482.23905774306, - 30713.102761503687, - 34040.124219773556, - 32917.99037180703, - 33273.640061885686, - 36752.65774340158, - 32055.219400211397, - 31699.955234402514, - 32266.295897339318, - 31864.642308096314, - 29032.845449664874, - 32515.908039470756, - 31206.83027942555, - 32183.125052620824, - 35253.20949032439, - 34486.21273625355, - 32896.761408719976, - 31973.07566450774, - 32821.92084640949, - 30592.95410507045, - 33387.39202857948, - 31268.14017461088, - 35032.160383217546, - 35545.17809797723, - 35755.358885277696, - 32731.855795192932, - 33257.28006425321, - 33739.5403417978, - 32175.519555752984, - 31196.194781952912, - 33387.94648326414, - 30680.36717519681, - 31659.332444245687, - 28981.979705018173, - 31106.220140133988, - 27512.340877912615, - 29866.133732774924, - 31207.298200576915, - 34776.107698521315 - ], - "yaxis": "y" - }, - { - "line": { - "color": "rgb(131, 119, 180)" - }, - "mode": "lines", - "name": "SSP3-7.0", - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 35424.012036, - 36283.478856, - 35325.38851800001, - 34989.43818600001, - 34496.7627, - 35192.77497, - 36456.71584799999, - 39296.659722, - 38033.101866, - 38780.572866, - 40991.536530000005, - 40399.037058, - 38305.914984, - 37910.970197999995, - 36241.309824, - 36875.529642, - 37542.866645999995, - 37896.590646, - 37138.041906, - 40806.818964, - 42256.98345, - 37756.777296, - 39992.669585999996, - 39705.234401999995, - 37379.725572, - 38984.78021999999, - 40604.608656000004, - 42043.027361999986, - 40625.341290000004, - 38894.78986800001, - 40092.632190000004, - 39561.837672, - 39235.210146000005, - 38599.709274, - 39493.34752199999, - 37229.998794, - 35642.668152000006, - 37825.021218, - 37836.94227000001, - 36036.64099199999, - 36091.39131, - 35346.411678, - 34371.21555000001, - 34233.336114, - 35509.645326000005, - 34815.48975, - 35452.992942, - 34737.847572, - 38112.773622, - 36582.085488, - 35596.402883999996, - 36191.124138, - 33914.269056000005, - 31669.171931999997, - 34952.23509, - 34258.60572000001, - 34919.853972, - 37028.300231999994, - 33281.483525999996, - 37261.741212, - 37975.100898, - 39454.739856, - 36366.442542, - 36066.28653, - 36207.602424, - 33671.350974, - 32414.846784000005, - 35920.791666, - 36286.940862, - 35605.272366000005, - 32942.588712000004, - 32907.406961999994, - 35484.912822, - 34782.116568, - 35998.116654, - 36213.70502999999, - 36458.437170000005, - 37624.703376000005, - 37092.508956000005, - 34848.38016, - 34860.419627999996, - 36058.18407, - 35434.733700000004, - 36489.212585999994, - 33027.40323000001, - 35142.62188199999, - 35720.298354, - 35850.54066, - 35046.304194, - 34828.500318, - 35964.158358, - 33065.45398200001, - 36403.58895600001, - 36322.782252000005, - 35006.982222000006, - 38179.665786000005, - 36860.186885999996, - 36261.01747800001, - 37240.292526000005, - 38383.21266, - 38707.573992, - 37776.31153800001, - 36806.882238000006, - 38559.337224, - 38697.477852, - 39676.992978, - 39410.357538, - 36694.804896, - 38228.87676, - 37966.646556, - 38875.871658000004, - 38246.782512, - 36968.909706, - 34997.098158, - 34704.488873999995, - 34418.925090000004, - 38557.985118, - 35133.94494, - 36015.42948599999, - 34634.635188, - 36868.48512, - 40421.022600000004, - 40014.78444, - 38263.312758, - 35241.837918000005, - 38265.26115599999, - 37719.682938, - 38038.856958, - 36172.927110000004, - 39524.749818, - 37130.710986000006, - 36911.463341999995, - 38098.157117999996, - 39136.187862000006, - 38622.027168, - 39618.12408, - 37247.830277999994, - 36750.2331, - 35575.166982, - 37811.095992, - 35901.38965799999, - 33539.392578, - 37787.011752, - 38621.49336, - 38573.776337999996, - 39684.409878, - 39816.398376, - 37599.05262, - 39232.613718, - 40341.856439999996, - 37411.433934 - ], - "yaxis": "y" - }, - { - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Upper Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 40045.295564788255, - 40239.59431474328, - 40716.21769466934, - 40348.2989494995, - 38193.9905721534, - 38069.745244885045, - 41923.418898435804, - 46628.05837828018, - 42832.556159299565, - 43766.60482418552, - 48168.74309196645, - 46265.778315241325, - 42379.35374823595, - 44148.24967450662, - 41386.144233146464, - 44281.24796553737, - 42522.21271719617, - 44013.75053183674, - 40600.453847940895, - 46608.7067303798, - 46883.7324335272, - 43795.95830417486, - 46033.6844903854, - 45724.715782977524, - 44062.98097961297, - 45025.17586628975, - 46734.78059938748, - 50851.18677465011, - 44675.46585898644, - 42679.666911711036, - 46067.55404265112, - 43047.272331678185, - 44847.08929139896, - 43696.726899860005, - 47790.055581624954, - 47174.410591914406, - 43932.97959999125, - 42069.91835702301, - 42580.984270707406, - 39353.09077129443, - 40530.48903170136, - 40166.561026735784, - 39041.053375157964, - 38491.25844664284, - 43728.928389733825, - 40634.43284718771, - 40811.553574491176, - 38871.41685527949, - 44310.81488828118, - 41580.04488839314, - 42249.77622989093, - 42465.34304939514, - 39135.89805815247, - 36859.11186094984, - 41114.30974914808, - 39571.770975062405, - 39605.23211209758, - 43161.88868542844, - 36735.757892898866, - 42344.11514969743, - 42750.81919544417, - 46459.9394333782, - 43074.31744625706, - 41446.23748804228, - 40769.85200627296, - 39835.96779958692, - 36932.410196743556, - 43215.350908555905, - 43207.21226099472, - 42432.09427307938, - 39116.022117328466, - 38405.71560878676, - 38440.17098648859, - 38928.30996721973, - 39414.254135705465, - 44022.01441721112, - 39277.27298434275, - 43034.365192055, - 44605.242228374926, - 40378.19053281755, - 41337.7751786196, - 41778.13594441085, - 39264.98723426046, - 44983.44155323001, - 40322.362332303914, - 39643.725340375306, - 41956.74719311663, - 39898.52739371865, - 39795.491454117335, - 38141.46228306322, - 39646.16376247086, - 38734.325780312436, - 40679.53781842122, - 40137.13337413672, - 38989.805717965806, - 43639.164577409676, - 43749.630348574785, - 39689.95324885735, - 41763.45324315781, - 42945.11177224382, - 43247.78885029561, - 43042.342837664066, - 40267.40035999987, - 45798.28808338195, - 43792.9033769799, - 45673.93547761689, - 42739.695661136604, - 40429.01812053089, - 46017.28040921729, - 46091.18459468617, - 45779.1191350079, - 45134.138434229884, - 43239.569603836244, - 39363.32123285553, - 41178.11340068728, - 39114.92125948667, - 44658.77783078059, - 41440.543732934944, - 41265.39738022764, - 39641.38149980138, - 41196.69663442462, - 44453.683549241905, - 45141.60176295128, - 45358.424455575994, - 41135.517101005724, - 45688.450292178466, - 41391.73182448787, - 43822.684221443924, - 42627.39117308775, - 46174.438119611805, - 40961.92805600726, - 41909.89229147448, - 43230.13663058242, - 43938.847096176614, - 43682.391912998726, - 44518.58285412693, - 40420.9669818732, - 41125.85077675951, - 42618.698900195566, - 46314.82779112163, - 42670.81035415368, - 42314.51632074044, - 43742.14639895869, - 42970.35014537113, - 47625.472978405254, - 43620.902994666016, - 45770.93431569399, - 49327.877390776564, - 48852.50452970955, - 47862.58307506868, - 43285.97991507396 - ], - "yaxis": "y" - }, - { - "fill": "tonexty", - "fillcolor": "rgba(131, 119, 180, 0.3)", - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Lower Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 30802.72850721175, - 32327.363397256726, - 29934.559341330667, - 29630.577422500515, - 30799.5348278466, - 32315.804695114948, - 30990.01279756418, - 31965.26106571982, - 33233.64757270043, - 33794.54090781449, - 33814.32996803356, - 34532.29580075868, - 34232.47621976405, - 31673.690721493374, - 31096.475414853543, - 29469.81131846263, - 32563.52057480382, - 31779.430760163257, - 33675.6299640591, - 35004.93119762019, - 37630.2344664728, - 31717.596287825138, - 33951.65468161459, - 33685.753021022465, - 30696.470164387036, - 32944.38457371024, - 34474.43671261253, - 33234.867949349864, - 36575.21672101357, - 35109.91282428898, - 34117.710337348886, - 36076.40301232182, - 33623.33100060105, - 33502.69164814, - 31196.639462375024, - 27285.586996085596, - 27352.35670400876, - 33580.124078976994, - 33092.90026929261, - 32720.19121270556, - 31652.29358829863, - 30526.262329264213, - 29701.377724842052, - 29975.413781357158, - 27290.362262266186, - 28996.546652812292, - 30094.432309508822, - 30604.27828872051, - 31914.732355718825, - 31584.12608760685, - 28943.029538109062, - 29916.905226604857, - 28692.640053847543, - 26479.23200305016, - 28790.16043085192, - 28945.44046493761, - 30234.47583190241, - 30894.711778571545, - 29827.209159101127, - 32179.367274302578, - 33199.38260055582, - 32449.5402786218, - 29658.567637742934, - 30686.33557195772, - 31645.352841727035, - 27506.73414841308, - 27897.28337125645, - 28626.23242344409, - 29366.669463005288, - 28778.450458920626, - 26769.155306671542, - 27409.098315213225, - 32529.654657511404, - 30635.923168780268, - 32581.97917229453, - 28405.395642788862, - 33639.60135565726, - 32215.04155994501, - 29579.775683625085, - 29318.56978718245, - 28383.064077380393, - 30338.232195589153, - 31604.480165739547, - 27994.983618769977, - 25732.444127696108, - 30641.51842362468, - 29483.849514883368, - 31802.553926281344, - 30297.116933882655, - 31515.538352936775, - 32282.15295352914, - 27396.582183687577, - 32127.640093578797, - 32508.431129863286, - 31024.158726034206, - 32720.16699459033, - 29970.743423425207, - 32832.081707142665, - 32717.1318088422, - 33821.313547756174, - 34167.35913370438, - 32510.28023833595, - 33346.36411600014, - 31320.386364618054, - 33602.05232702011, - 33680.05047838311, - 36081.01941486339, - 32960.59167146911, - 30440.47311078271, - 29842.108517313827, - 31972.624180992105, - 31359.426589770115, - 30698.249808163753, - 30630.87508314447, - 28230.86434731271, - 29722.92892051334, - 32457.1924052194, - 28827.346147065055, - 30765.46159177235, - 29627.888876198624, - 32540.27360557538, - 36388.3616507581, - 34887.96711704873, - 31168.201060424006, - 29348.158734994282, - 30842.07201982152, - 34047.63405151213, - 32255.02969455607, - 29718.46304691226, - 32875.06151638819, - 33299.49391599275, - 31913.034392525507, - 32966.17760541757, - 34333.5286278234, - 33561.662423001275, - 34717.66530587307, - 34074.69357412679, - 32374.61542324049, - 28531.635063804442, - 29307.36419287838, - 29131.96896184631, - 24764.268835259558, - 31831.877105041305, - 34272.63657462887, - 29522.079697594738, - 35747.91676133398, - 33861.86243630601, - 25870.22784922344, - 29612.722906290455, - 32821.12980493131, - 31536.88795292605 - ], - "yaxis": "y" - }, - { - "line": { - "color": "rgb(31, 119, 180)" - }, - "mode": "lines", - "name": "SSP5-8.5", - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 35423.56351199999, - 36269.47824, - 35308.160226, - 35013.153582000006, - 34522.56350999999, - 35192.60187599999, - 36483.457356000006, - 39266.153436, - 37986.597516, - 38732.589905999994, - 40964.60692199999, - 40357.458900000005, - 38271.28251599999, - 37894.09896, - 36202.114325999995, - 36840.153534000005, - 37501.812767999996, - 37865.590553999995, - 37117.164054, - 40798.970982, - 42200.720934, - 37685.49939600001, - 39938.699808000005, - 39615.996869999995, - 37324.832766, - 38961.487332000004, - 40579.445808000004, - 42002.737949999995, - 40577.72113199999, - 38850.52798199999, - 40060.84029, - 39523.049664000006, - 39211.28037, - 38558.267544, - 39468.618582, - 37233.953898, - 35661.191807999996, - 37803.501384, - 37808.984712000005, - 36015.032633999996, - 36078.461208, - 35351.355954000006, - 34389.64335, - 34278.88628399999, - 35538.531156, - 34848.091691999995, - 35487.939354, - 34744.939596, - 38115.817374, - 36571.81858199999, - 35633.225826, - 36247.669368, - 33935.820876, - 31716.666317999996, - 35018.302416000006, - 34334.303201999996, - 34969.046568000005, - 37044.347502000004, - 33309.900528, - 37285.73619, - 37986.375803999996, - 39451.031639999994, - 36364.744554, - 36088.239888, - 36250.444842, - 37792.569294, - 33472.987764000005, - 34886.376204, - 36153.687659999996, - 36699.92202, - 33646.154868, - 35551.989036, - 38902.24158, - 40022.685558, - 38771.012832, - 36214.893366000004, - 35940.3717, - 33472.45161, - 35778.298398, - 37328.799018000005, - 38138.7375, - 36605.09982, - 35869.330391999996, - 35480.234958, - 37934.47306800001, - 41642.72663399999, - 39996.998766, - 39626.54825400001, - 39282.16417799999, - 36739.245564, - 36479.88297, - 38637.281081999994, - 39536.702202, - 39012.252839999994, - 36343.042758, - 37228.598765999996, - 36212.33891400001, - 37918.455738000004, - 39074.310666, - 37101.295458, - 37031.739876, - 38116.418820000006, - 38265.425274, - 39813.69345, - 38732.621886, - 37436.23278599999, - 37006.59295199999, - 37062.14577, - 37762.74696599999, - 39231.52425, - 41404.546074, - 40140.952248, - 39277.801913999996, - 36131.236728, - 37372.920456, - 38108.104596000005, - 37853.00358, - 39313.074408, - 40717.445466, - 42513.832583999996, - 38584.498146000005, - 36939.182706, - 34870.866222, - 38979.309162, - 39443.278446, - 40199.599872, - 38469.798858, - 39983.214228000004, - 42364.668336, - 39691.370544, - 41307.272742, - 37436.277618, - 39375.728112, - 39645.99114, - 38293.465572, - 41419.631856, - 40015.94635199999, - 40776.511554, - 40158.199356, - 38672.315694000004, - 39404.196282, - 41360.771796, - 40262.878362, - 38185.40505000001, - 41262.417779999996, - 41267.81925, - 39973.21604399999, - 43592.66264400001, - 42507.627618, - 41243.608662, - 38971.731714 - ], - "yaxis": "y" - }, - { - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Upper Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 40021.746478345674, - 40197.10252693413, - 40658.12772373951, - 40344.38814982019, - 38177.11052865082, - 38028.486869494554, - 41921.33676876625, - 46556.79436220714, - 42759.67792028687, - 43699.45083074248, - 48123.775168634165, - 46228.320767760255, - 42331.204218550985, - 44067.41368218656, - 41270.909369866444, - 44141.68709149795, - 42413.391801047066, - 43924.41775642519, - 40587.026678376074, - 46559.275035959596, - 46828.06298663201, - 43674.02291037469, - 46007.82423497839, - 45602.50078637313, - 43943.11916710938, - 44960.13253228319, - 46658.29801515165, - 50727.275008432145, - 44545.34910115148, - 42585.23721332747, - 46027.371182436575, - 42997.591289645105, - 44798.88598177589, - 43620.533383803275, - 47692.160369845675, - 47095.22278218629, - 43904.63404645746, - 42058.043262374485, - 42549.47656060888, - 39298.17419570511, - 40428.93429201632, - 40076.63464075214, - 38962.99551487178, - 38503.95470901016, - 43681.267716486065, - 40584.575130343284, - 40813.81159517037, - 38869.78696149582, - 44272.30163336207, - 41519.98016115608, - 42243.85158032365, - 42442.4967694422, - 39120.413053660865, - 36841.187988885395, - 41189.48897600059, - 39578.78307574643, - 39614.26235564975, - 43103.69210999559, - 36691.05774794258, - 42340.65765363993, - 42704.966795058266, - 46364.85788676896, - 42948.04641893119, - 41433.62462048444, - 40790.15661281622, - 42758.971683014985, - 37482.65912588448, - 39057.22326722692, - 42750.74286531482, - 43070.82174387327, - 36629.90439384495, - 39274.14453343939, - 43938.8670434748, - 43110.731753511565, - 44441.96748751606, - 43012.03547262083, - 42420.747271348446, - 39260.393792580995, - 39615.33167269746, - 43636.271636529775, - 41473.28036843253, - 40859.51158832925, - 41894.22535475377, - 39196.69751858751, - 43602.121635665, - 47306.86061957343, - 45236.50578977592, - 45292.45461651848, - 44433.07674169691, - 41433.05526868252, - 44089.45653174536, - 44213.413258326604, - 46285.34299597273, - 46688.04139755223, - 42817.6834226019, - 45966.354240052795, - 44811.781063330585, - 44402.64375567546, - 48003.604070767746, - 43681.095170422, - 43352.76009334492, - 43328.67142854548, - 42324.95464875902, - 44598.74298993768, - 43612.34806421323, - 43185.96897144129, - 42723.56242387354, - 43419.88571654414, - 42393.78585814208, - 45930.34134269184, - 45747.98367902142, - 45550.687411867, - 44287.65545571327, - 43631.728486798595, - 43994.60730945922, - 41571.17116320727, - 41557.52964923373, - 46448.59741663182, - 49879.77275791808, - 50466.600253627985, - 42555.36601957276, - 43321.65274338803, - 41386.080016733766, - 50826.85367774302, - 48536.91701541055, - 47271.08530250937, - 45246.14777563755, - 47181.581102044394, - 48166.835189957004, - 45480.376588241495, - 48668.93624580392, - 41711.21658925666, - 44853.54881087988, - 42681.4439854621, - 44934.517625472945, - 48322.48280409494, - 45806.2209679191, - 47619.55720178604, - 46661.464171646665, - 45776.7171970469, - 46377.19078561762, - 48542.65331885104, - 47476.797726734454, - 45757.9077596411, - 48417.4641835411, - 47603.10479646738, - 47514.14241277309, - 54228.5044191719, - 47438.987024073336, - 49027.8603719295, - 46722.00421474032 - ], - "yaxis": "y" - }, - { - "fill": "tonexty", - "fillcolor": "rgba(31, 119, 180, 0.3)", - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Lower Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 30825.380545654312, - 32341.853953065856, - 29958.19272826049, - 29681.919014179824, - 30868.016491349168, - 32356.716882505432, - 31045.577943233766, - 31975.51250979286, - 33213.51711171313, - 33765.72898125751, - 33805.43867536582, - 34486.597032239755, - 34211.360813449, - 31720.78423781345, - 31133.31928213355, - 29538.619976502057, - 32590.233734952926, - 31806.763351574806, - 33647.30142962393, - 35038.6669280404, - 37573.378881367986, - 31696.975881625323, - 33869.57538102162, - 33629.49295362686, - 30706.546364890622, - 32962.84213171682, - 34500.593600848355, - 33278.200891567845, - 36610.093162848505, - 35115.818750672515, - 34094.309397563426, - 36048.50803835491, - 33623.67475822411, - 33496.00170419673, - 31245.076794154334, - 27372.68501381371, - 27417.749569542535, - 33548.95950562552, - 33068.49286339113, - 32731.89107229488, - 31727.988123983687, - 30626.07726724787, - 29816.29118512822, - 30053.817858989823, - 27395.79459551393, - 29111.6082536567, - 30162.06711282963, - 30620.092230504175, - 31959.333114637928, - 31623.657002843902, - 29022.600071676352, - 30052.841966557804, - 28751.22869833913, - 26592.144647114597, - 28847.115855999426, - 29089.82332825356, - 30323.83078035026, - 30985.002894004425, - 29928.743308057416, - 32230.814726360077, - 33267.784812941725, - 32537.20539323103, - 29781.44268906881, - 30742.85515551555, - 31710.73307118377, - 32826.16690498502, - 29463.31640211553, - 30715.52914077308, - 29556.63245468517, - 30329.022296126728, - 30662.405342155045, - 31829.833538560608, - 33865.616116525205, - 36934.63936248843, - 33100.05817648394, - 29417.751259379173, - 29459.99612865156, - 27684.509427419, - 31941.265123302543, - 31021.326399470236, - 34804.19463156747, - 32350.688051670753, - 29844.435429246223, - 31763.772397412493, - 32266.82450033502, - 35978.59264842655, - 34757.491742224076, - 33960.64189148154, - 34131.25161430307, - 32045.435859317473, - 28870.309408254638, - 33061.148905673384, - 32788.06140802727, - 31336.464282447756, - 29868.40209339811, - 28490.843291947196, - 27612.89676466943, - 31434.26772032455, - 30145.01726123225, - 30521.495745578, - 30710.71965865508, - 32904.16621145453, - 34205.89589924098, - 35028.64391006232, - 33852.895707786774, - 31686.496600558698, - 31289.623480126444, - 30704.40582345587, - 33131.7080738579, - 32532.707157308167, - 37061.10846897858, - 34731.217084133, - 34267.94837228672, - 28630.744969201412, - 30751.233602540775, - 34645.03802879274, - 34148.477510766264, - 32177.551399368185, - 31555.118174081916, - 34561.06491437201, - 34613.630272427254, - 30556.712668611966, - 28355.65242726623, - 27131.764646256976, - 30349.63987658944, - 33128.11444149063, - 31693.44994036245, - 32784.847353955614, - 36562.501482043, - 33902.3644997585, - 33945.609238196084, - 33161.33864674334, - 33897.90741312011, - 36610.538294537895, - 31652.41351852706, - 34516.78090790506, - 34225.67173608088, - 33933.465906213954, - 33654.93454035333, - 31567.914190953106, - 32431.201778382376, - 34178.890273148965, - 33048.95899726555, - 30612.902340358916, - 34107.37137645889, - 34932.53370353262, - 32432.28967522689, - 32956.82086882812, - 37576.26821192666, - 33459.3569520705, - 31221.45921325968 - ], - "yaxis": "y" - } - ], - "layout": { - "font": { - "size": 12 - }, - "height": 250, - "legend": { - "x": 1, - "xanchor": "left", - "y": 0.57, - "yanchor": "top" - }, - "margin": { - "b": 10, - "l": 10, - "r": 10, - "t": 15 - }, - "plot_bgcolor": "#f5f5f5", - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "width": 800, - "xaxis": { - "anchor": "y", - "autorange": true, - "domain": [ - 0, - 1 - ], - "range": [ - 1950, - 2100 - ], - "type": "linear" - }, - "yaxis": { - "anchor": "x", - "autorange": true, - "domain": [ - 0, - 1 - ], - "range": [ - 22070.018976258943, - 55921.05628458837 - ], - "tickformat": ".0f", - "title": { - "text": "Annual hydropower
availability (GWh/yr)" - }, - "type": "linear" - } - } - }, - "image/png": "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", "text/html": [ - "
\n", + "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if len(df_basin_yearly_gwh_div)>0:\n", - " fig = make_subplots(rows=1, cols=1, shared_xaxes=True, vertical_spacing=0.01)\n", - " \n", - " ###SSP126\n", - " fig.add_trace(go.Scatter(name='SSP1-2.6', x=df_basin_yearly_gwh_div_ssp_mean.index, \n", - " y=df_basin_yearly_gwh_div_ssp_mean['ssp126'],\n", - " mode='lines', line=dict(color='rgb(68, 178, 68)'),), row=1, col=1)\n", - " \n", - " fig.add_trace(go.Scatter(name='Upper Bound', x=df_basin_yearly_gwh_div_ssp_upper.index, \n", - " y=df_basin_yearly_gwh_div_ssp_upper['ssp126'],\n", - " mode='lines',marker=dict(color=\"#444\"),line=dict(width=0),showlegend=False), row=1, col=1)\n", - " \n", - " fig.add_trace(go.Scatter(name='Lower Bound', x=df_basin_yearly_gwh_div_ssp_lower.index, \n", - " y=df_basin_yearly_gwh_div_ssp_lower['ssp126'], marker=dict(color=\"#444\"), \n", - " line=dict(width=0), mode='lines', fillcolor='rgba(68, 178, 68, 0.3)',fill='tonexty',showlegend=False), row=1, col=1)\n", - " \n", - " # ###SSP370 \n", - " fig.add_trace(go.Scatter(name='SSP3-7.0', x=df_basin_yearly_gwh_div_ssp_mean.index, \n", - " y=df_basin_yearly_gwh_div_ssp_mean['ssp370'],\n", - " mode='lines', line=dict(color='rgb(131, 119, 180)'),), row=1, col=1)\n", - " \n", - " fig.add_trace(go.Scatter(name='Upper Bound', x=df_basin_yearly_gwh_div_ssp_upper.index, \n", - " y=df_basin_yearly_gwh_div_ssp_upper['ssp370'],\n", - " mode='lines',marker=dict(color=\"#444\"),line=dict(width=0),showlegend=False), row=1, col=1)\n", - " \n", - " fig.add_trace(go.Scatter(name='Lower Bound', x=df_basin_yearly_gwh_div_ssp_lower.index, \n", - " y=df_basin_yearly_gwh_div_ssp_lower['ssp370'],marker=dict(color=\"#444\"), \n", - " line=dict(width=0), mode='lines', fillcolor='rgba(131, 119, 180, 0.3)',fill='tonexty',showlegend=False), row=1, col=1)\n", - " \n", - " # ###SSP585 \n", - " fig.add_trace(go.Scatter(name='SSP5-8.5', x=df_basin_yearly_gwh_div_ssp_mean.index, \n", - " y=df_basin_yearly_gwh_div_ssp_mean['ssp585'],\n", - " mode='lines', line=dict(color='rgb(31, 119, 180)'),), row=1, col=1)\n", - " \n", - " fig.add_trace(go.Scatter(name='Upper Bound', x=df_basin_yearly_gwh_div_ssp_upper.index, \n", - " y=df_basin_yearly_gwh_div_ssp_upper['ssp585'],\n", - " mode='lines',marker=dict(color=\"#444\"),line=dict(width=0),showlegend=False), row=1, col=1)\n", - " \n", - " fig.add_trace(go.Scatter(name='Lower Bound', x=df_basin_yearly_gwh_div_ssp_lower.index, \n", - " y=df_basin_yearly_gwh_div_ssp_lower['ssp585'],marker=dict(color=\"#444\"), \n", - " line=dict(width=0), mode='lines', fillcolor='rgba(31, 119, 180, 0.3)',fill='tonexty', showlegend=False), row=1, col=1)\n", - " \n", - " \n", - " fig.update_yaxes( tickformat='.0f') #type='log', \n", - " \n", - " fig.update_layout(font = dict(size=12),width=800, height=250,\n", - " yaxis1 = dict(title=\"Annual hydropower
availability (GWh/yr)\"),\n", - " plot_bgcolor='#f5f5f5',#legend_traceorder=\"reversed\",#showlegend=False)\n", - " legend=dict(yanchor=\"top\",y=0.57,xanchor=\"left\", x=1.00), \n", - " margin=dict(l=10,r=10,b=10,t=15))\n", - " \n", - " fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "for storage-type sites if available" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ + "`).concat(d.join(`\n", + "`),`\n", + "`))}else{var v=_E(u),m=\"\",b=I2[s];s===\"notDeepEqual\"||s===\"notEqual\"?(v=\"\".concat(I2[s],`\n", + "\n", + "`).concat(v),v.length>1024&&(v=\"\".concat(v.slice(0,1021),\"...\"))):(m=\"\".concat(_E(c)),v.length>512&&(v=\"\".concat(v.slice(0,509),\"...\")),m.length>512&&(m=\"\".concat(m.slice(0,509),\"...\")),s===\"deepEqual\"||s===\"equal\"?v=\"\".concat(b,`\n", + "\n", + "`).concat(v,`\n", + "\n", + "should equal\n", + "\n", + "`):m=\" \".concat(s,\" \").concat(m)),a=r.call(this,\"\".concat(v).concat(m))}return Error.stackTraceLimit=f,a.generatedMessage=!o,Object.defineProperty(Zj(a),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),a.code=\"ERR_ASSERTION\",a.actual=u,a.expected=c,a.operator=s,Error.captureStackTrace&&Error.captureStackTrace(Zj(a),l),a.stack,a.name=\"AssertionError\",rMe(a)}return M4t(n,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:t,value:function(a,o){return Kj(this,JSe(JSe({},o),{},{customInspect:!1,depth:0}))}}]),n}(Yj(Error),Kj.custom);nMe.exports=q4t});var Jj=ye((bdr,sMe)=>{\"use strict\";var oMe=Object.prototype.toString;sMe.exports=function(t){var r=oMe.call(t),n=r===\"[object Arguments]\";return n||(n=r!==\"[object Array]\"&&t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&oMe.call(t.callee)===\"[object Function]\"),n}});var gMe=ye((wdr,pMe)=>{\"use strict\";var vMe;Object.keys||(wE=Object.prototype.hasOwnProperty,$j=Object.prototype.toString,lMe=Jj(),Qj=Object.prototype.propertyIsEnumerable,uMe=!Qj.call({toString:null},\"toString\"),cMe=Qj.call(function(){},\"prototype\"),TE=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],XR=function(e){var t=e.constructor;return t&&t.prototype===e},fMe={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},hMe=function(){if(typeof window==\"undefined\")return!1;for(var e in window)try{if(!fMe[\"$\"+e]&&wE.call(window,e)&&window[e]!==null&&typeof window[e]==\"object\")try{XR(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),dMe=function(e){if(typeof window==\"undefined\"||!hMe)return XR(e);try{return XR(e)}catch(t){return!1}},vMe=function(t){var r=t!==null&&typeof t==\"object\",n=$j.call(t)===\"[object Function]\",i=lMe(t),a=r&&$j.call(t)===\"[object String]\",o=[];if(!r&&!n&&!i)throw new TypeError(\"Object.keys called on a non-object\");var s=cMe&&n;if(a&&t.length>0&&!wE.call(t,0))for(var l=0;l0)for(var u=0;u{\"use strict\";var O4t=Array.prototype.slice,B4t=Jj(),mMe=Object.keys,ZR=mMe?function(t){return mMe(t)}:gMe(),yMe=Object.keys;ZR.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return B4t(n)?yMe(O4t.call(n)):yMe(n)})}else Object.keys=ZR;return Object.keys||ZR};_Me.exports=ZR});var SMe=ye((Adr,AMe)=>{\"use strict\";var N4t=eW(),wMe=Y8()(),TMe=dA(),xMe=Object,U4t=TMe(\"Array.prototype.push\"),bMe=TMe(\"Object.prototype.propertyIsEnumerable\"),V4t=wMe?Object.getOwnPropertySymbols:null;AMe.exports=function(t,r){if(t==null)throw new TypeError(\"target must be an object\");var n=xMe(t);if(arguments.length===1)return n;for(var i=1;i{\"use strict\";var tW=SMe(),G4t=function(){if(!Object.assign)return!1;for(var e=\"abcdefghijklmnopqrst\",t=e.split(\"\"),r={},n=0;n{\"use strict\";var kMe=function(e){return e!==e};CMe.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||kMe(t)&&kMe(r))}});var YR=ye((Edr,LMe)=>{\"use strict\";var j4t=rW();LMe.exports=function(){return typeof Object.is==\"function\"?Object.is:j4t}});var AE=ye((kdr,DMe)=>{\"use strict\";var W4t=eW(),X4t=typeof Symbol==\"function\"&&typeof Symbol(\"foo\")==\"symbol\",Z4t=Object.prototype.toString,Y4t=Array.prototype.concat,PMe=Object.defineProperty,K4t=function(e){return typeof e==\"function\"&&Z4t.call(e)===\"[object Function]\"},J4t=OH()(),IMe=PMe&&J4t,$4t=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!K4t(n)||!n())return}IMe?PMe(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},RMe=function(e,t){var r=arguments.length>2?arguments[2]:{},n=W4t(t);X4t&&(n=Y4t.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i{\"use strict\";var Q4t=YR(),eEt=AE();FMe.exports=function(){var t=Q4t();return eEt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var NMe=ye((Ldr,BMe)=>{\"use strict\";var tEt=AE(),rEt=tE(),iEt=rW(),qMe=YR(),nEt=zMe(),OMe=rEt(qMe(),Object);tEt(OMe,{getPolyfill:qMe,implementation:iEt,shim:nEt});BMe.exports=OMe});var iW=ye((Pdr,UMe)=>{\"use strict\";UMe.exports=function(t){return t!==t}});var nW=ye((Idr,VMe)=>{\"use strict\";var aEt=iW();VMe.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:aEt}});var HMe=ye((Rdr,GMe)=>{\"use strict\";var oEt=AE(),sEt=nW();GMe.exports=function(){var t=sEt();return oEt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var ZMe=ye((Ddr,XMe)=>{\"use strict\";var lEt=tE(),uEt=AE(),cEt=iW(),jMe=nW(),fEt=HMe(),WMe=lEt(jMe(),Number);uEt(WMe,{getPolyfill:jMe,implementation:cEt,shim:fEt});XMe.exports=WMe});var v4e=ye((Fdr,d4e)=>{\"use strict\";function YMe(e,t){return pEt(e)||vEt(e,t)||dEt(e,t)||hEt()}function hEt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", + "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dEt(e,t){if(e){if(typeof e==\"string\")return KMe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return KMe(e,t)}}function KMe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r10)return!0;for(var t=0;t57)return!0}return e.length===10&&e>=Math.pow(2,32)}function $R(e){return Object.keys(e).filter(AEt).concat(eD(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function u4e(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i{\"use strict\";function Zg(e){\"@babel/helpers - typeof\";return Zg=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Zg(e)}function p4e(e,t){for(var r=0;r1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i{var CE=1e3,LE=CE*60,PE=LE*60,IE=PE*24,KEt=IE*365.25;R4e.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return JEt(e);if(r===\"number\"&&isNaN(e)===!1)return t.long?QEt(e):$Et(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function JEt(e){if(e=String(e),!(e.length>100)){var t=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||\"ms\").toLowerCase();switch(n){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*KEt;case\"days\":case\"day\":case\"d\":return r*IE;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*PE;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*LE;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*CE;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function $Et(e){return e>=IE?Math.round(e/IE)+\"d\":e>=PE?Math.round(e/PE)+\"h\":e>=LE?Math.round(e/LE)+\"m\":e>=CE?Math.round(e/CE)+\"s\":e+\"ms\"}function QEt(e){return lD(e,IE,\"day\")||lD(e,PE,\"hour\")||lD(e,LE,\"minute\")||lD(e,CE,\"second\")||e+\" ms\"}function lD(e,t,r){if(!(e{Lc=F4e.exports=fW.debug=fW.default=fW;Lc.coerce=nkt;Lc.disable=rkt;Lc.enable=tkt;Lc.enabled=ikt;Lc.humanize=D4e();Lc.names=[];Lc.skips=[];Lc.formatters={};var cW;function ekt(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return Lc.colors[Math.abs(t)%Lc.colors.length]}function fW(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(cW||n);r.diff=i,r.prev=cW,r.curr=n,cW=n;for(var a=new Array(arguments.length),o=0;o{up=O4e.exports=z4e();up.log=skt;up.formatArgs=okt;up.save=lkt;up.load=q4e;up.useColors=akt;up.storage=typeof chrome!=\"undefined\"&&typeof chrome.storage!=\"undefined\"?chrome.storage.local:ukt();up.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"];function akt(){return typeof window!=\"undefined\"&&window.process&&window.process.type===\"renderer\"?!0:typeof document!=\"undefined\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=\"undefined\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}up.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}};function okt(e){var t=this.useColors;if(e[0]=(t?\"%c\":\"\")+this.namespace+(t?\" %c\":\" \")+e[0]+(t?\"%c \":\" \")+\"+\"+up.humanize(this.diff),!!t){var r=\"color: \"+this.color;e.splice(1,0,r,\"color: inherit\");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(a){a!==\"%%\"&&(n++,a===\"%c\"&&(i=n))}),e.splice(i,0,r)}}function skt(){return typeof console==\"object\"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function lkt(e){try{e==null?up.storage.removeItem(\"debug\"):up.storage.debug=e}catch(t){}}function q4e(){var e;try{e=up.storage.debug}catch(t){}return!e&&typeof process!=\"undefined\"&&\"env\"in process&&(e=process.env.DEBUG),e}up.enable(q4e());function ukt(){try{return window.localStorage}catch(e){}}});var X4e=ye((Odr,W4e)=>{var SA=gE(),J_=B4e()(\"stream-parser\");W4e.exports=fkt;var U4e=-1,uD=0,ckt=1,V4e=2;function fkt(e){var t=e&&typeof e._transform==\"function\",r=e&&typeof e._write==\"function\";if(!t&&!r)throw new Error(\"must pass a Writable or Transform stream in\");J_(\"extending Parser into stream\"),e._bytes=hkt,e._skipBytes=dkt,t&&(e._passthrough=vkt),t?e._transform=gkt:e._write=pkt}function RE(e){J_(\"initializing parser stream\"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=U4e,e._parserCallback=null,typeof e.push==\"function\"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function hkt(e,t){SA(!this._parserCallback,'there is already a \"callback\" set!'),SA(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got \"'+e+'\"'),this._parserInit||RE(this),J_(\"buffering %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=uD}function dkt(e,t){SA(!this._parserCallback,'there is already a \"callback\" set!'),SA(e>0,'can only skip > 0 bytes, got \"'+e+'\"'),this._parserInit||RE(this),J_(\"skipping %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=ckt}function vkt(e,t){SA(!this._parserCallback,'There is already a \"callback\" set!'),SA(e>0,'can only pass through > 0 bytes, got \"'+e+'\"'),this._parserInit||RE(this),J_(\"passing through %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=V4e}function pkt(e,t,r){this._parserInit||RE(this),J_(\"write(%o bytes)\",e.length),typeof t==\"function\"&&(r=t),H4e(this,e,null,r)}function gkt(e,t,r){this._parserInit||RE(this),J_(\"transform(%o bytes)\",e.length),typeof t!=\"function\"&&(t=this._parserOutput),H4e(this,e,t,r)}function G4e(e,t,r,n){return e._parserBytesLeft<=0?n(new Error(\"got data but not currently parsing anything\")):t.length<=e._parserBytesLeft?function(){return N4e(e,t,r,n)}:function(){var i=t.slice(0,e._parserBytesLeft);return N4e(e,i,r,function(a){if(a)return n(a);if(t.length>i.length)return function(){return G4e(e,t.slice(i.length),r,n)}})}}function N4e(e,t,r,n){if(e._parserBytesLeft-=t.length,J_(\"%o bytes left for stream piece\",e._parserBytesLeft),e._parserState===uD?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===V4e&&r(t),e._parserBytesLeft===0){var i=e._parserCallback;if(i&&e._parserState===uD&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==uD&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=U4e,e._parserBuffers.splice(0),i){var a=[];t&&a.push(t),r&&a.push(r);var o=i.length>a.length;o&&a.push(j4e(n));var s=i.apply(e,a);if(!o||n===s)return n}}else return n}var H4e=j4e(G4e);function j4e(e){return function(){for(var t=e.apply(this,arguments);typeof t==\"function\";)t=t();return t}}});var rc=ye(Jy=>{\"use strict\";var Z4e=NSe().Transform,mkt=X4e();function DE(){Z4e.call(this,{readableObjectMode:!0})}DE.prototype=Object.create(Z4e.prototype);DE.prototype.constructor=DE;mkt(DE.prototype);Jy.ParserStream=DE;Jy.sliceEq=function(e,t,r){for(var n=t,i=0;i{\"use strict\";var MA=rc().readUInt16BE,dW=rc().readUInt32BE;function FE(e,t){if(e.length<4+t)return null;var r=dW(e,t);return e.length>4&15,n=e[4]&15,i=e[5]>>4&15,a=MA(e,6),o=8,s=0;sa.width||i.width===a.width&&i.height>a.height?i:a}),r=e.reduce(function(i,a){return i.height>a.height||i.height===a.height&&i.width>a.width?i:a}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}fD.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(wkt(e,t),!!t.sizes.length){var r=Tkt(t.sizes),n=1;t.transforms.forEach(function(a){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(a.type===\"imir\"&&(a.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),a.type===\"irot\")for(var l=0;l{\"use strict\";function hD(e,t){var r=new Error(e);return r.code=t,r}function Akt(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function $y(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!==\"II*\\0\"&&n!==\"MM\\0*\")throw hD(\"invalid TIFF signature\",\"EBADDATA\");this.big_endian=n[0]===\"M\"}$y.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};$y.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw hD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};$y.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw hD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};$y.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};$y.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}};$y.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};$y.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var i=0;ithis.input.length)throw hD(\"unexpected EOF\",\"EBADDATA\");for(var h=[],d=c,v=0;v0&&(this.ifds_to_read.push({id:a,offset:h[0]}),f=!0);var b={is_big_endian:this.big_endian,ifd:e,tag:a,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(b)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};vW.exports.ExifParser=$y;vW.exports.get_orientation=function(e){var t=0;try{return new $y(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var J4e=ye((Vdr,K4e)=>{\"use strict\";var Skt=rc().str2arr,Mkt=rc().sliceEq,Ekt=rc().readUInt32BE,vD=Y4e(),kkt=dD(),Ckt=Skt(\"ftyp\");K4e.exports=function(e){if(Mkt(e,4,Ckt)){var t=vD.unbox(e,0);if(t){var r=vD.getMimeType(t.data);if(r){for(var n,i=t.end;;){var a=vD.unbox(e,i);if(!a)break;if(i=a.end,a.boxtype===\"mdat\")return;if(a.boxtype===\"meta\"){n=a.data;break}}if(n){var o=vD.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:\"px\",hUnits:\"px\"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=Ekt(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=kkt.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var eEe=ye((Gdr,Q4e)=>{\"use strict\";var Lkt=rc().str2arr,Pkt=rc().sliceEq,$4e=rc().readUInt16LE,Ikt=Lkt(\"BM\");Q4e.exports=function(e){if(!(e.length<26)&&Pkt(e,0,Ikt))return{width:$4e(e,18),height:$4e(e,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}});var aEe=ye((Hdr,nEe)=>{\"use strict\";var iEe=rc().str2arr,tEe=rc().sliceEq,rEe=rc().readUInt16LE,Rkt=iEe(\"GIF87a\"),Dkt=iEe(\"GIF89a\");nEe.exports=function(e){if(!(e.length<10)&&!(!tEe(e,0,Rkt)&&!tEe(e,0,Dkt)))return{width:rEe(e,6),height:rEe(e,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}});var lEe=ye((jdr,sEe)=>{\"use strict\";var pW=rc().readUInt16LE,Fkt=0,zkt=1,oEe=16;sEe.exports=function(e){var t=pW(e,0),r=pW(e,2),n=pW(e,4);if(!(t!==Fkt||r!==zkt||!n)){for(var i=[],a={width:0,height:0},o=0;oa.width||l>a.height)&&(a=u)}return{width:a.width,height:a.height,variants:i,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}});var cEe=ye((Wdr,uEe)=>{\"use strict\";var gW=rc().readUInt16BE,qkt=rc().str2arr,Okt=rc().sliceEq,Bkt=dD(),Nkt=qkt(\"Exif\\0\\0\");uEe.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=gW(e,t)-2,t+=2}else return;if(r===217||r===218)return;var i;if(r===225&&n>=10&&Okt(e,t,Nkt)&&(i=Bkt.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t0&&(a.orientation=i),a}t+=n}}});var pEe=ye((Xdr,vEe)=>{\"use strict\";var dEe=rc().str2arr,fEe=rc().sliceEq,hEe=rc().readUInt32BE,Ukt=dEe(`\\x89PNG\\r\n", + "\u001a\n", + "`),Vkt=dEe(\"IHDR\");vEe.exports=function(e){if(!(e.length<24)&&fEe(e,0,Ukt)&&fEe(e,12,Vkt))return{width:hEe(e,16),height:hEe(e,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}});var yEe=ye((Zdr,mEe)=>{\"use strict\";var Gkt=rc().str2arr,Hkt=rc().sliceEq,gEe=rc().readUInt32BE,jkt=Gkt(\"8BPS\\0\u0001\");mEe.exports=function(e){if(!(e.length<22)&&Hkt(e,0,jkt))return{width:gEe(e,18),height:gEe(e,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}});var bEe=ye((Ydr,xEe)=>{\"use strict\";function Wkt(e){return e===32||e===9||e===13||e===10}function EA(e){return typeof e==\"number\"&&isFinite(e)&&e>0}function Xkt(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t]*>/,Ykt=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,Kkt=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,Jkt=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,$kt=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,_Ee=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function Qkt(e){var t=e.match(Kkt),r=e.match(Jkt),n=e.match($kt);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Xm(e){return _Ee.test(e)?e.match(_Ee)[0]:\"px\"}xEe.exports=function(e){if(Xkt(e)){for(var t=\"\",r=0;r{\"use strict\";var AEe=rc().str2arr,wEe=rc().sliceEq,eCt=rc().readUInt16LE,tCt=rc().readUInt16BE,rCt=rc().readUInt32LE,iCt=rc().readUInt32BE,nCt=AEe(\"II*\\0\"),aCt=AEe(\"MM\\0*\");function pD(e,t,r){return r?tCt(e,t):eCt(e,t)}function mW(e,t,r){return r?iCt(e,t):rCt(e,t)}function TEe(e,t,r){var n=pD(e,t+2,r),i=mW(e,t+4,r);return i!==1||n!==3&&n!==4?null:n===3?pD(e,t+8,r):mW(e,t+8,r)}SEe.exports=function(e){if(!(e.length<8)&&!(!wEe(e,0,nCt)&&!wEe(e,0,aCt))){var t=e[0]===77,r=mW(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var i=pD(e,n+0,t)*12;if(!(i<=0)&&(n+=2,!(e.length-n{\"use strict\";var CEe=rc().str2arr,EEe=rc().sliceEq,kEe=rc().readUInt16LE,yW=rc().readUInt32LE,oCt=dD(),sCt=CEe(\"RIFF\"),lCt=CEe(\"WEBP\");function uCt(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:kEe(e,t+6)&16383,height:kEe(e,t+8)&16383,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}function cCt(e,t){if(e[t]===47){var r=yW(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function fCt(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<e.length)){for(;t+8=10?r=r||uCt(e,t+8):a===\"VP8L\"&&o>=9?r=r||cCt(e,t+8):a===\"VP8X\"&&o>=10?r=r||fCt(e,t+8):a===\"EXIF\"&&(n=oCt.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var REe=ye(($dr,IEe)=>{\"use strict\";IEe.exports={avif:J4e(),bmp:eEe(),gif:aEe(),ico:lEe(),jpeg:cEe(),png:pEe(),psd:yEe(),svg:bEe(),tiff:MEe(),webp:PEe()}});var DEe=ye((Qdr,xW)=>{\"use strict\";var _W=REe();function hCt(e){for(var t=Object.keys(_W),r=0;r{\"use strict\";var dCt=DEe(),vCt=qy().IMAGE_URL_PREFIX,pCt=_2().Buffer;FEe.getImageSize=function(e){var t=e.replace(vCt,\"\"),r=new pCt(t,\"base64\");return dCt(r)}});var BEe=ye((tvr,OEe)=>{\"use strict\";var qEe=Pr(),gCt=eA(),mCt=Eo(),gD=ho(),yCt=Pr().maxRowLength,_Ct=zEe().getImageSize;OEe.exports=function(t,r){var n,i;if(r._hasZ)n=r.z.length,i=yCt(r.z);else if(r._hasSource){var a=_Ct(r.source);n=a.height,i=a.width}var o=gD.getFromId(t,r.xaxis||\"x\"),s=gD.getFromId(t,r.yaxis||\"y\"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+i*r.dx],h=[u,u+n*r.dy];if(o&&o.type===\"log\")for(c=0;c{\"use strict\";var TCt=qa(),R2=Pr(),NEe=R2.strTranslate,ACt=Wp(),SCt=eA(),MCt=oG(),ECt=g8().STYLE;UEe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&MCt();R2.makeTraceGroups(i,n,\"im\").each(function(l){var u=TCt.select(this),c=l[0],f=c.trace,h=(f.zsmooth===\"fast\"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&a.type===\"linear\"&&o.type===\"linear\";f._realImage=h;var d=c.z,v=c.x0,m=c.y0,b=c.w,p=c.h,k=f.dx,M=f.dy,T,L,x,C,S,g;for(g=0;T===void 0&&g0;)L=a.c2p(v+g*k),g--;for(g=0;C===void 0&&g0;)S=o.c2p(m+g*M),g--;if(LH[0];if(re||oe){var _e=T+E/2,ke=C+z/2;j+=\"transform:\"+NEe(_e+\"px\",ke+\"px\")+\"scale(\"+(re?-1:1)+\",\"+(oe?-1:1)+\")\"+NEe(-_e+\"px\",-ke+\"px\")+\";\"}}Z.attr(\"style\",j);var Ce=new Promise(function(ge){if(f._hasZ)ge();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===b&&f._canvas.el.height===p&&f._canvas.source===f.source)ge();else{var ie=document.createElement(\"canvas\");ie.width=b,ie.height=p;var Se=ie.getContext(\"2d\",{willReadFrequently:!0});f._image=f._image||new Image;var Ee=f._image;Ee.onload=function(){Se.drawImage(Ee,0,0),f._canvas={el:ie,source:f.source},ge()},Ee.setAttribute(\"src\",f.source)}}).then(function(){var ge,ie;if(f._hasZ)ie=G(function(we,De){var Le=d[De][we];return R2.isTypedArray(Le)&&(Le=Array.from(Le)),Le}),ge=ie.toDataURL(\"image/png\");else if(f._hasSource)if(h)ge=f.source;else{var Se=f._canvas.el.getContext(\"2d\",{willReadFrequently:!0}),Ee=Se.getImageData(0,0,b,p).data;ie=G(function(we,De){var Le=4*(De*b+we);return[Ee[Le],Ee[Le+1],Ee[Le+2],Ee[Le+3]]}),ge=ie.toDataURL(\"image/png\")}Z.attr({\"xlink:href\":ge,height:z,width:E,x:T,y:C})});t._promises.push(Ce)})}});var HEe=ye((ivr,GEe)=>{\"use strict\";var kCt=qa();GEe.exports=function(t){kCt.select(t).selectAll(\".im image\").style(\"opacity\",function(r){return r[0].trace.opacity})}});var ZEe=ye((nvr,XEe)=>{\"use strict\";var jEe=vf(),WEe=Pr(),mD=WEe.isArrayOrTypedArray,CCt=eA();XEe.exports=function(t,r,n){var i=t.cd[0],a=i.trace,o=t.xa,s=t.ya;if(!(jEe.inbox(r-i.x0,r-(i.x0+i.w*a.dx),0)>0||jEe.inbox(n-i.y0,n-(i.y0+i.h*a.dy),0)>0)){var l=Math.floor((r-i.x0)/a.dx),u=Math.floor(Math.abs(n-i.y0)/a.dy),c;if(a._hasZ?c=i.z[u][l]:a._hasSource&&(c=a._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=i.hi||a.hoverinfo,h;if(f){var d=f.split(\"+\");d.indexOf(\"all\")!==-1&&(d=[\"color\"]),d.indexOf(\"color\")!==-1&&(h=!0)}var v=CCt.colormodel[a.colormodel],m=v.colormodel||a.colormodel,b=m.length,p=a._scaler(c),k=v.suffix,M=[];(a.hovertemplate||h)&&(M.push(\"[\"+[p[0]+k[0],p[1]+k[1],p[2]+k[2]].join(\", \")),b===4&&M.push(\", \"+p[3]+k[3]),M.push(\"]\"),M=M.join(\"\"),t.extraText=m.toUpperCase()+\": \"+M);var T;mD(a.hovertext)&&mD(a.hovertext[u])?T=a.hovertext[u][l]:mD(a.text)&&mD(a.text[u])&&(T=a.text[u][l]);var L=s.c2p(i.y0+(u+.5)*a.dy),x=i.x0+(l+.5)*a.dx,C=i.y0+(u+.5)*a.dy,S=\"[\"+c.slice(0,a.colormodel.length).join(\", \")+\"]\";return[WEe.extendFlat(t,{index:[u,l],x0:o.c2p(i.x0+l*a.dx),x1:o.c2p(i.x0+(l+1)*a.dx),y0:L,y1:L,color:p,xVal:x,xLabelVal:x,yVal:C,yLabelVal:C,zLabelVal:S,text:T,hovertemplateLabels:{zLabel:S,colorLabel:M,\"color[0]Label\":p[0]+k[0],\"color[1]Label\":p[1]+k[1],\"color[2]Label\":p[2]+k[2],\"color[3]Label\":p[3]+k[3]}})]}}}});var KEe=ye((avr,YEe)=>{\"use strict\";YEe.exports=function(t,r){return\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var $Ee=ye((ovr,JEe)=>{\"use strict\";JEe.exports={attributes:gH(),supplyDefaults:Z3e(),calc:BEe(),plot:VEe(),style:HEe(),hoverPoints:ZEe(),eventData:KEe(),moduleType:\"trace\",name:\"image\",basePlotModule:mh(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}});var eke=ye((svr,QEe)=>{\"use strict\";QEe.exports=$Ee()});var F2=ye((lvr,rke)=>{\"use strict\";var bW=Gl(),LCt=Cc().attributes,PCt=ec(),ICt=Ih(),{hovertemplateAttrs:RCt,texttemplateAttrs:DCt,templatefallbackAttrs:tke}=Ll(),D2=Ao().extendFlat,FCt=Pd().pattern,yD=PCt({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});rke.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:ICt.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:FCt,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:D2({},bW.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:RCt({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),hovertemplatefallback:tke(),texttemplate:DCt({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplatefallback:tke({editType:\"plot\"}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:D2({},yD,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:D2({},yD,{}),outsidetextfont:D2({},yD,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:D2({},bW.showlegend,{arrayOk:!0}),legend:D2({},bW.legend,{arrayOk:!0}),title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:D2({},yD,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:LCt({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"}}});var z2=ye((uvr,ake)=>{\"use strict\";var zCt=Eo(),zE=Pr(),qCt=F2(),OCt=Cc().defaults,BCt=i0().handleText,NCt=Pr().coercePattern;function ike(e,t){var r=zE.isArrayOrTypedArray(e),n=zE.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function nke(e,t,r,n,i){var a=n(\"marker.line.width\");a&&n(\"marker.line.color\",i?void 0:r.paper_bgcolor);var o=n(\"marker.colors\");NCt(n,\"marker.pattern\",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function UCt(e,t,r,n){function i(k,M){return zE.coerce(e,t,qCt,k,M)}var a=i(\"labels\"),o=i(\"values\"),s=ike(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i(\"label0\"),i(\"dlabel\")),!l){t.visible=!1;return}t._length=l,nke(e,t,n,i,!0),i(\"scalegroup\");var u=i(\"text\"),c=i(\"texttemplate\");i(\"texttemplatefallback\");var f;if(c||(f=i(\"textinfo\",zE.isArrayOrTypedArray(u)?\"text+percent\":\"percent\")),i(\"hovertext\"),i(\"hovertemplate\"),i(\"hovertemplatefallback\"),c||f&&f!==\"none\"){var h=i(\"textposition\");BCt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var d=Array.isArray(h)||h===\"auto\",v=d||h===\"outside\";v&&i(\"automargin\"),(h===\"inside\"||h===\"auto\"||Array.isArray(h))&&i(\"insidetextorientation\")}else f===\"none\"&&i(\"textposition\",\"none\");OCt(t,n,i);var m=i(\"hole\"),b=i(\"title.text\");if(b){var p=i(\"title.position\",m?\"middle center\":\"top center\");!m&&p===\"middle center\"&&(t.title.position=\"top center\"),zE.coerceFont(i,\"title.font\",n.font)}i(\"sort\"),i(\"direction\"),i(\"rotation\"),i(\"pull\")}ake.exports={handleLabelsAndValues:ike,handleMarkerDefaults:nke,supplyDefaults:UCt}});var _D=ye((cvr,oke)=>{\"use strict\";oke.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var lke=ye((fvr,ske)=>{\"use strict\";var VCt=Pr(),GCt=_D();ske.exports=function(t,r){function n(i,a){return VCt.coerce(t,r,GCt,i,a)}n(\"hiddenlabels\"),n(\"piecolorway\",r.colorway),n(\"extendpiecolors\")}});var kA=ye((hvr,fke)=>{\"use strict\";var HCt=Eo(),wW=fd(),jCt=ka(),WCt={};function XCt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(a=new Array(l),c=0;c=0});var T=t.type===\"funnelarea\"?m:t.sort;return T&&r.sort(function(L,x){return x.v-L.v}),r[0]&&(r[0].vTotal=v),r}function uke(e){return function(r,n){return!r||(r=wW(r),!r.isValid())?!1:(r=jCt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function ZCt(e,t){var r=(t||{}).type;r||(r=\"pie\");var n=e._fullLayout,i=e.calcdata,a=n[r+\"colorway\"],o=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=cke(a,WCt));for(var s=0,l=0;l{\"use strict\";var YCt=ip().appendArrayMultiPointValues;hke.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),YCt(n,r,t.pts),r.type===\"funnelarea\"&&(delete n.v,delete n.i),n}});var TD=ye((vvr,Dke)=>{\"use strict\";var Fp=qa(),KCt=Mc(),xD=vf(),_ke=ka(),Qy=So(),rv=Pr(),JCt=rv.strScale,vke=rv.strTranslate,TW=Zl(),xke=bv(),$Ct=xke.recordMinTextSize,QCt=xke.clearMinTextSize,bke=A_().TEXTPAD,ns=g_(),bD=dke(),pke=Pr().isValidTextValue;function e6t(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;QCt(\"pie\",n),Ake(t,e),Pke(t,i);var a=rv.makeTraceGroups(n._pielayer,t,\"trace\").each(function(o){var s=Fp.select(this),l=o[0],u=l.trace;u6t(o),s.attr(\"stroke-linejoin\",\"round\"),s.each(function(){var c=Fp.select(this).selectAll(\"g.slice\").data(o);c.enter().append(\"g\").classed(\"slice\",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(T,L){if(T.hidden){Fp.select(this).selectAll(\"path,g\").remove();return}T.pointNumber=T.i,T.curveNumber=u.index,f[T.pxmid[1]<0?0:1][T.pxmid[0]<0?0:1].push(T);var x=l.cx,C=l.cy,S=Fp.select(this),g=S.selectAll(\"path.surface\").data([T]);if(g.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),S.call(wke,e,o),u.pull){var P=+ns.castOption(u.pull,T.pts)||0;P>0&&(x+=P*T.pxmid[0],C+=P*T.pxmid[1])}T.cxFinal=x,T.cyFinal=C;function E(N,H,re,oe){var _e=oe*(H[0]-N[0]),ke=oe*(H[1]-N[1]);return\"a\"+oe*l.r+\",\"+oe*l.r+\" 0 \"+T.largeArc+(re?\" 1 \":\" 0 \")+_e+\",\"+ke}var z=u.hole;if(T.v===l.vTotal){var q=\"M\"+(x+T.px0[0])+\",\"+(C+T.px0[1])+E(T.px0,T.pxmid,!0,1)+E(T.pxmid,T.px0,!0,1)+\"Z\";z?g.attr(\"d\",\"M\"+(x+z*T.px0[0])+\",\"+(C+z*T.px0[1])+E(T.px0,T.pxmid,!1,z)+E(T.pxmid,T.px0,!1,z)+\"Z\"+q):g.attr(\"d\",q)}else{var U=E(T.px0,T.px1,!0,1);if(z){var G=1-z;g.attr(\"d\",\"M\"+(x+z*T.px1[0])+\",\"+(C+z*T.px1[1])+E(T.px1,T.px0,!1,z)+\"l\"+G*T.px0[0]+\",\"+G*T.px0[1]+U+\"Z\")}else g.attr(\"d\",\"M\"+x+\",\"+C+\"l\"+T.px0[0]+\",\"+T.px0[1]+U+\"Z\")}Ike(e,T,l);var Z=ns.castOption(u.textposition,T.pts),j=S.selectAll(\"g.slicetext\").data(T.text&&Z!==\"none\"?[0]:[]);j.enter().append(\"g\").classed(\"slicetext\",!0),j.exit().remove(),j.each(function(){var N=rv.ensureSingle(Fp.select(this),\"text\",\"\",function(ie){ie.attr(\"data-notex\",1)}),H=rv.ensureUniformFontSize(e,Z===\"outside\"?r6t(u,T,n.font):Tke(u,T,n.font));N.text(T.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Qy.font,H).call(TW.convertToTspans,e);var re=Qy.bBox(N.node()),oe;if(Z===\"outside\")oe=yke(re,T);else if(oe=Ske(re,T,l),Z===\"auto\"&&oe.scale<1){var _e=rv.ensureUniformFontSize(e,u.outsidetextfont);N.call(Qy.font,_e),re=Qy.bBox(N.node()),oe=yke(re,T)}var ke=oe.textPosAngle,Ce=ke===void 0?T.pxmid:wD(l.r,ke);if(oe.targetX=x+Ce[0]*oe.rCenter+(oe.x||0),oe.targetY=C+Ce[1]*oe.rCenter+(oe.y||0),Rke(oe,re),oe.outside){var ge=oe.targetY;T.yLabelMin=ge-re.height/2,T.yLabelMid=ge,T.yLabelMax=ge+re.height/2,T.labelExtraX=0,T.labelExtraY=0,h=!0}oe.fontSize=H.size,$Ct(u.type,oe,n),o[L].transform=oe,rv.setTransormAndDisplay(N,oe)})});var d=Fp.select(this).selectAll(\"g.titletext\").data(u.title.text?[0]:[]);if(d.enter().append(\"g\").classed(\"titletext\",!0),d.exit().remove(),d.each(function(){var T=rv.ensureSingle(Fp.select(this),\"text\",\"\",function(C){C.attr(\"data-notex\",1)}),L=u.title.text;u._meta&&(L=rv.templateString(L,u._meta)),T.text(L).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Qy.font,u.title.font).call(TW.convertToTspans,e);var x;u.title.position===\"middle center\"?x=a6t(l):x=Cke(l,i),T.attr(\"transform\",vke(x.x,x.y)+JCt(Math.min(1,x.scale))+vke(x.tx,x.ty))}),h&&s6t(f,u),t6t(c,u),h&&u.automargin){var v=Qy.bBox(s.node()),m=u.domain,b=i.w*(m.x[1]-m.x[0]),p=i.h*(m.y[1]-m.y[0]),k=(.5*b-l.r)/i.w,M=(.5*p-l.r)/i.h;KCt.autoMargin(e,\"pie.\"+u.uid+\".automargin\",{xl:m.x[0]-k,xr:m.x[1]+k,yb:m.y[0]-M,yt:m.y[1]+M,l:Math.max(l.cx-l.r-v.left,0),r:Math.max(v.right-(l.cx+l.r),0),b:Math.max(v.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-v.top,0),pad:5})}})});setTimeout(function(){a.selectAll(\"tspan\").each(function(){var o=Fp.select(this);o.attr(\"dy\")&&o.attr(\"dy\",o.attr(\"dy\"))})},0)}function t6t(e,t){e.each(function(r){var n=Fp.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select(\"path.textline\").remove();return}var i=n.select(\"g.slicetext text\");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,rv.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s=\"M\"+a+\",\"+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+=\"l\"+c*r.pxmid[0]/r.pxmid[1]+\",\"+c+\"H\"+(a+r.labelExtraX+l):s+=\"l\"+r.labelExtraX+\",\"+u+\"v\"+(c-u)+\"h\"+l}else s+=\"V\"+(r.yLabelMid+r.labelExtraY)+\"h\"+l;rv.ensureSingle(n,\"path\",\"textline\").call(_ke.stroke,t.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,t.outsidetextfont.size/8),d:s,fill:\"none\"})})}function wke(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type===\"funnelarea\";\"_hasHoverLabel\"in o||(o._hasHoverLabel=!1),\"_hasHoverEvent\"in o||(o._hasHoverEvent=!1),e.on(\"mouseover\",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=xD.castHoverinfo({hoverinfo:[ns.castOption(f,l.pts)],_module:o._module},u,0)),f===\"all\"&&(f=\"label+text+value+percent+name\"),c.hovertemplate||f!==\"none\"&&f!==\"skip\"&&f){var h=l.rInscribed||0,d=i+l.pxmid[0]*(1-h),v=a+l.pxmid[1]*(1-h),m=u.separators,b=[];if(f&&f.indexOf(\"label\")!==-1&&b.push(l.label),l.text=ns.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf(\"text\")!==-1){var p=l.text;rv.isValidTextValue(p)&&b.push(p)}l.value=l.v,l.valueLabel=ns.formatPieValue(l.v,m),f&&f.indexOf(\"value\")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=ns.formatPiePercent(l.percent,m),f&&f.indexOf(\"percent\")!==-1&&b.push(l.percentLabel);var k=c.hoverlabel,M=k.font,T=[];xD.loneHover({trace:o,x0:d-h*n.r,x1:d+h*n.r,y:v,_x0:s?i+l.TL[0]:d-h*n.r,_x1:s?i+l.TR[0]:d+h*n.r,_y0:s?a+l.TL[1]:v-h*n.r,_y1:s?a+l.BL[1]:v+h*n.r,text:b.join(\"
\"),name:c.hovertemplate||f.indexOf(\"name\")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?\"left\":\"right\",color:ns.castOption(k.bgcolor,l.pts)||l.color,borderColor:ns.castOption(k.bordercolor,l.pts),fontFamily:ns.castOption(M.family,l.pts),fontSize:ns.castOption(M.size,l.pts),fontColor:ns.castOption(M.color,l.pts),nameLength:ns.castOption(k.namelength,l.pts),textAlign:ns.castOption(k.align,l.pts),hovertemplate:ns.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[bD(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:T}),l.bbox=T[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit(\"plotly_hover\",{points:[bD(l,c)],event:Fp.event})}}),e.on(\"mouseout\",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=Fp.select(this).datum();o._hasHoverEvent&&(l.originalEvent=Fp.event,t.emit(\"plotly_unhover\",{points:[bD(f,c)],event:Fp.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(xD.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on(\"click\",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[bD(l,c)],xD.click(t,Fp.event))})}function r6t(e,t,r){var n=ns.castOption(e.outsidetextfont.color,t.pts)||ns.castOption(e.textfont.color,t.pts)||r.color,i=ns.castOption(e.outsidetextfont.family,t.pts)||ns.castOption(e.textfont.family,t.pts)||r.family,a=ns.castOption(e.outsidetextfont.size,t.pts)||ns.castOption(e.textfont.size,t.pts)||r.size,o=ns.castOption(e.outsidetextfont.weight,t.pts)||ns.castOption(e.textfont.weight,t.pts)||r.weight,s=ns.castOption(e.outsidetextfont.style,t.pts)||ns.castOption(e.textfont.style,t.pts)||r.style,l=ns.castOption(e.outsidetextfont.variant,t.pts)||ns.castOption(e.textfont.variant,t.pts)||r.variant,u=ns.castOption(e.outsidetextfont.textcase,t.pts)||ns.castOption(e.textfont.textcase,t.pts)||r.textcase,c=ns.castOption(e.outsidetextfont.lineposition,t.pts)||ns.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=ns.castOption(e.outsidetextfont.shadow,t.pts)||ns.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function Tke(e,t,r){var n=ns.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=ns.castOption(e._input.textfont.color,t.pts));var i=ns.castOption(e.insidetextfont.family,t.pts)||ns.castOption(e.textfont.family,t.pts)||r.family,a=ns.castOption(e.insidetextfont.size,t.pts)||ns.castOption(e.textfont.size,t.pts)||r.size,o=ns.castOption(e.insidetextfont.weight,t.pts)||ns.castOption(e.textfont.weight,t.pts)||r.weight,s=ns.castOption(e.insidetextfont.style,t.pts)||ns.castOption(e.textfont.style,t.pts)||r.style,l=ns.castOption(e.insidetextfont.variant,t.pts)||ns.castOption(e.textfont.variant,t.pts)||r.variant,u=ns.castOption(e.insidetextfont.textcase,t.pts)||ns.castOption(e.textfont.textcase,t.pts)||r.textcase,c=ns.castOption(e.insidetextfont.lineposition,t.pts)||ns.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=ns.castOption(e.insidetextfont.shadow,t.pts)||ns.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||_ke.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function Ake(e,t){for(var r,n,i=0;i=-4;k-=2)p(Math.PI*k,\"tan\");for(k=4;k>=-4;k-=2)p(Math.PI*(k+1),\"tan\")}if(f||d){for(k=4;k>=-4;k-=2)p(Math.PI*(k+1.5),\"rad\");for(k=4;k>=-4;k-=2)p(Math.PI*(k+.5),\"rad\")}}if(s||v||f){var M=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/M,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;m.push(b)}(v||d)&&(b=gke(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,m.push(b)),(v||h)&&(b=mke(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,m.push(b));for(var T=0,L=0,x=0;x=1)break}return m[T]}function i6t(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function a6t(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function Cke(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=Lke(a),a.title.position.indexOf(\"top\")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf(\"bottom\")!==-1&&(o.y+=(1+i)*e.r);var l=o6t(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf(\"left\")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf(\"center\")!==-1?u*=2:a.title.position.indexOf(\"right\")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=AW(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function o6t(e,t){return e/(t===void 0?1:t)}function AW(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function Lke(e){var t=e.pull;if(!t)return 0;var r;if(rv.isArrayOrTypedArray(t))for(t=0,r=0;rt&&(t=e.pull[r]);return t}function s6t(e,t){var r,n,i,a,o,s,l,u,c,f,h,d,v;function m(M,T){return M.pxmid[1]-T.pxmid[1]}function b(M,T){return T.pxmid[1]-M.pxmid[1]}function p(M,T){T||(T={});var L=T.labelExtraY+(n?T.yLabelMax:T.yLabelMin),x=n?M.yLabelMin:M.yLabelMax,C=n?M.yLabelMax:M.yLabelMin,S=M.cyFinal+o(M.px0[1],M.px1[1]),g=L-x,P,E,z,q,U,G;if(g*l>0&&(M.labelExtraY=g),!!rv.isArrayOrTypedArray(t.pull))for(E=0;E=(ns.castOption(t.pull,z.pts)||0))&&((M.pxmid[1]-z.pxmid[1])*l>0?(q=z.cyFinal+o(z.px0[1],z.px1[1]),g=q-x-M.labelExtraY,g*l>0&&(M.labelExtraY+=g)):(C+M.labelExtraY-S)*l>0&&(P=3*s*Math.abs(E-f.indexOf(M)),U=z.cxFinal+a(z.px0[0],z.px1[0]),G=U+P-(M.cxFinal+M.pxmid[0])-M.labelExtraX,G*s>0&&(M.labelExtraX+=G)))}for(n=0;n<2;n++)for(i=n?m:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),c=e[1-n][r],f=c.concat(u),d=[],h=0;h1?(u=r.r,c=u/i.aspectratio):(c=r.r,u=c*i.aspectratio),u*=(1+i.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;nt.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=n6t(u,t))}function wD(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function Ike(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!==\"none\"){var s=o.split(\"+\"),l=function(T){return s.indexOf(T)!==-1},u=l(\"label\"),c=l(\"text\"),f=l(\"value\"),h=l(\"percent\"),d=n.separators,v;if(v=u?[t.label]:[],c){var m=ns.getFirstFilled(i.text,t.pts);pke(m)&&v.push(m)}f&&v.push(ns.formatPieValue(t.v,d)),h&&v.push(ns.formatPiePercent(t.v/r.vTotal,d)),t.text=v.join(\"
\")}function b(T){return{label:T.label,value:T.v,valueLabel:ns.formatPieValue(T.v,n.separators),percent:T.v/r.vTotal,percentLabel:ns.formatPiePercent(T.v/r.vTotal,n.separators),color:T.color,text:T.text,customdata:rv.castOption(i,T.i,\"customdata\")}}if(a){var p=rv.castOption(i,t.i,\"texttemplate\");if(!p)t.text=\"\";else{var k=b(t),M=ns.getFirstFilled(i.text,t.pts);(pke(M)||M===\"\")&&(k.text=M),t.text=rv.texttemplateString({data:[k,i._meta],fallback:i.texttemplatefallback,labels:k,locale:e._fullLayout._d3locale,template:p})}}}function Rke(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}Dke.exports={plot:e6t,formatSliceLabel:Ike,transformInsideText:Ske,determineInsideTextFont:Tke,positionTitleOutside:Cke,prerenderTitles:Ake,layoutAreas:Pke,attachFxHandlers:wke,computeTransform:Rke}});var qke=ye((pvr,zke)=>{\"use strict\";var Fke=qa(),c6t=Z3(),f6t=bv().resizeText;zke.exports=function(t){var r=t._fullLayout._pielayer.selectAll(\".trace\");f6t(t,r,\"pie\"),r.each(function(n){var i=n[0],a=i.trace,o=Fke.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){Fke.select(this).call(c6t,s,a,t)})})}});var Bke=ye(CA=>{\"use strict\";var Oke=Mc();CA.name=\"pie\";CA.plot=function(e,t,r,n){Oke.plotBasePlot(CA.name,e,t,r,n)};CA.clean=function(e,t,r,n){Oke.cleanBasePlot(CA.name,e,t,r,n)}});var Uke=ye((mvr,Nke)=>{\"use strict\";Nke.exports={attributes:F2(),supplyDefaults:z2().supplyDefaults,supplyLayoutDefaults:lke(),layoutAttributes:_D(),calc:kA().calc,crossTraceCalc:kA().crossTraceCalc,plot:TD().plot,style:qke(),styleOne:Z3(),moduleType:\"trace\",name:\"pie\",basePlotModule:Bke(),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}});var Gke=ye((yvr,Vke)=>{\"use strict\";Vke.exports=Uke()});var jke=ye(LA=>{\"use strict\";var Hke=Mc();LA.name=\"sunburst\";LA.plot=function(e,t,r,n){Hke.plotBasePlot(LA.name,e,t,r,n)};LA.clean=function(e,t,r,n){Hke.cleanBasePlot(LA.name,e,t,r,n)}});var SW=ye((xvr,Wke)=>{\"use strict\";Wke.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}});var OE=ye((bvr,Yke)=>{\"use strict\";var h6t=Gl(),{hovertemplateAttrs:d6t,texttemplateAttrs:v6t,templatefallbackAttrs:Xke}=Ll(),p6t=Tu(),g6t=Cc().attributes,e1=F2(),Zke=SW(),qE=Ao().extendFlat,m6t=Pd().pattern;Yke.exports={labels:{valType:\"data_array\",editType:\"calc\"},parents:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},branchvalues:{valType:\"enumerated\",values:[\"remainder\",\"total\"],dflt:\"remainder\",editType:\"calc\"},count:{valType:\"flaglist\",flags:[\"branches\",\"leaves\"],dflt:\"leaves\",editType:\"calc\"},level:{valType:\"any\",editType:\"plot\",anim:!0},maxdepth:{valType:\"integer\",editType:\"plot\",dflt:-1},marker:qE({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:qE({},e1.marker.line.color,{dflt:null}),width:qE({},e1.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:m6t,editType:\"calc\"},p6t(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:e1.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:v6t({editType:\"plot\"},{keys:Zke.eventDataKeys.concat([\"label\",\"value\"])}),texttemplatefallback:Xke({editType:\"plot\"}),hovertext:e1.hovertext,hoverinfo:qE({},h6t.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:d6t({},{keys:Zke.eventDataKeys}),hovertemplatefallback:Xke(),textfont:e1.textfont,insidetextorientation:e1.insidetextorientation,insidetextfont:e1.insidetextfont,outsidetextfont:qE({},e1.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:e1.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:g6t({name:\"sunburst\",trace:!0,editType:\"calc\"})}});var MW=ye((wvr,Kke)=>{\"use strict\";Kke.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var eCe=ye((Tvr,Qke)=>{\"use strict\";var Jke=Pr(),y6t=OE(),_6t=Cc().defaults,x6t=i0().handleText,b6t=z2().handleMarkerDefaults,$ke=tc(),w6t=$ke.hasColorscale,T6t=$ke.handleDefaults;Qke.exports=function(t,r,n,i){function a(h,d){return Jke.coerce(t,r,y6t,h,d)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),b6t(t,r,i,a);var u=r._hasColorscale=w6t(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;u&&T6t(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",u?1:.7);var c=a(\"text\");a(\"texttemplate\"),a(\"texttemplatefallback\"),r.texttemplate||a(\"textinfo\",Jke.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\");var f=\"auto\";x6t(t,r,i,a,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"insidetextorientation\"),a(\"sort\"),a(\"rotation\"),a(\"root.color\"),_6t(r,i,a),r._length=null}});var rCe=ye((Avr,tCe)=>{\"use strict\";var A6t=Pr(),S6t=MW();tCe.exports=function(t,r){function n(i,a){return A6t.coerce(t,r,S6t,i,a)}n(\"sunburstcolorway\",r.colorway),n(\"extendsunburstcolors\")}});var BE=ye((AD,iCe)=>{(function(e,t){typeof AD==\"object\"&&typeof iCe!=\"undefined\"?t(AD):(e=e||self,t(e.d3=e.d3||{}))})(AD,function(e){\"use strict\";function t(We,et){return We.parent===et.parent?1:2}function r(We){return We.reduce(n,0)/We.length}function n(We,et){return We+et.x}function i(We){return 1+We.reduce(a,0)}function a(We,et){return Math.max(We,et.y)}function o(We){for(var et;et=We.children;)We=et[0];return We}function s(We){for(var et;et=We.children;)We=et[et.length-1];return We}function l(){var We=t,et=1,xt=1,At=!1;function Kt(er){var Sr,Gr=0;er.eachAfter(function(ai){var mi=ai.children;mi?(ai.x=r(mi),ai.y=i(mi)):(ai.x=Sr?Gr+=We(ai,Sr):0,ai.y=0,Sr=ai)});var Ir=o(er),Yr=s(er),_i=Ir.x-We(Ir,Yr)/2,Pi=Yr.x+We(Yr,Ir)/2;return er.eachAfter(At?function(ai){ai.x=(ai.x-er.x)*et,ai.y=(er.y-ai.y)*xt}:function(ai){ai.x=(ai.x-_i)/(Pi-_i)*et,ai.y=(1-(er.y?ai.y/er.y:1))*xt})}return Kt.separation=function(er){return arguments.length?(We=er,Kt):We},Kt.size=function(er){return arguments.length?(At=!1,et=+er[0],xt=+er[1],Kt):At?null:[et,xt]},Kt.nodeSize=function(er){return arguments.length?(At=!0,et=+er[0],xt=+er[1],Kt):At?[et,xt]:null},Kt}function u(We){var et=0,xt=We.children,At=xt&&xt.length;if(!At)et=1;else for(;--At>=0;)et+=xt[At].value;We.value=et}function c(){return this.eachAfter(u)}function f(We){var et=this,xt,At=[et],Kt,er,Sr;do for(xt=At.reverse(),At=[];et=xt.pop();)if(We(et),Kt=et.children,Kt)for(er=0,Sr=Kt.length;er=0;--Kt)xt.push(At[Kt]);return this}function d(We){for(var et=this,xt=[et],At=[],Kt,er,Sr;et=xt.pop();)if(At.push(et),Kt=et.children,Kt)for(er=0,Sr=Kt.length;er=0;)xt+=At[Kt].value;et.value=xt})}function m(We){return this.eachBefore(function(et){et.children&&et.children.sort(We)})}function b(We){for(var et=this,xt=p(et,We),At=[et];et!==xt;)et=et.parent,At.push(et);for(var Kt=At.length;We!==xt;)At.splice(Kt,0,We),We=We.parent;return At}function p(We,et){if(We===et)return We;var xt=We.ancestors(),At=et.ancestors(),Kt=null;for(We=xt.pop(),et=At.pop();We===et;)Kt=We,We=xt.pop(),et=At.pop();return Kt}function k(){for(var We=this,et=[We];We=We.parent;)et.push(We);return et}function M(){var We=[];return this.each(function(et){We.push(et)}),We}function T(){var We=[];return this.eachBefore(function(et){et.children||We.push(et)}),We}function L(){var We=this,et=[];return We.each(function(xt){xt!==We&&et.push({source:xt.parent,target:xt})}),et}function x(We,et){var xt=new E(We),At=+We.value&&(xt.value=We.value),Kt,er=[xt],Sr,Gr,Ir,Yr;for(et==null&&(et=S);Kt=er.pop();)if(At&&(Kt.value=+Kt.data.value),(Gr=et(Kt.data))&&(Yr=Gr.length))for(Kt.children=new Array(Yr),Ir=Yr-1;Ir>=0;--Ir)er.push(Sr=Kt.children[Ir]=new E(Gr[Ir])),Sr.parent=Kt,Sr.depth=Kt.depth+1;return xt.eachBefore(P)}function C(){return x(this).eachBefore(g)}function S(We){return We.children}function g(We){We.data=We.data.data}function P(We){var et=0;do We.height=et;while((We=We.parent)&&We.height<++et)}function E(We){this.data=We,this.depth=this.height=0,this.parent=null}E.prototype=x.prototype={constructor:E,count:c,each:f,eachAfter:d,eachBefore:h,sum:v,sort:m,path:b,ancestors:k,descendants:M,leaves:T,links:L,copy:C};var z=Array.prototype.slice;function q(We){for(var et=We.length,xt,At;et;)At=Math.random()*et--|0,xt=We[et],We[et]=We[At],We[At]=xt;return We}function U(We){for(var et=0,xt=(We=q(z.call(We))).length,At=[],Kt,er;et0&&xt*xt>At*At+Kt*Kt}function N(We,et){for(var xt=0;xtIr?(Kt=(Yr+Ir-er)/(2*Yr),Gr=Math.sqrt(Math.max(0,Ir/Yr-Kt*Kt)),xt.x=We.x-Kt*At-Gr*Sr,xt.y=We.y-Kt*Sr+Gr*At):(Kt=(Yr+er-Ir)/(2*Yr),Gr=Math.sqrt(Math.max(0,er/Yr-Kt*Kt)),xt.x=et.x+Kt*At-Gr*Sr,xt.y=et.y+Kt*Sr+Gr*At)):(xt.x=et.x+xt.r,xt.y=et.y)}function Ce(We,et){var xt=We.r+et.r-1e-6,At=et.x-We.x,Kt=et.y-We.y;return xt>0&&xt*xt>At*At+Kt*Kt}function ge(We){var et=We._,xt=We.next._,At=et.r+xt.r,Kt=(et.x*xt.r+xt.x*et.r)/At,er=(et.y*xt.r+xt.y*et.r)/At;return Kt*Kt+er*er}function ie(We){this._=We,this.next=null,this.previous=null}function Se(We){if(!(Kt=We.length))return 0;var et,xt,At,Kt,er,Sr,Gr,Ir,Yr,_i,Pi;if(et=We[0],et.x=0,et.y=0,!(Kt>1))return et.r;if(xt=We[1],et.x=-xt.r,xt.x=et.r,xt.y=0,!(Kt>2))return et.r+xt.r;ke(xt,et,At=We[2]),et=new ie(et),xt=new ie(xt),At=new ie(At),et.next=At.previous=xt,xt.next=et.previous=At,At.next=xt.previous=et;e:for(Gr=3;Gr0)throw new Error(\"cycle\");return Gr}return xt.id=function(At){return arguments.length?(We=De(At),xt):We},xt.parentId=function(At){return arguments.length?(et=De(At),xt):et},xt}function Ae(We,et){return We.parent===et.parent?1:2}function rt(We){var et=We.children;return et?et[0]:We.t}function St(We){var et=We.children;return et?et[et.length-1]:We.t}function Tt(We,et,xt){var At=xt/(et.i-We.i);et.c-=At,et.s+=xt,We.c+=At,et.z+=xt,et.m+=xt}function dt(We){for(var et=0,xt=0,At=We.children,Kt=At.length,er;--Kt>=0;)er=At[Kt],er.z+=et,er.m+=et,et+=er.s+(xt+=er.c)}function Et(We,et,xt){return We.a.parent===et.parent?We.a:xt}function pt(We,et){this._=We,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=et}pt.prototype=Object.create(E.prototype);function Xt(We){for(var et=new pt(We,0),xt,At=[et],Kt,er,Sr,Gr;xt=At.pop();)if(er=xt._.children)for(xt.children=new Array(Gr=er.length),Sr=Gr-1;Sr>=0;--Sr)At.push(Kt=xt.children[Sr]=new pt(er[Sr],Sr)),Kt.parent=xt;return(et.parent=new pt(null,0)).children=[et],et}function or(){var We=Ae,et=1,xt=1,At=null;function Kt(Yr){var _i=Xt(Yr);if(_i.eachAfter(er),_i.parent.m=-_i.z,_i.eachBefore(Sr),At)Yr.eachBefore(Ir);else{var Pi=Yr,ai=Yr,mi=Yr;Yr.eachBefore(function(Qn){Qn.xai.x&&(ai=Qn),Qn.depth>mi.depth&&(mi=Qn)});var un=Pi===ai?1:We(Pi,ai)/2,Fn=un-Pi.x,An=et/(ai.x+un+Fn),Hn=xt/(mi.depth||1);Yr.eachBefore(function(Qn){Qn.x=(Qn.x+Fn)*An,Qn.y=Qn.depth*Hn})}return Yr}function er(Yr){var _i=Yr.children,Pi=Yr.parent.children,ai=Yr.i?Pi[Yr.i-1]:null;if(_i){dt(Yr);var mi=(_i[0].z+_i[_i.length-1].z)/2;ai?(Yr.z=ai.z+We(Yr._,ai._),Yr.m=Yr.z-mi):Yr.z=mi}else ai&&(Yr.z=ai.z+We(Yr._,ai._));Yr.parent.A=Gr(Yr,ai,Yr.parent.A||Pi[0])}function Sr(Yr){Yr._.x=Yr.z+Yr.parent.m,Yr.m+=Yr.parent.m}function Gr(Yr,_i,Pi){if(_i){for(var ai=Yr,mi=Yr,un=_i,Fn=ai.parent.children[0],An=ai.m,Hn=mi.m,Qn=un.m,Vi=Fn.m,Kn;un=St(un),ai=rt(ai),un&&ai;)Fn=rt(Fn),mi=St(mi),mi.a=Yr,Kn=un.z+Qn-ai.z-An+We(un._,ai._),Kn>0&&(Tt(Et(un,Yr,Pi),Yr,Kn),An+=Kn,Hn+=Kn),Qn+=un.m,An+=ai.m,Vi+=Fn.m,Hn+=mi.m;un&&!St(mi)&&(mi.t=un,mi.m+=Qn-Hn),ai&&!rt(Fn)&&(Fn.t=ai,Fn.m+=An-Vi,Pi=Yr)}return Pi}function Ir(Yr){Yr.x*=et,Yr.y=Yr.depth*xt}return Kt.separation=function(Yr){return arguments.length?(We=Yr,Kt):We},Kt.size=function(Yr){return arguments.length?(At=!1,et=+Yr[0],xt=+Yr[1],Kt):At?null:[et,xt]},Kt.nodeSize=function(Yr){return arguments.length?(At=!0,et=+Yr[0],xt=+Yr[1],Kt):At?[et,xt]:null},Kt}function _r(We,et,xt,At,Kt){for(var er=We.children,Sr,Gr=-1,Ir=er.length,Yr=We.value&&(Kt-xt)/We.value;++GrQn&&(Qn=Yr),Gt=An*An*Jn,Vi=Math.max(Qn/Gt,Gt/Hn),Vi>Kn){An-=Yr;break}Kn=Vi}Sr.push(Ir={value:An,dice:mi1?At:1)},xt}(Er);function jr(){var We=qr,et=!1,xt=1,At=1,Kt=[0],er=Le,Sr=Le,Gr=Le,Ir=Le,Yr=Le;function _i(ai){return ai.x0=ai.y0=0,ai.x1=xt,ai.y1=At,ai.eachBefore(Pi),Kt=[0],et&&ai.eachBefore(Vt),ai}function Pi(ai){var mi=Kt[ai.depth],un=ai.x0+mi,Fn=ai.y0+mi,An=ai.x1-mi,Hn=ai.y1-mi;An=ai-1){var Qn=er[Pi];Qn.x0=un,Qn.y0=Fn,Qn.x1=An,Qn.y1=Hn;return}for(var Vi=Yr[Pi],Kn=mi/2+Vi,Jn=Pi+1,Gt=ai-1;Jn>>1;Yr[wt]Hn-Fn){var wr=(un*ir+An*rr)/mi;_i(Pi,Jn,rr,un,Fn,wr,Hn),_i(Jn,ai,ir,wr,Fn,An,Hn)}else{var Xr=(Fn*ir+Hn*rr)/mi;_i(Pi,Jn,rr,un,Fn,An,Xr),_i(Jn,ai,ir,un,Xr,An,Hn)}}}function Ge(We,et,xt,At,Kt){(We.depth&1?_r:st)(We,et,xt,At,Kt)}var Je=function We(et){function xt(At,Kt,er,Sr,Gr){if((Ir=At._squarify)&&Ir.ratio===et)for(var Ir,Yr,_i,Pi,ai=-1,mi,un=Ir.length,Fn=At.value;++ai1?At:1)},xt}(Er);e.cluster=l,e.hierarchy=x,e.pack=ce,e.packEnclose=U,e.packSiblings=Ee,e.partition=ct,e.stratify=Ue,e.tree=or,e.treemap=jr,e.treemapBinary=gt,e.treemapDice=st,e.treemapResquarify=Je,e.treemapSlice=_r,e.treemapSliceDice=Ge,e.treemapSquarify=qr,Object.defineProperty(e,\"__esModule\",{value:!0})})});var UE=ye(NE=>{\"use strict\";var nCe=BE(),M6t=Eo(),PA=Pr(),E6t=tc().makeColorScaleFuncFromTrace,k6t=kA().makePullColorFn,C6t=kA().generateExtendedColors,L6t=tc().calc,P6t=fs().ALMOST_EQUAL,I6t={},R6t={},D6t={};NE.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=PA.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=PA.isArrayOrTypedArray(s),u=[],c={},f={},h=function(j,N){c[j]?c[j].push(N):c[j]=[N],f[N]=1},d=function(j){return j||typeof j==\"number\"},v=function(j){return!l||M6t(s[j])&&s[j]>=0},m,b,p;i?(m=Math.min(n.length,o.length),b=function(j){return d(n[j])&&v(j)},p=function(j){return String(n[j])}):(m=Math.min(a.length,o.length),b=function(j){return d(a[j])&&v(j)},p=function(j){return String(a[j])}),l&&(m=Math.min(m,s.length));for(var k=0;k1){for(var S=PA.randstr(),g=0;g{});function Ym(){}function sCe(){return this.rgb().formatHex()}function V6t(){return this.rgb().formatHex8()}function G6t(){return vCe(this).formatHsl()}function lCe(){return this.rgb().formatRgb()}function ex(e){var t,r;return e=(e+\"\").trim().toLowerCase(),(t=F6t.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?uCe(t):r===3?new _d(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?MD(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?MD(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=z6t.exec(e))?new _d(t[1],t[2],t[3],1):(t=q6t.exec(e))?new _d(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=O6t.exec(e))?MD(t[1],t[2],t[3],t[4]):(t=B6t.exec(e))?MD(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=N6t.exec(e))?hCe(t[1],t[2]/100,t[3]/100,1):(t=U6t.exec(e))?hCe(t[1],t[2]/100,t[3]/100,t[4]):oCe.hasOwnProperty(e)?uCe(oCe[e]):e===\"transparent\"?new _d(NaN,NaN,NaN,0):null}function uCe(e){return new _d(e>>16&255,e>>8&255,e&255,1)}function MD(e,t,r,n){return n<=0&&(e=t=r=NaN),new _d(e,t,r,n)}function GE(e){return e instanceof Ym||(e=ex(e)),e?(e=e.rgb(),new _d(e.r,e.g,e.b,e.opacity)):new _d}function RA(e,t,r,n){return arguments.length===1?GE(e):new _d(e,t,r,n==null?1:n)}function _d(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function cCe(){return`#${q2(this.r)}${q2(this.g)}${q2(this.b)}`}function H6t(){return`#${q2(this.r)}${q2(this.g)}${q2(this.b)}${q2((isNaN(this.opacity)?1:this.opacity)*255)}`}function fCe(){let e=kD(this.opacity);return`${e===1?\"rgb(\":\"rgba(\"}${O2(this.r)}, ${O2(this.g)}, ${O2(this.b)}${e===1?\")\":`, ${e})`}`}function kD(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function O2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function q2(e){return e=O2(e),(e<16?\"0\":\"\")+e.toString(16)}function hCe(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Kg(e,t,r,n)}function vCe(e){if(e instanceof Kg)return new Kg(e.h,e.s,e.l,e.opacity);if(e instanceof Ym||(e=ex(e)),!e)return new Kg;if(e instanceof Kg)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r0&&l<1?0:o,new Kg(o,s,l,e.opacity)}function HE(e,t,r,n){return arguments.length===1?vCe(e):new Kg(e,t,r,n==null?1:n)}function Kg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function dCe(e){return e=(e||0)%360,e<0?e+360:e}function ED(e){return Math.max(0,Math.min(1,e||0))}function EW(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var Q_,B2,IA,VE,Zm,F6t,z6t,q6t,O6t,B6t,N6t,U6t,oCe,CD=gu(()=>{SD();Q_=.7,B2=1/Q_,IA=\"\\\\s*([+-]?\\\\d+)\\\\s*\",VE=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",Zm=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",F6t=/^#([0-9a-f]{3,8})$/,z6t=new RegExp(`^rgb\\\\(${IA},${IA},${IA}\\\\)$`),q6t=new RegExp(`^rgb\\\\(${Zm},${Zm},${Zm}\\\\)$`),O6t=new RegExp(`^rgba\\\\(${IA},${IA},${IA},${VE}\\\\)$`),B6t=new RegExp(`^rgba\\\\(${Zm},${Zm},${Zm},${VE}\\\\)$`),N6t=new RegExp(`^hsl\\\\(${VE},${Zm},${Zm}\\\\)$`),U6t=new RegExp(`^hsla\\\\(${VE},${Zm},${Zm},${VE}\\\\)$`),oCe={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};t1(Ym,ex,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:sCe,formatHex:sCe,formatHex8:V6t,formatHsl:G6t,formatRgb:lCe,toString:lCe});t1(_d,RA,$_(Ym,{brighter(e){return e=e==null?B2:Math.pow(B2,e),new _d(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Q_:Math.pow(Q_,e),new _d(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new _d(O2(this.r),O2(this.g),O2(this.b),kD(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:cCe,formatHex:cCe,formatHex8:H6t,formatRgb:fCe,toString:fCe}));t1(Kg,HE,$_(Ym,{brighter(e){return e=e==null?B2:Math.pow(B2,e),new Kg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Q_:Math.pow(Q_,e),new Kg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new _d(EW(e>=240?e-240:e+120,i,n),EW(e,i,n),EW(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Kg(dCe(this.h),ED(this.s),ED(this.l),kD(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=kD(this.opacity);return`${e===1?\"hsl(\":\"hsla(\"}${dCe(this.h)}, ${ED(this.s)*100}%, ${ED(this.l)*100}%${e===1?\")\":`, ${e})`}`}}))});var LD,PD,kW=gu(()=>{LD=Math.PI/180,PD=180/Math.PI});function xCe(e){if(e instanceof Km)return new Km(e.l,e.a,e.b,e.opacity);if(e instanceof r1)return bCe(e);e instanceof _d||(e=GE(e));var t=IW(e.r),r=IW(e.g),n=IW(e.b),i=CW((.2225045*t+.7168786*r+.0606169*n)/gCe),a,o;return t===r&&r===n?a=o=i:(a=CW((.4360747*t+.3850649*r+.1430804*n)/pCe),o=CW((.0139322*t+.0971045*r+.7141733*n)/mCe)),new Km(116*i-16,500*(a-i),200*(i-o),e.opacity)}function FA(e,t,r,n){return arguments.length===1?xCe(e):new Km(e,t,r,n==null?1:n)}function Km(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function CW(e){return e>j6t?Math.pow(e,1/3):e/_Ce+yCe}function LW(e){return e>DA?e*e*e:_Ce*(e-yCe)}function PW(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function IW(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function W6t(e){if(e instanceof r1)return new r1(e.h,e.c,e.l,e.opacity);if(e instanceof Km||(e=xCe(e)),e.a===0&&e.b===0)return new r1(NaN,0{SD();CD();kW();ID=18,pCe=.96422,gCe=1,mCe=.82521,yCe=4/29,DA=6/29,_Ce=3*DA*DA,j6t=DA*DA*DA;t1(Km,FA,$_(Ym,{brighter(e){return new Km(this.l+ID*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new Km(this.l-ID*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=pCe*LW(t),e=gCe*LW(e),r=mCe*LW(r),new _d(PW(3.1338561*t-1.6168667*e-.4906146*r),PW(-.9787684*t+1.9161415*e+.033454*r),PW(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));t1(r1,jE,$_(Ym,{brighter(e){return new r1(this.h,this.c,this.l+ID*(e==null?1:e),this.opacity)},darker(e){return new r1(this.h,this.c,this.l-ID*(e==null?1:e),this.opacity)},rgb(){return bCe(this).rgb()}}))});function X6t(e){if(e instanceof N2)return new N2(e.h,e.s,e.l,e.opacity);e instanceof _d||(e=GE(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(SCe*n+TCe*t-ACe*r)/(SCe+TCe-ACe),a=n-i,o=(WE*(r-i)-DW*a)/RD,s=Math.sqrt(o*o+a*a)/(WE*i*(1-i)),l=s?Math.atan2(o,a)*PD-120:NaN;return new N2(l<0?l+360:l,s,i,e.opacity)}function zA(e,t,r,n){return arguments.length===1?X6t(e):new N2(e,t,r,n==null?1:n)}function N2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var MCe,RW,DW,RD,WE,TCe,ACe,SCe,ECe=gu(()=>{SD();CD();kW();MCe=-.14861,RW=1.78277,DW=-.29227,RD=-.90649,WE=1.97294,TCe=WE*RD,ACe=WE*RW,SCe=RW*DW-RD*MCe;t1(N2,zA,$_(Ym,{brighter(e){return e=e==null?B2:Math.pow(B2,e),new N2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Q_:Math.pow(Q_,e),new N2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*LD,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new _d(255*(t+r*(MCe*n+RW*i)),255*(t+r*(DW*n+RD*i)),255*(t+r*(WE*n)),this.opacity)}}))});var U2=gu(()=>{CD();wCe();ECe()});function FW(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function DD(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n{});function zD(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return FW((r-n/t)*t,i,a,o,s)}}var zW=gu(()=>{FD()});var qA,qW=gu(()=>{qA=e=>()=>e});function kCe(e,t){return function(r){return e+r*t}}function Z6t(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function tx(e,t){var r=t-e;return r?kCe(e,r>180||r<-180?r-360*Math.round(r/360):r):qA(isNaN(e)?t:e)}function CCe(e){return(e=+e)==1?$f:function(t,r){return r-t?Z6t(t,r,e):qA(isNaN(t)?r:t)}}function $f(e,t){var r=t-e;return r?kCe(e,r):qA(isNaN(e)?t:e)}var V2=gu(()=>{qW()});function LCe(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o{U2();FD();zW();V2();XE=function e(t){var r=CCe(t);function n(i,a){var o=r((i=RA(i)).r,(a=RA(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=$f(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+\"\"}}return n.gamma=e,n}(1);PCe=LCe(DD),ICe=LCe(zD)});function OA(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i{});function RCe(e,t){return(qD(t)?OA:BW)(e,t)}function BW(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o{ZE();OD()});function BD(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var UW=gu(()=>{});function zp(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var YE=gu(()=>{});function ND(e,t){var r={},n={},i;(e===null||typeof e!=\"object\")&&(e={}),(t===null||typeof t!=\"object\")&&(t={});for(i in t)i in e?r[i]=rx(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var VW=gu(()=>{ZE()});function Y6t(e){return function(){return e}}function K6t(e){return function(t){return e(t)+\"\"}}function UD(e,t){var r=HW.lastIndex=GW.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+\"\",t=t+\"\";(n=HW.exec(e))&&(i=GW.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:zp(n,i)})),r=GW.lastIndex;return r{YE();HW=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,GW=new RegExp(HW.source,\"g\")});function rx(e,t){var r=typeof t,n;return t==null||r===\"boolean\"?qA(t):(r===\"number\"?zp:r===\"string\"?(n=ex(t))?(t=n,XE):UD:t instanceof ex?XE:t instanceof Date?BD:qD(t)?OA:Array.isArray(t)?BW:typeof t.valueOf!=\"function\"&&typeof t.toString!=\"function\"||isNaN(t)?ND:zp)(e,t)}var ZE=gu(()=>{U2();OW();NW();UW();YE();VW();jW();qW();OD()});function DCe(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var FCe=gu(()=>{});function zCe(e,t){var r=tx(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var qCe=gu(()=>{V2()});function OCe(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var BCe=gu(()=>{});function WW(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n{NCe=180/Math.PI,VD={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function VCe(e){let t=new(typeof DOMMatrix==\"function\"?DOMMatrix:WebKitCSSMatrix)(e+\"\");return t.isIdentity?VD:WW(t.a,t.b,t.c,t.d,t.e,t.f)}function GCe(e){return e==null?VD:(GD||(GD=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),GD.setAttribute(\"transform\",e),(e=GD.transform.baseVal.consolidate())?(e=e.matrix,WW(e.a,e.b,e.c,e.d,e.e,e.f)):VD)}var GD,HCe=gu(()=>{UCe()});function jCe(e,t,r,n){function i(u){return u.length?u.pop()+\" \":\"\"}function a(u,c,f,h,d,v){if(u!==f||c!==h){var m=d.push(\"translate(\",null,t,null,r);v.push({i:m-4,x:zp(u,f)},{i:m-2,x:zp(c,h)})}else(f||h)&&d.push(\"translate(\"+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+\"rotate(\",null,n)-2,x:zp(u,c)})):c&&f.push(i(f)+\"rotate(\"+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+\"skewX(\",null,n)-2,x:zp(u,c)}):c&&f.push(i(f)+\"skewX(\"+c+n)}function l(u,c,f,h,d,v){if(u!==f||c!==h){var m=d.push(i(d)+\"scale(\",null,\",\",null,\")\");v.push({i:m-4,x:zp(u,f)},{i:m-2,x:zp(c,h)})}else(f!==1||h!==1)&&d.push(i(d)+\"scale(\"+f+\",\"+h+\")\")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),a(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(d){for(var v=-1,m=h.length,b;++v{YE();HCe();WCe=jCe(VCe,\"px, \",\"px)\",\"deg)\"),XCe=jCe(GCe,\", \",\")\",\")\")});function YCe(e){return((e=Math.exp(e))+1/e)/2}function $6t(e){return((e=Math.exp(e))-1/e)/2}function Q6t(e){return((e=Math.exp(2*e))-1)/(e+1)}var J6t,KCe,JCe=gu(()=>{J6t=1e-12;KCe=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],c=o[0],f=o[1],h=o[2],d=c-s,v=f-l,m=d*d+v*v,b,p;if(m{U2();V2();QCe=$Ce(tx),e6e=$Ce($f)});function XW(e,t){var r=$f((e=FA(e)).l,(t=FA(t)).l),n=$f(e.a,t.a),i=$f(e.b,t.b),a=$f(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+\"\"}}var r6e=gu(()=>{U2();V2()});function i6e(e){return function(t,r){var n=e((t=jE(t)).h,(r=jE(r)).h),i=$f(t.c,r.c),a=$f(t.l,r.l),o=$f(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var n6e,a6e,o6e=gu(()=>{U2();V2();n6e=i6e(tx),a6e=i6e($f)});function s6e(e){return function t(r){r=+r;function n(i,a){var o=e((i=zA(i)).h,(a=zA(a)).h),s=$f(i.s,a.s),l=$f(i.l,a.l),u=$f(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=l(Math.pow(c,r)),i.opacity=u(c),i+\"\"}}return n.gamma=t,n}(1)}var l6e,u6e,c6e=gu(()=>{U2();V2();l6e=s6e(tx),u6e=s6e($f)});function ZW(e,t){t===void 0&&(t=e,e=rx);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r{ZE()});function h6e(e,t){for(var r=new Array(t),n=0;n{});var G2={};mee(G2,{interpolate:()=>rx,interpolateArray:()=>RCe,interpolateBasis:()=>DD,interpolateBasisClosed:()=>zD,interpolateCubehelix:()=>l6e,interpolateCubehelixLong:()=>u6e,interpolateDate:()=>BD,interpolateDiscrete:()=>DCe,interpolateHcl:()=>n6e,interpolateHclLong:()=>a6e,interpolateHsl:()=>QCe,interpolateHslLong:()=>e6e,interpolateHue:()=>zCe,interpolateLab:()=>XW,interpolateNumber:()=>zp,interpolateNumberArray:()=>OA,interpolateObject:()=>ND,interpolateRgb:()=>XE,interpolateRgbBasis:()=>PCe,interpolateRgbBasisClosed:()=>ICe,interpolateRound:()=>OCe,interpolateString:()=>UD,interpolateTransformCss:()=>WCe,interpolateTransformSvg:()=>XCe,interpolateZoom:()=>KCe,piecewise:()=>ZW,quantize:()=>h6e});var H2=gu(()=>{ZE();NW();FD();zW();UW();FCe();qCe();YE();OD();VW();BCe();jW();ZCe();JCe();OW();t6e();r6e();o6e();c6e();f6e();d6e()});var HD=ye((v0r,v6e)=>{\"use strict\";var eLt=So(),tLt=ka();v6e.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),eLt.pointStyle(t,n,i,r)}else tLt.fill(t,l)}});var YW=ye((p0r,_6e)=>{\"use strict\";var p6e=qa(),g6e=ka(),m6e=Pr(),rLt=bv().resizeText,iLt=HD();function nLt(e){var t=e._fullLayout._sunburstlayer.selectAll(\".trace\");rLt(e,t,\"sunburst\"),t.each(function(r){var n=p6e.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){p6e.select(this).call(y6e,o,a,e)})})}function y6e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=m6e.castOption(r,o,\"marker.line.color\")||g6e.defaultLine,l=m6e.castOption(r,o,\"marker.line.width\")||0;e.call(iLt,t,r,n).style(\"stroke-width\",l).call(g6e.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}_6e.exports={style:nLt,styleOne:y6e}});var i1=ye(Bs=>{\"use strict\";var j2=Pr(),aLt=ka(),oLt=Eg(),x6e=g_();Bs.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(Bs.getPtId(n)===t)return r=n.copy()}),r||e};Bs.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a0)};Bs.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};Bs.isHeader=function(e,t){return!(Bs.isLeaf(e)||e.depth===t._maxDepth-1)};function b6e(e){return e.data.data.pid}Bs.getParent=function(e,t){return Bs.findEntryWithLevel(e,b6e(t))};Bs.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return Bs.listPath(r,t).concat(n)};Bs.getPath=function(e){return Bs.listPath(e,\"label\").join(\"/\")+\"/\"};Bs.formatValue=x6e.formatPieValue;Bs.formatPercent=function(e,t){var r=j2.formatPercent(e,0);return r===\"0%\"&&(r=x6e.formatPiePercent(e,t)),r}});var $E=ye((m0r,A6e)=>{\"use strict\";var BA=qa(),w6e=Oa(),uLt=ip().appendArrayPointValue,KE=vf(),T6e=Pr(),cLt=C3(),id=i1(),fLt=g_(),hLt=fLt.formatPieValue;A6e.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type===\"sunburst\",c=s.type===\"treemap\"||s.type===\"icicle\";\"_hasHoverLabel\"in s||(s._hasHoverLabel=!1),\"_hasHoverEvent\"in s||(s._hasHoverEvent=!1);var f=function(v){var m=n._fullLayout;if(!(n._dragging||m.hovermode===!1)){var b=n._fullData[s.index],p=v.data.data,k=p.i,M=id.isHierarchyRoot(v),T=id.getParent(l,v),L=id.getValue(v),x=function(ke){return T6e.castOption(b,k,ke)},C=x(\"hovertemplate\"),S=KE.castHoverinfo(b,m,k),g=m.separators,P;if(C||S&&S!==\"none\"&&S!==\"skip\"){var E,z;u&&(E=o.cx+v.pxmid[0]*(1-v.rInscribed),z=o.cy+v.pxmid[1]*(1-v.rInscribed)),c&&(E=v._hoverX,z=v._hoverY);var q={},U=[],G=[],Z=function(ke){return U.indexOf(ke)!==-1};S&&(U=S===\"all\"?b._module.attributes.hoverinfo.flags:S.split(\"+\")),q.label=p.label,Z(\"label\")&&q.label&&G.push(q.label),p.hasOwnProperty(\"v\")&&(q.value=p.v,q.valueLabel=hLt(q.value,g),Z(\"value\")&&G.push(q.valueLabel)),q.currentPath=v.currentPath=id.getPath(v.data),Z(\"current path\")&&!M&&G.push(q.currentPath);var j,N=[],H=function(){N.indexOf(j)===-1&&(G.push(j),N.push(j))};q.percentParent=v.percentParent=L/id.getValue(T),q.parent=v.parentString=id.getPtLabel(T),Z(\"percent parent\")&&(j=id.formatPercent(q.percentParent,g)+\" of \"+q.parent,H()),q.percentEntry=v.percentEntry=L/id.getValue(r),q.entry=v.entry=id.getPtLabel(r),Z(\"percent entry\")&&!M&&!v.onPathbar&&(j=id.formatPercent(q.percentEntry,g)+\" of \"+q.entry,H()),q.percentRoot=v.percentRoot=L/id.getValue(l),q.root=v.root=id.getPtLabel(l),Z(\"percent root\")&&!M&&(j=id.formatPercent(q.percentRoot,g)+\" of \"+q.root,H()),q.text=x(\"hovertext\")||x(\"text\"),Z(\"text\")&&(j=q.text,T6e.isValidTextValue(j)&&G.push(j)),P=[JE(v,b,a.eventDataKeys)];var re={trace:b,y:z,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:G.join(\"
\"),name:C||Z(\"name\")?b.name:void 0,color:x(\"hoverlabel.bgcolor\")||p.color,borderColor:x(\"hoverlabel.bordercolor\"),fontFamily:x(\"hoverlabel.font.family\"),fontSize:x(\"hoverlabel.font.size\"),fontColor:x(\"hoverlabel.font.color\"),fontWeight:x(\"hoverlabel.font.weight\"),fontStyle:x(\"hoverlabel.font.style\"),fontVariant:x(\"hoverlabel.font.variant\"),nameLength:x(\"hoverlabel.namelength\"),textAlign:x(\"hoverlabel.align\"),hovertemplate:C,hovertemplateLabels:q,eventData:P};u&&(re.x0=E-v.rInscribed*v.rpx1,re.x1=E+v.rInscribed*v.rpx1,re.idealAlign=v.pxmid[0]<0?\"left\":\"right\"),c&&(re.x=E,re.idealAlign=E<0?\"left\":\"right\");var oe=[];KE.loneHover(re,{container:m._hoverlayer.node(),outerContainer:m._paper.node(),gd:n,inOut_bbox:oe}),P[0].bbox=oe[0],s._hasHoverLabel=!0}if(c){var _e=t.select(\"path.surface\");a.styleOne(_e,v,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit(\"plotly_hover\",{points:P||[JE(v,b,a.eventDataKeys)],event:BA.event})}},h=function(v){var m=n._fullLayout,b=n._fullData[s.index],p=BA.select(this).datum();if(s._hasHoverEvent&&(v.originalEvent=BA.event,n.emit(\"plotly_unhover\",{points:[JE(p,b,a.eventDataKeys)],event:BA.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(KE.loneUnhover(m._hoverlayer.node()),s._hasHoverLabel=!1),c){var k=t.select(\"path.surface\");a.styleOne(k,p,b,n,{hovered:!1})}},d=function(v){var m=n._fullLayout,b=n._fullData[s.index],p=u&&(id.isHierarchyRoot(v)||id.isLeaf(v)),k=id.getPtId(v),M=id.isEntry(v)?id.findEntryWithChild(l,k):id.findEntryWithLevel(l,k),T=id.getPtId(M),L={points:[JE(v,b,a.eventDataKeys)],event:BA.event};p||(L.nextLevel=T);var x=cLt.triggerHandler(n,\"plotly_\"+s.type+\"click\",L);if(x!==!1&&m.hovermode&&(n._hoverdata=[JE(v,b,a.eventDataKeys)],KE.click(n,BA.event)),!p&&x!==!1&&!n._dragging&&!n._transitioning){w6e.call(\"_storeDirectGUIEdit\",b,m._tracePreGUI[b.uid],{level:b.level});var C={data:[{level:T}],traces:[s.index]},S={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:\"immediate\",fromcurrent:!0};KE.loneUnhover(m._hoverlayer.node()),w6e.call(\"animate\",n,C,S)}};t.on(\"mouseover\",f),t.on(\"mouseout\",h),t.on(\"click\",d)};function JE(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a{\"use strict\";var QE=qa(),dLt=BE(),Jg=(H2(),pb(G2)).interpolate,S6e=So(),Av=Pr(),vLt=Zl(),C6e=bv(),M6e=C6e.recordMinTextSize,pLt=C6e.clearMinTextSize,L6e=TD(),gLt=g_().getRotationAngle,mLt=L6e.computeTransform,yLt=L6e.transformInsideText,_Lt=YW().styleOne,xLt=V0().resizeText,bLt=$E(),KW=SW(),Rl=i1();jD.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&Rl.hasTransition(r);if(pLt(\"sunburst\",i),o=a.selectAll(\"g.trace.sunburst\").data(t,function(f){return f[0].trace.uid}),o.enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),o.order(),u){n&&(s=n());var c=QE.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){s&&s()}).each(\"interrupt\",function(){s&&s()});c.each(function(){a.selectAll(\"g.trace\").each(function(f){E6e(e,f,this,r)})})}else o.each(function(f){E6e(e,f,this,r)}),i.uniformtext.mode&&xLt(e,i._sunburstlayer.selectAll(\".trace\"),\"sunburst\");l&&o.exit().remove()};function E6e(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&Rl.hasTransition(n),s=QE.select(r),l=s.selectAll(\"g.slice\"),u=t[0],c=u.trace,f=u.hierarchy,h=Rl.findEntryWithLevel(f,c.level),d=Rl.getMaxDepth(c),v=a._size,m=c.domain,b=v.w*(m.x[1]-m.x[0]),p=v.h*(m.y[1]-m.y[0]),k=.5*Math.min(b,p),M=u.cx=v.l+v.w*(m.x[1]+m.x[0])/2,T=u.cy=v.t+v.h*(1-m.y[0])-p/2;if(!h)return l.remove();var L=null,x={};o&&l.each(function(ge){x[Rl.getPtId(ge)]={rpx0:ge.rpx0,rpx1:ge.rpx1,x0:ge.x0,x1:ge.x1,transform:ge.transform},!L&&Rl.isEntry(ge)&&(L=ge)});var C=wLt(h).descendants(),S=h.height+1,g=0,P=d;u.hasMultipleRoots&&Rl.isHierarchyRoot(h)&&(C=C.slice(1),S-=1,g=1,P+=1),C=C.filter(function(ge){return ge.y1<=P});var E=gLt(c.rotation);E&&C.forEach(function(ge){ge.x0+=E,ge.x1+=E});var z=Math.min(S,d),q=function(ge){return(ge-g)/z*k},U=function(ge,ie){return[ge*Math.cos(ie),-ge*Math.sin(ie)]},G=function(ge){return Av.pathAnnulus(ge.rpx0,ge.rpx1,ge.x0,ge.x1,M,T)},Z=function(ge){return M+k6e(ge)[0]*(ge.transform.rCenter||0)+(ge.transform.x||0)},j=function(ge){return T+k6e(ge)[1]*(ge.transform.rCenter||0)+(ge.transform.y||0)};l=l.data(C,Rl.getPtId),l.enter().append(\"g\").classed(\"slice\",!0),o?l.exit().transition().each(function(){var ge=QE.select(this),ie=ge.select(\"path.surface\");ie.transition().attrTween(\"d\",function(Ee){var we=oe(Ee);return function(De){return G(we(De))}});var Se=ge.select(\"g.slicetext\");Se.attr(\"opacity\",0)}).remove():l.exit().remove(),l.order();var N=null;if(o&&L){var H=Rl.getPtId(L);l.each(function(ge){N===null&&Rl.getPtId(ge)===H&&(N=ge.x1)})}var re=l;o&&(re=re.transition().each(\"end\",function(){var ge=QE.select(this);Rl.setSliceCursor(ge,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),re.each(function(ge){var ie=QE.select(this),Se=Av.ensureSingle(ie,\"path\",\"surface\",function(Pe){Pe.style(\"pointer-events\",i?\"none\":\"all\")});ge.rpx0=q(ge.y0),ge.rpx1=q(ge.y1),ge.xmid=(ge.x0+ge.x1)/2,ge.pxmid=U(ge.rpx1,ge.xmid),ge.midangle=-(ge.xmid-Math.PI/2),ge.startangle=-(ge.x0-Math.PI/2),ge.stopangle=-(ge.x1-Math.PI/2),ge.halfangle=.5*Math.min(Av.angleDelta(ge.x0,ge.x1)||Math.PI,Math.PI),ge.ring=1-ge.rpx0/ge.rpx1,ge.rInscribed=TLt(ge,c),o?Se.transition().attrTween(\"d\",function(Pe){var ce=_e(Pe);return function(He){return G(ce(He))}}):Se.attr(\"d\",G),ie.call(bLt,h,e,t,{eventDataKeys:KW.eventDataKeys,transitionTime:KW.CLICK_TRANSITION_TIME,transitionEasing:KW.CLICK_TRANSITION_EASING}).call(Rl.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Se.call(_Lt,ge,c,e);var Ee=Av.ensureSingle(ie,\"g\",\"slicetext\"),we=Av.ensureSingle(Ee,\"text\",\"\",function(Pe){Pe.attr(\"data-notex\",1)}),De=Av.ensureUniformFontSize(e,Rl.determineTextFont(c,ge,a.font));we.text(jD.formatSliceLabel(ge,h,c,t,a)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(S6e.font,De).call(vLt.convertToTspans,e);var Le=S6e.bBox(we.node());ge.transform=yLt(Le,ge,u),ge.transform.targetX=Z(ge),ge.transform.targetY=j(ge);var me=function(Pe,ce){var He=Pe.transform;return mLt(He,ce),He.fontSize=De.size,M6e(c.type,He,a),Av.getTextTransform(He)};o?we.transition().attrTween(\"transform\",function(Pe){var ce=ke(Pe);return function(He){return me(ce(He),Le)}}):we.attr(\"transform\",me(ge,Le))});function oe(ge){var ie=Rl.getPtId(ge),Se=x[ie],Ee=x[Rl.getPtId(h)],we;if(Ee){var De=(ge.x1>Ee.x1?2*Math.PI:0)+E;we=ge.rpx1N?2*Math.PI:0)+E;Se={x0:we,x1:we}}else Se={rpx0:k,rpx1:k},Av.extendFlat(Se,Ce(ge));else Se={rpx0:0,rpx1:0};else Se={x0:E,x1:E};return Jg(Se,Ee)}function ke(ge){var ie=x[Rl.getPtId(ge)],Se,Ee=ge.transform;if(ie)Se=ie;else if(Se={rpx1:ge.rpx1,transform:{textPosAngle:Ee.textPosAngle,scale:0,rotate:Ee.rotate,rCenter:Ee.rCenter,x:Ee.x,y:Ee.y}},L)if(ge.parent)if(N){var we=ge.x1>N?2*Math.PI:0;Se.x0=Se.x1=we}else Av.extendFlat(Se,Ce(ge));else Se.x0=Se.x1=E;else Se.x0=Se.x1=E;var De=Jg(Se.transform.textPosAngle,ge.transform.textPosAngle),Le=Jg(Se.rpx1,ge.rpx1),me=Jg(Se.x0,ge.x0),Pe=Jg(Se.x1,ge.x1),ce=Jg(Se.transform.scale,Ee.scale),He=Jg(Se.transform.rotate,Ee.rotate),lt=Ee.rCenter===0?3:Se.transform.rCenter===0?1/3:1,mt=Jg(Se.transform.rCenter,Ee.rCenter),Vt=function(st){return mt(Math.pow(st,lt))};return function(st){var ct=Le(st),Qt=me(st),Ht=Pe(st),nr=Vt(st),tt=U(ct,(Qt+Ht)/2),je=De(st),Ue={pxmid:tt,rpx1:ct,transform:{textPosAngle:je,rCenter:nr,x:Ee.x,y:Ee.y}};return M6e(c.type,Ee,a),{transform:{targetX:Z(Ue),targetY:j(Ue),scale:ce(st),rotate:He(st),rCenter:nr}}}}function Ce(ge){var ie=ge.parent,Se=x[Rl.getPtId(ie)],Ee={};if(Se){var we=ie.children,De=we.indexOf(ge),Le=we.length,me=Jg(Se.x0,Se.x1);Ee.x0=me(De/Le),Ee.x1=me(De/Le)}else Ee.x0=Ee.x1=0;return Ee}}function wLt(e){return dLt.partition().size([2*Math.PI,e.height+1])(e)}jD.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o===\"none\"))return\"\";var s=i.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=Rl.isHierarchyRoot(e),h=Rl.getParent(c,e),d=Rl.getValue(e);if(!a){var v=o.split(\"+\"),m=function(g){return v.indexOf(g)!==-1},b=[],p;if(m(\"label\")&&u.label&&b.push(u.label),u.hasOwnProperty(\"v\")&&m(\"value\")&&b.push(Rl.formatValue(u.v,s)),!f){m(\"current path\")&&b.push(Rl.getPath(e.data));var k=0;m(\"percent parent\")&&k++,m(\"percent entry\")&&k++,m(\"percent root\")&&k++;var M=k>1;if(k){var T,L=function(g){p=Rl.formatPercent(T,s),M&&(p+=\" of \"+g),b.push(p)};m(\"percent parent\")&&!f&&(T=d/Rl.getValue(h),L(\"parent\")),m(\"percent entry\")&&(T=d/Rl.getValue(t),L(\"entry\")),m(\"percent root\")&&(T=d/Rl.getValue(c),L(\"root\"))}}return m(\"text\")&&(p=Av.castOption(r,u.i,\"text\"),Av.isValidTextValue(p)&&b.push(p)),b.join(\"
\")}var x=Av.castOption(r,u.i,\"texttemplate\");if(!x)return\"\";var C={};u.label&&(C.label=u.label),u.hasOwnProperty(\"v\")&&(C.value=u.v,C.valueLabel=Rl.formatValue(u.v,s)),C.currentPath=Rl.getPath(e.data),f||(C.percentParent=d/Rl.getValue(h),C.percentParentLabel=Rl.formatPercent(C.percentParent,s),C.parent=Rl.getPtLabel(h)),C.percentEntry=d/Rl.getValue(t),C.percentEntryLabel=Rl.formatPercent(C.percentEntry,s),C.entry=Rl.getPtLabel(t),C.percentRoot=d/Rl.getValue(c),C.percentRootLabel=Rl.formatPercent(C.percentRoot,s),C.root=Rl.getPtLabel(c),u.hasOwnProperty(\"color\")&&(C.color=u.color);var S=Av.castOption(r,u.i,\"text\");return(Av.isValidTextValue(S)||S===\"\")&&(C.text=S),C.customdata=Av.castOption(r,u.i,\"customdata\"),Av.texttemplateString({data:[C,r._meta],fallback:r.texttemplatefallback,labels:C,locale:i._d3locale,template:x})};function TLt(e){return e.rpx0===0&&Av.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function k6e(e){return ALt(e.rpx1,e.transform.textPosAngle)}function ALt(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var I6e=ye((_0r,P6e)=>{\"use strict\";P6e.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:jke(),categories:[],animatable:!0,attributes:OE(),layoutAttributes:MW(),supplyDefaults:eCe(),supplyLayoutDefaults:rCe(),calc:UE().calc,crossTraceCalc:UE().crossTraceCalc,plot:WD().plot,style:YW().style,colorbar:$d(),meta:{}}});var D6e=ye((x0r,R6e)=>{\"use strict\";R6e.exports=I6e()});var z6e=ye(NA=>{\"use strict\";var F6e=Mc();NA.name=\"treemap\";NA.plot=function(e,t,r,n){F6e.plotBasePlot(NA.name,e,t,r,n)};NA.clean=function(e,t,r,n){F6e.cleanBasePlot(NA.name,e,t,r,n)}});var W2=ye((w0r,q6e)=>{\"use strict\";q6e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}});var XD=ye((T0r,N6e)=>{\"use strict\";var{hovertemplateAttrs:SLt,texttemplateAttrs:MLt,templatefallbackAttrs:O6e}=Ll(),ELt=Tu(),kLt=Cc().attributes,X2=F2(),tg=OE(),B6e=W2(),JW=Ao().extendFlat,CLt=Pd().pattern;N6e.exports={labels:tg.labels,parents:tg.parents,values:tg.values,branchvalues:tg.branchvalues,count:tg.count,level:tg.level,maxdepth:tg.maxdepth,tiling:{packing:{valType:\"enumerated\",values:[\"squarify\",\"binary\",\"dice\",\"slice\",\"slice-dice\",\"dice-slice\"],dflt:\"squarify\",editType:\"plot\"},squarifyratio:{valType:\"number\",min:1,dflt:1,editType:\"plot\"},flip:{valType:\"flaglist\",flags:[\"x\",\"y\"],dflt:\"\",editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:3,editType:\"plot\"},editType:\"calc\"},marker:JW({pad:{t:{valType:\"number\",min:0,editType:\"plot\"},l:{valType:\"number\",min:0,editType:\"plot\"},r:{valType:\"number\",min:0,editType:\"plot\"},b:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"},colors:tg.marker.colors,pattern:CLt,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:tg.marker.line,cornerradius:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},ELt(\"marker\",{colorAttr:\"colors\",anim:!1})),pathbar:{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},edgeshape:{valType:\"enumerated\",values:[\">\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:JW({},X2.textfont,{}),editType:\"calc\"},text:X2.text,textinfo:tg.textinfo,texttemplate:MLt({editType:\"plot\"},{keys:B6e.eventDataKeys.concat([\"label\",\"value\"])}),texttemplatefallback:O6e({editType:\"plot\"}),hovertext:X2.hovertext,hoverinfo:tg.hoverinfo,hovertemplate:SLt({},{keys:B6e.eventDataKeys}),hovertemplatefallback:O6e(),textfont:X2.textfont,insidetextfont:X2.insidetextfont,outsidetextfont:JW({},X2.outsidetextfont,{}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"top left\",editType:\"plot\"},sort:X2.sort,root:tg.root,domain:kLt({name:\"treemap\",trace:!0,editType:\"calc\"})}});var $W=ye((A0r,U6e)=>{\"use strict\";U6e.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var j6e=ye((S0r,H6e)=>{\"use strict\";var V6e=Pr(),LLt=XD(),PLt=ka(),ILt=Cc().defaults,RLt=i0().handleText,DLt=A_().TEXTPAD,FLt=z2().handleMarkerDefaults,G6e=tc(),zLt=G6e.hasColorscale,qLt=G6e.handleDefaults;H6e.exports=function(t,r,n,i){function a(b,p){return V6e.coerce(t,r,LLt,b,p)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\");var u=a(\"tiling.packing\");u===\"squarify\"&&a(\"tiling.squarifyratio\"),a(\"tiling.flip\"),a(\"tiling.pad\");var c=a(\"text\");a(\"texttemplate\"),a(\"texttemplatefallback\"),r.texttemplate||a(\"textinfo\",V6e.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\");var f=a(\"pathbar.visible\"),h=\"auto\";RLt(t,r,i,a,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\");var d=r.textposition.indexOf(\"bottom\")!==-1;FLt(t,r,i,a);var v=r._hasColorscale=zLt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;v?qLt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}):a(\"marker.depthfade\",!(r.marker.colors||[]).length);var m=r.textfont.size*2;a(\"marker.pad.t\",d?m/4:m),a(\"marker.pad.l\",m/4),a(\"marker.pad.r\",m/4),a(\"marker.pad.b\",d?m:m/4),a(\"marker.cornerradius\"),r._hovered={marker:{line:{width:2,color:PLt.contrast(i.paper_bgcolor)}}},f&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*DLt),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),ILt(r,i,a),r._length=null}});var X6e=ye((M0r,W6e)=>{\"use strict\";var OLt=Pr(),BLt=$W();W6e.exports=function(t,r){function n(i,a){return OLt.coerce(t,r,BLt,i,a)}n(\"treemapcolorway\",r.colorway),n(\"extendtreemapcolors\")}});var eX=ye(QW=>{\"use strict\";var Z6e=UE();QW.calc=function(e,t){return Z6e.calc(e,t)};QW.crossTraceCalc=function(e){return Z6e._runCrossTraceCalc(\"treemap\",e)}});var tX=ye((k0r,Y6e)=>{\"use strict\";Y6e.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o{\"use strict\";var UA=BE(),NLt=tX();K6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing===\"dice-slice\",s=n.pad[a?\"bottom\":\"top\"],l=n.pad[i?\"right\":\"left\"],u=n.pad[i?\"left\":\"right\"],c=n.pad[a?\"top\":\"bottom\"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=UA.treemap().tile(ULt(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&NLt(h,r,{swapXY:o,flipX:i,flipY:a}),h};function ULt(e,t){switch(e){case\"squarify\":return UA.treemapSquarify.ratio(t);case\"binary\":return UA.treemapBinary;case\"dice\":return UA.treemapDice;case\"slice\":return UA.treemapSlice;default:return UA.treemapSliceDice}}});var ZD=ye((L0r,eLe)=>{\"use strict\";var J6e=qa(),VA=ka(),$6e=Pr(),iX=i1(),VLt=bv().resizeText,GLt=HD();function HLt(e){var t=e._fullLayout._treemaplayer.selectAll(\".trace\");VLt(e,t,\"treemap\"),t.each(function(r){var n=J6e.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){J6e.select(this).call(Q6e,o,a,e,{hovered:!1})})})}function Q6e(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=iX.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l=\"rgba(0,0,0,0)\",u=0;else if(l=$6e.castOption(r,s,\"marker.line.color\")||VA.defaultLine,u=$6e.castOption(r,s,\"marker.line.width\")||0,!r._hasColorscale&&!t.onPathbar){var d=r.marker.depthfade;if(d){var v=VA.combine(VA.addOpacity(r._backgroundColor,.75),c),m;if(d===!0){var b=iX.getMaxDepth(r);isFinite(b)?iX.isLeaf(t)?m=0:m=r._maxVisibleLayers-(t.data.depth-r._entryDepth):m=t.data.height+1}else m=t.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var p=0;p{\"use strict\";var tLe=qa(),YD=Pr(),rLe=So(),jLt=Zl(),WLt=rX(),iLe=ZD().styleOne,nX=W2(),GA=i1(),XLt=$E(),aX=!0;nLe.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,c=a.viewY,f=a.pathSlice,h=a.toMoveInsideSlice,d=a.strTransform,v=a.hasTransition,m=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,p=a.makeUpdateTextInterpolator,k={},M=t._context.staticPlot,T=t._fullLayout,L=r[0],x=L.trace,C=L.hierarchy,S=s/x._entryDepth,g=GA.listPath(n.data,\"id\"),P=WLt(C.copy(),[s,l],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();P=P.filter(function(z){var q=g.indexOf(z.data.id);return q===-1?!1:(z.x0=S*q,z.x1=S*(q+1),z.y0=o,z.y1=o+l,z.onPathbar=!0,!0)}),P.reverse(),i=i.data(P,GA.getPtId),i.enter().append(\"g\").classed(\"pathbar\",!0),m(i,aX,k,[s,l],f),i.order();var E=i;v&&(E=E.transition().each(\"end\",function(){var z=tLe.select(this);GA.setSliceCursor(z,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),E.each(function(z){z._x0=u(z.x0),z._x1=u(z.x1),z._y0=c(z.y0),z._y1=c(z.y1),z._hoverX=u(z.x1-Math.min(s,l)/2),z._hoverY=c(z.y1-l/2);var q=tLe.select(this),U=YD.ensureSingle(q,\"path\",\"surface\",function(N){N.style(\"pointer-events\",M?\"none\":\"all\")});v?U.transition().attrTween(\"d\",function(N){var H=b(N,aX,k,[s,l]);return function(re){return f(H(re))}}):U.attr(\"d\",f),q.call(XLt,n,t,r,{styleOne:iLe,eventDataKeys:nX.eventDataKeys,transitionTime:nX.CLICK_TRANSITION_TIME,transitionEasing:nX.CLICK_TRANSITION_EASING}).call(GA.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),U.call(iLe,z,x,t,{hovered:!1}),z._text=(GA.getPtLabel(z)||\"\").split(\"
\").join(\" \")||\"\";var G=YD.ensureSingle(q,\"g\",\"slicetext\"),Z=YD.ensureSingle(G,\"text\",\"\",function(N){N.attr(\"data-notex\",1)}),j=YD.ensureUniformFontSize(t,GA.determineTextFont(x,z,T.font,{onPathbar:!0}));Z.text(z._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(rLe.font,j).call(jLt.convertToTspans,t),z.textBB=rLe.bBox(Z.node()),z.transform=h(z,{fontSize:j.size,onPathbar:!0}),z.transform.fontSize=j.size,v?Z.transition().attrTween(\"transform\",function(N){var H=p(N,aX,k,[s,l]);return function(re){return d(H(re))}}):Z.attr(\"transform\",d(z))})}});var uLe=ye((I0r,lLe)=>{\"use strict\";var oLe=qa(),oX=(H2(),pb(G2)).interpolate,ix=i1(),ek=Pr(),sLe=A_().TEXTPAD,ZLt=d2(),YLt=ZLt.toMoveInsideBar,KLt=bv(),sX=KLt.recordMinTextSize,JLt=W2(),$Lt=aLe();function Z2(e){return ix.isHierarchyRoot(e)?\"\":ix.getPtId(e)}lLe.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u===\"icicle\",f=s.hierarchy,h=ix.findEntryWithLevel(f,l.level),d=oLe.select(n),v=d.selectAll(\"g.pathbar\"),m=d.selectAll(\"g.slice\");if(!h){v.remove(),m.remove();return}var b=ix.isHierarchyRoot(h),p=!o.uniformtext.mode&&ix.hasTransition(i),k=ix.getMaxDepth(l),M=function(Ae){return Ae.data.depth-h.data.depth-1?C+P:-(g+P):0,z={x0:S,x1:S,y0:E,y1:E+g},q=function(Ae,rt,St){var Tt=l.tiling.pad,dt=function(or){return or-Tt<=rt.x0},Et=function(or){return or+Tt>=rt.x1},pt=function(or){return or-Tt<=rt.y0},Xt=function(or){return or+Tt>=rt.y1};return Ae.x0===rt.x0&&Ae.x1===rt.x1&&Ae.y0===rt.y0&&Ae.y1===rt.y1?{x0:Ae.x0,x1:Ae.x1,y0:Ae.y0,y1:Ae.y1}:{x0:dt(Ae.x0-Tt)?0:Et(Ae.x0-Tt)?St[0]:Ae.x0,x1:dt(Ae.x1+Tt)?0:Et(Ae.x1+Tt)?St[0]:Ae.x1,y0:pt(Ae.y0-Tt)?0:Xt(Ae.y0-Tt)?St[1]:Ae.y0,y1:pt(Ae.y1+Tt)?0:Xt(Ae.y1+Tt)?St[1]:Ae.y1}},U=null,G={},Z={},j=null,N=function(Ae,rt){return rt?G[Z2(Ae)]:Z[Z2(Ae)]},H=function(Ae,rt,St,Tt){if(rt)return G[Z2(f)]||z;var dt=Z[l.level]||St;return M(Ae)?q(Ae,dt,Tt):{}};s.hasMultipleRoots&&b&&k++,l._maxDepth=k,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var re=-x/2+T.l+T.w*(L.x[1]+L.x[0])/2,oe=-C/2+T.t+T.h*(1-(L.y[1]+L.y[0])/2),_e=function(Ae){return re+Ae},ke=function(Ae){return oe+Ae},Ce=ke(0),ge=_e(0),ie=function(Ae){return ge+Ae},Se=function(Ae){return Ce+Ae};function Ee(Ae,rt){return Ae+\",\"+rt}var we=ie(0),De=function(Ae){Ae.x=Math.max(we,Ae.x)},Le=l.pathbar.edgeshape,me=function(Ae){var rt=ie(Math.max(Math.min(Ae.x0,Ae.x0),0)),St=ie(Math.min(Math.max(Ae.x1,Ae.x1),S)),Tt=Se(Ae.y0),dt=Se(Ae.y1),Et=g/2,pt={},Xt={};pt.x=rt,Xt.x=St,pt.y=Xt.y=(Tt+dt)/2;var or={x:rt,y:Tt},_r={x:St,y:Tt},Er={x:St,y:dt},ei={x:rt,y:dt};return Le===\">\"?(or.x-=Et,_r.x-=Et,Er.x-=Et,ei.x-=Et):Le===\"/\"?(Er.x-=Et,ei.x-=Et,pt.x-=Et/2,Xt.x-=Et/2):Le===\"\\\\\"?(or.x-=Et,_r.x-=Et,pt.x-=Et/2,Xt.x-=Et/2):Le===\"<\"&&(pt.x-=Et,Xt.x-=Et),De(or),De(ei),De(pt),De(_r),De(Er),De(Xt),\"M\"+Ee(or.x,or.y)+\"L\"+Ee(_r.x,_r.y)+\"L\"+Ee(Xt.x,Xt.y)+\"L\"+Ee(Er.x,Er.y)+\"L\"+Ee(ei.x,ei.y)+\"L\"+Ee(pt.x,pt.y)+\"Z\"},Pe=l[c?\"tiling\":\"marker\"].pad,ce=function(Ae){return l.textposition.indexOf(Ae)!==-1},He=ce(\"top\"),lt=ce(\"left\"),mt=ce(\"right\"),Vt=ce(\"bottom\"),st=function(Ae){var rt=_e(Ae.x0),St=_e(Ae.x1),Tt=ke(Ae.y0),dt=ke(Ae.y1),Et=St-rt,pt=dt-Tt;if(!Et||!pt)return\"\";var Xt=l.marker.cornerradius||0,or=Math.min(Xt,Et/2,pt/2);or&&Ae.data&&Ae.data.data&&Ae.data.data.label&&(He&&(or=Math.min(or,Pe.t)),lt&&(or=Math.min(or,Pe.l)),mt&&(or=Math.min(or,Pe.r)),Vt&&(or=Math.min(or,Pe.b)));var _r=function(Er,ei){return or?\"a\"+Ee(or,or)+\" 0 0 1 \"+Ee(Er,ei):\"\"};return\"M\"+Ee(rt,Tt+or)+_r(or,-or)+\"L\"+Ee(St-or,Tt)+_r(or,or)+\"L\"+Ee(St,dt-or)+_r(-or,or)+\"L\"+Ee(rt+or,dt)+_r(-or,-or)+\"Z\"},ct=function(Ae,rt){var St=Ae.x0,Tt=Ae.x1,dt=Ae.y0,Et=Ae.y1,pt=Ae.textBB,Xt=He||rt.isHeader&&!Vt,or=Xt?\"start\":Vt?\"end\":\"middle\",_r=ce(\"right\"),Er=ce(\"left\")||rt.onPathbar,ei=Er?-1:_r?1:0;if(rt.isHeader){if(St+=(c?Pe:Pe.l)-sLe,Tt-=(c?Pe:Pe.r)-sLe,St>=Tt){var qr=(St+Tt)/2;St=qr,Tt=qr}var jr;Vt?(jr=Et-(c?Pe:Pe.b),dt{\"use strict\";var QLt=qa(),ePt=i1(),tPt=bv(),rPt=tPt.clearMinTextSize,iPt=V0().resizeText,cLe=uLe();fLe.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l[\"_\"+o+\"layer\"],c,f,h=!n;if(rPt(o,l),c=u.selectAll(\"g.trace.\"+o).data(r,function(v){return v[0].trace.uid}),c.enter().append(\"g\").classed(\"trace\",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&ePt.hasTransition(n)){i&&(f=i());var d=QLt.transition().duration(n.duration).ease(n.easing).each(\"end\",function(){f&&f()}).each(\"interrupt\",function(){f&&f()});d.each(function(){u.selectAll(\"g.trace\").each(function(v){cLe(t,v,this,n,s)})})}else c.each(function(v){cLe(t,v,this,n,s)}),l.uniformtext.mode&&iPt(t,u.selectAll(\".trace\"),o);h&&c.exit().remove()}});var gLe=ye((D0r,pLe)=>{\"use strict\";var hLe=qa(),KD=Pr(),dLe=So(),nPt=Zl(),aPt=rX(),vLe=ZD().styleOne,uX=W2(),nx=i1(),oPt=$E(),sPt=WD().formatSliceLabel,cX=!1;pLe.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,m=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,k={},M=t._context.staticPlot,T=t._fullLayout,L=r[0],x=L.trace,C=x.textposition.indexOf(\"left\")!==-1,S=x.textposition.indexOf(\"right\")!==-1,g=x.textposition.indexOf(\"bottom\")!==-1,P=!g&&!x.marker.pad.t||g&&!x.marker.pad.b,E=aPt(n,[o,s],{packing:x.tiling.packing,squarifyratio:x.tiling.squarifyratio,flipX:x.tiling.flip.indexOf(\"x\")>-1,flipY:x.tiling.flip.indexOf(\"y\")>-1,pad:{inner:x.tiling.pad,top:x.marker.pad.t,left:x.marker.pad.l,right:x.marker.pad.r,bottom:x.marker.pad.b}}),z=E.descendants(),q=1/0,U=-1/0;z.forEach(function(H){var re=H.depth;re>=x._maxDepth?(H.x0=H.x1=(H.x0+H.x1)/2,H.y0=H.y1=(H.y0+H.y1)/2):(q=Math.min(q,re),U=Math.max(U,re))}),i=i.data(z,nx.getPtId),x._maxVisibleLayers=isFinite(U)?U-q+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,cX,k,[o,s],c),i.order();var G=null;if(d&&p){var Z=nx.getPtId(p);i.each(function(H){G===null&&nx.getPtId(H)===Z&&(G={x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1})})}var j=function(){return G||{x0:0,x1:o,y0:0,y1:s}},N=i;return d&&(N=N.transition().each(\"end\",function(){var H=hLe.select(this);nx.setSliceCursor(H,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(H){var re=nx.isHeader(H,x);H._x0=l(H.x0),H._x1=l(H.x1),H._y0=u(H.y0),H._y1=u(H.y1),H._hoverX=l(H.x1-x.marker.pad.r),H._hoverY=u(g?H.y1-x.marker.pad.b/2:H.y0+x.marker.pad.t/2);var oe=hLe.select(this),_e=KD.ensureSingle(oe,\"path\",\"surface\",function(Ee){Ee.style(\"pointer-events\",M?\"none\":\"all\")});d?_e.transition().attrTween(\"d\",function(Ee){var we=m(Ee,cX,j(),[o,s]);return function(De){return c(we(De))}}):_e.attr(\"d\",c),oe.call(oPt,n,t,r,{styleOne:vLe,eventDataKeys:uX.eventDataKeys,transitionTime:uX.CLICK_TRANSITION_TIME,transitionEasing:uX.CLICK_TRANSITION_EASING}).call(nx.setSliceCursor,t,{isTransitioning:t._transitioning}),_e.call(vLe,H,x,t,{hovered:!1}),H.x0===H.x1||H.y0===H.y1?H._text=\"\":re?H._text=P?\"\":nx.getPtLabel(H)||\"\":H._text=sPt(H,n,x,r,T)||\"\";var ke=KD.ensureSingle(oe,\"g\",\"slicetext\"),Ce=KD.ensureSingle(ke,\"text\",\"\",function(Ee){Ee.attr(\"data-notex\",1)}),ge=KD.ensureUniformFontSize(t,nx.determineTextFont(x,H,T.font)),ie=H._text||\" \",Se=re&&ie.indexOf(\"
\")===-1;Ce.text(ie).classed(\"slicetext\",!0).attr(\"text-anchor\",S?\"end\":C||Se?\"start\":\"middle\").call(dLe.font,ge).call(nPt.convertToTspans,t),H.textBB=dLe.bBox(Ce.node()),H.transform=f(H,{fontSize:ge.size,isHeader:re}),H.transform.fontSize=ge.size,d?Ce.transition().attrTween(\"transform\",function(Ee){var we=b(Ee,cX,j(),[o,s]);return function(De){return h(we(De))}}):Ce.attr(\"transform\",h(H))}),G}});var yLe=ye((F0r,mLe)=>{\"use strict\";var lPt=lX(),uPt=gLe();mLe.exports=function(t,r,n,i){return lPt(t,r,n,i,{type:\"treemap\",drawDescendants:uPt})}});var xLe=ye((z0r,_Le)=>{\"use strict\";_Le.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:z6e(),categories:[],animatable:!0,attributes:XD(),layoutAttributes:$W(),supplyDefaults:j6e(),supplyLayoutDefaults:X6e(),calc:eX().calc,crossTraceCalc:eX().crossTraceCalc,plot:yLe(),style:ZD().style,colorbar:$d(),meta:{}}});var wLe=ye((q0r,bLe)=>{\"use strict\";bLe.exports=xLe()});var ALe=ye(HA=>{\"use strict\";var TLe=Mc();HA.name=\"icicle\";HA.plot=function(e,t,r,n){TLe.plotBasePlot(HA.name,e,t,r,n)};HA.clean=function(e,t,r,n){TLe.cleanBasePlot(HA.name,e,t,r,n)}});var fX=ye((B0r,ELe)=>{\"use strict\";var{hovertemplateAttrs:cPt,texttemplateAttrs:fPt,templatefallbackAttrs:SLe}=Ll(),hPt=Tu(),dPt=Cc().attributes,tk=F2(),s0=OE(),JD=XD(),MLe=W2(),vPt=Ao().extendFlat,pPt=Pd().pattern;ELe.exports={labels:s0.labels,parents:s0.parents,values:s0.values,branchvalues:s0.branchvalues,count:s0.count,level:s0.level,maxdepth:s0.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:JD.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:vPt({colors:s0.marker.colors,line:s0.marker.line,pattern:pPt,editType:\"calc\"},hPt(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:s0.leaf,pathbar:JD.pathbar,text:tk.text,textinfo:s0.textinfo,texttemplate:fPt({editType:\"plot\"},{keys:MLe.eventDataKeys.concat([\"label\",\"value\"])}),texttemplatefallback:SLe({editType:\"plot\"}),hovertext:tk.hovertext,hoverinfo:s0.hoverinfo,hovertemplate:cPt({},{keys:MLe.eventDataKeys}),hovertemplatefallback:SLe(),textfont:tk.textfont,insidetextfont:tk.insidetextfont,outsidetextfont:JD.outsidetextfont,textposition:JD.textposition,sort:tk.sort,root:s0.root,domain:dPt({name:\"icicle\",trace:!0,editType:\"calc\"})}});var hX=ye((N0r,kLe)=>{\"use strict\";kLe.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var ILe=ye((U0r,PLe)=>{\"use strict\";var CLe=Pr(),gPt=fX(),mPt=ka(),yPt=Cc().defaults,_Pt=i0().handleText,xPt=A_().TEXTPAD,bPt=z2().handleMarkerDefaults,LLe=tc(),wPt=LLe.hasColorscale,TPt=LLe.handleDefaults;PLe.exports=function(t,r,n,i){function a(d,v){return CLe.coerce(t,r,gPt,d,v)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),a(\"tiling.orientation\"),a(\"tiling.flip\"),a(\"tiling.pad\");var u=a(\"text\");a(\"texttemplate\"),a(\"texttemplatefallback\"),r.texttemplate||a(\"textinfo\",CLe.isArrayOrTypedArray(u)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\");var c=a(\"pathbar.visible\"),f=\"auto\";_Pt(t,r,i,a,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\"),bPt(t,r,i,a);var h=r._hasColorscale=wPt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;h&&TPt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",h?1:.7),r._hovered={marker:{line:{width:2,color:mPt.contrast(i.paper_bgcolor)}}},c&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*xPt),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),yPt(r,i,a),r._length=null}});var DLe=ye((V0r,RLe)=>{\"use strict\";var APt=Pr(),SPt=hX();RLe.exports=function(t,r){function n(i,a){return APt.coerce(t,r,SPt,i,a)}n(\"iciclecolorway\",r.colorway),n(\"extendiciclecolors\")}});var vX=ye(dX=>{\"use strict\";var FLe=UE();dX.calc=function(e,t){return FLe.calc(e,t)};dX.crossTraceCalc=function(e){return FLe._runCrossTraceCalc(\"icicle\",e)}});var qLe=ye((H0r,zLe)=>{\"use strict\";var MPt=BE(),EPt=tX();zLe.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation===\"h\",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=MPt.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&EPt(c,r,{swapXY:o,flipX:i,flipY:a}),c}});var pX=ye((j0r,VLe)=>{\"use strict\";var OLe=qa(),BLe=ka(),NLe=Pr(),kPt=bv().resizeText,CPt=HD();function LPt(e){var t=e._fullLayout._iciclelayer.selectAll(\".trace\");kPt(e,t,\"icicle\"),t.each(function(r){var n=OLe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){OLe.select(this).call(ULe,o,a,e)})})}function ULe(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=NLe.castOption(r,o,\"marker.line.color\")||BLe.defaultLine,l=NLe.castOption(r,o,\"marker.line.width\")||0;e.call(CPt,t,r,n).style(\"stroke-width\",l).call(BLe.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}VLe.exports={style:LPt,styleOne:ULe}});var XLe=ye((W0r,WLe)=>{\"use strict\";var GLe=qa(),$D=Pr(),HLe=So(),PPt=Zl(),IPt=qLe(),jLe=pX().styleOne,gX=W2(),jA=i1(),RPt=$E(),DPt=WD().formatSliceLabel,mX=!1;WLe.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,m=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,k={},M=t._context.staticPlot,T=t._fullLayout,L=r[0],x=L.trace,C=x.textposition.indexOf(\"left\")!==-1,S=x.textposition.indexOf(\"right\")!==-1,g=x.textposition.indexOf(\"bottom\")!==-1,P=IPt(n,[o,s],{flipX:x.tiling.flip.indexOf(\"x\")>-1,flipY:x.tiling.flip.indexOf(\"y\")>-1,orientation:x.tiling.orientation,pad:{inner:x.tiling.pad},maxDepth:x._maxDepth}),E=P.descendants(),z=1/0,q=-1/0;E.forEach(function(N){var H=N.depth;H>=x._maxDepth?(N.x0=N.x1=(N.x0+N.x1)/2,N.y0=N.y1=(N.y0+N.y1)/2):(z=Math.min(z,H),q=Math.max(q,H))}),i=i.data(E,jA.getPtId),x._maxVisibleLayers=isFinite(q)?q-z+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,mX,k,[o,s],c),i.order();var U=null;if(d&&p){var G=jA.getPtId(p);i.each(function(N){U===null&&jA.getPtId(N)===G&&(U={x0:N.x0,x1:N.x1,y0:N.y0,y1:N.y1})})}var Z=function(){return U||{x0:0,x1:o,y0:0,y1:s}},j=i;return d&&(j=j.transition().each(\"end\",function(){var N=GLe.select(this);jA.setSliceCursor(N,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),j.each(function(N){N._x0=l(N.x0),N._x1=l(N.x1),N._y0=u(N.y0),N._y1=u(N.y1),N._hoverX=l(N.x1-x.tiling.pad),N._hoverY=u(g?N.y1-x.tiling.pad/2:N.y0+x.tiling.pad/2);var H=GLe.select(this),re=$D.ensureSingle(H,\"path\",\"surface\",function(Ce){Ce.style(\"pointer-events\",M?\"none\":\"all\")});d?re.transition().attrTween(\"d\",function(Ce){var ge=m(Ce,mX,Z(),[o,s],{orientation:x.tiling.orientation,flipX:x.tiling.flip.indexOf(\"x\")>-1,flipY:x.tiling.flip.indexOf(\"y\")>-1});return function(ie){return c(ge(ie))}}):re.attr(\"d\",c),H.call(RPt,n,t,r,{styleOne:jLe,eventDataKeys:gX.eventDataKeys,transitionTime:gX.CLICK_TRANSITION_TIME,transitionEasing:gX.CLICK_TRANSITION_EASING}).call(jA.setSliceCursor,t,{isTransitioning:t._transitioning}),re.call(jLe,N,x,t,{hovered:!1}),N.x0===N.x1||N.y0===N.y1?N._text=\"\":N._text=DPt(N,n,x,r,T)||\"\";var oe=$D.ensureSingle(H,\"g\",\"slicetext\"),_e=$D.ensureSingle(oe,\"text\",\"\",function(Ce){Ce.attr(\"data-notex\",1)}),ke=$D.ensureUniformFontSize(t,jA.determineTextFont(x,N,T.font));_e.text(N._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",S?\"end\":C?\"start\":\"middle\").call(HLe.font,ke).call(PPt.convertToTspans,t),N.textBB=HLe.bBox(_e.node()),N.transform=f(N,{fontSize:ke.size}),N.transform.fontSize=ke.size,d?_e.transition().attrTween(\"transform\",function(Ce){var ge=b(Ce,mX,Z(),[o,s]);return function(ie){return h(ge(ie))}}):_e.attr(\"transform\",h(N))}),U}});var YLe=ye((X0r,ZLe)=>{\"use strict\";var FPt=lX(),zPt=XLe();ZLe.exports=function(t,r,n,i){return FPt(t,r,n,i,{type:\"icicle\",drawDescendants:zPt})}});var JLe=ye((Z0r,KLe)=>{\"use strict\";KLe.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:ALe(),categories:[],animatable:!0,attributes:fX(),layoutAttributes:hX(),supplyDefaults:ILe(),supplyLayoutDefaults:DLe(),calc:vX().calc,crossTraceCalc:vX().crossTraceCalc,plot:YLe(),style:pX().style,colorbar:$d(),meta:{}}});var QLe=ye((Y0r,$Le)=>{\"use strict\";$Le.exports=JLe()});var tPe=ye(WA=>{\"use strict\";var ePe=Mc();WA.name=\"funnelarea\";WA.plot=function(e,t,r,n){ePe.plotBasePlot(WA.name,e,t,r,n)};WA.clean=function(e,t,r,n){ePe.cleanBasePlot(WA.name,e,t,r,n)}});var yX=ye((J0r,iPe)=>{\"use strict\";var iv=F2(),qPt=Gl(),OPt=Cc().attributes,{hovertemplateAttrs:BPt,texttemplateAttrs:NPt,templatefallbackAttrs:rPe}=Ll(),Y2=Ao().extendFlat;iPe.exports={labels:iv.labels,label0:iv.label0,dlabel:iv.dlabel,values:iv.values,marker:{colors:iv.marker.colors,line:{color:Y2({},iv.marker.line.color,{dflt:null}),width:Y2({},iv.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:iv.marker.pattern,editType:\"calc\"},text:iv.text,hovertext:iv.hovertext,scalegroup:Y2({},iv.scalegroup,{}),textinfo:Y2({},iv.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:NPt({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),texttemplatefallback:rPe({editType:\"plot\"}),hoverinfo:Y2({},qPt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:BPt({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hovertemplatefallback:rPe(),textposition:Y2({},iv.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:iv.textfont,insidetextfont:iv.insidetextfont,title:{text:iv.title.text,font:iv.title.font,position:Y2({},iv.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:OPt({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\"}}});var _X=ye(($0r,nPe)=>{\"use strict\";var UPt=_D().hiddenlabels;nPe.exports={hiddenlabels:UPt,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var sPe=ye((Q0r,oPe)=>{\"use strict\";var aPe=Pr(),VPt=yX(),GPt=Cc().defaults,HPt=i0().handleText,jPt=z2().handleLabelsAndValues,WPt=z2().handleMarkerDefaults;oPe.exports=function(t,r,n,i){function a(m,b){return aPe.coerce(t,r,VPt,m,b)}var o=a(\"labels\"),s=a(\"values\"),l=jPt(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a(\"label0\"),a(\"dlabel\")),!u){r.visible=!1;return}r._length=u,WPt(t,r,i,a),a(\"scalegroup\");var c=a(\"text\"),f=a(\"texttemplate\");a(\"texttemplatefallback\");var h;if(f||(h=a(\"textinfo\",Array.isArray(c)?\"text+percent\":\"percent\")),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),f||h&&h!==\"none\"){var d=a(\"textposition\");HPt(t,r,i,a,d,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h===\"none\"&&a(\"textposition\",\"none\");GPt(r,i,a);var v=a(\"title.text\");v&&(a(\"title.position\"),aPe.coerceFont(a,\"title.font\",i.font)),a(\"aspectratio\"),a(\"baseratio\")}});var uPe=ye((egr,lPe)=>{\"use strict\";var XPt=Pr(),ZPt=_X();lPe.exports=function(t,r){function n(i,a){return XPt.coerce(t,r,ZPt,i,a)}n(\"hiddenlabels\"),n(\"funnelareacolorway\",r.colorway),n(\"extendfunnelareacolors\")}});var xX=ye((tgr,fPe)=>{\"use strict\";var cPe=kA();function YPt(e,t){return cPe.calc(e,t)}function KPt(e){cPe.crossTraceCalc(e,{type:\"funnelarea\"})}fPe.exports={calc:YPt,crossTraceCalc:KPt}});var gPe=ye((rgr,pPe)=>{\"use strict\";var K2=qa(),bX=So(),ax=Pr(),JPt=ax.strScale,hPe=ax.strTranslate,dPe=Zl(),$Pt=d2(),QPt=$Pt.toMoveInsideBar,vPe=bv(),eIt=vPe.recordMinTextSize,tIt=vPe.clearMinTextSize,rIt=g_(),XA=TD(),iIt=XA.attachFxHandlers,nIt=XA.determineInsideTextFont,aIt=XA.layoutAreas,oIt=XA.prerenderTitles,sIt=XA.positionTitleOutside,lIt=XA.formatSliceLabel;pPe.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;tIt(\"funnelarea\",i),oIt(r,t),aIt(r,i._size),ax.makeTraceGroups(i._funnelarealayer,r,\"trace\").each(function(a){var o=K2.select(this),s=a[0],l=s.trace;cIt(a),o.each(function(){var u=K2.select(this).selectAll(\"g.slice\").data(a);u.enter().append(\"g\").classed(\"slice\",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){K2.select(this).selectAll(\"path,g\").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var d=s.cx,v=s.cy,m=K2.select(this),b=m.selectAll(\"path.surface\").data([f]);b.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":n?\"none\":\"all\"}),m.call(iIt,t,a);var p=\"M\"+(d+f.TR[0])+\",\"+(v+f.TR[1])+wX(f.TR,f.BR)+wX(f.BR,f.BL)+wX(f.BL,f.TL)+\"Z\";b.attr(\"d\",p),lIt(t,f,s);var k=rIt.castOption(l.textposition,f.pts),M=m.selectAll(\"g.slicetext\").data(f.text&&k!==\"none\"?[0]:[]);M.enter().append(\"g\").classed(\"slicetext\",!0),M.exit().remove(),M.each(function(){var T=ax.ensureSingle(K2.select(this),\"text\",\"\",function(z){z.attr(\"data-notex\",1)}),L=ax.ensureUniformFontSize(t,nIt(l,f,i.font));T.text(f.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(bX.font,L).call(dPe.convertToTspans,t);var x=bX.bBox(T.node()),C,S,g,P=Math.min(f.BL[1],f.BR[1])+v,E=Math.max(f.TL[1],f.TR[1])+v;S=Math.max(f.TL[0],f.BL[0])+d,g=Math.min(f.TR[0],f.BR[0])+d,C=QPt(S,g,P,E,x,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"}),C.fontSize=L.size,eIt(l.type,C,i),a[h].transform=C,ax.setTransormAndDisplay(T,C)})});var c=K2.select(this).selectAll(\"g.titletext\").data(l.title.text?[0]:[]);c.enter().append(\"g\").classed(\"titletext\",!0),c.exit().remove(),c.each(function(){var f=ax.ensureSingle(K2.select(this),\"text\",\"\",function(v){v.attr(\"data-notex\",1)}),h=l.title.text;l._meta&&(h=ax.templateString(h,l._meta)),f.text(h).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(bX.font,l.title.font).call(dPe.convertToTspans,t);var d=sIt(s,i._size);f.attr(\"transform\",hPe(d.x,d.y)+JPt(Math.min(1,d.scale))+hPe(d.tx,d.ty))})})})};function wX(e,t){var r=t[0]-e[0],n=t[1]-e[1];return\"l\"+r+\",\"+n}function uIt(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function cIt(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function c(){var q=Math.sqrt(u);return{x:q,y:-q}}function f(){var q=c();return[q.x,q.y]}var h,d=[];d.push(f());var v,m;for(v=e.length-1;v>-1;v--)if(m=e[v],!m.hidden){var b=m.v/l;u+=b,d.push(f())}var p=1/0,k=-1/0;for(v=0;v-1;v--)if(m=e[v],!m.hidden){P+=1;var E=d[P][0],z=d[P][1];m.TL=[-E,z],m.TR=[E,z],m.BL=S,m.BR=g,m.pxmid=uIt(m.TR,m.BR),S=m.TL,g=m.TR}}});var _Pe=ye((igr,yPe)=>{\"use strict\";var mPe=qa(),fIt=Z3(),hIt=bv().resizeText;yPe.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(\".trace\");hIt(t,r,\"funnelarea\"),r.each(function(n){var i=n[0],a=i.trace,o=mPe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){mPe.select(this).call(fIt,s,a,t)})})}});var bPe=ye((ngr,xPe)=>{\"use strict\";xPe.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:tPe(),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:yX(),layoutAttributes:_X(),supplyDefaults:sPe(),supplyLayoutDefaults:uPe(),calc:xX().calc,crossTraceCalc:xX().crossTraceCalc,plot:gPe(),style:_Pe(),styleOne:Z3(),meta:{}}});var TPe=ye((agr,wPe)=>{\"use strict\";wPe.exports=bPe()});var zd=ye((ogr,APe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){\"use strict\";var s;function l(tt){\"@babel/helpers - typeof\";return l=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(je){return typeof je}:function(je){return je&&typeof Symbol==\"function\"&&je.constructor===Symbol&&je!==Symbol.prototype?\"symbol\":typeof je},l(tt)}var u=o(7507),c=o(3778),f=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;a.hp=m,s=P,a.IS=50;var h=2147483647;s=h,m.TYPED_ARRAY_SUPPORT=d(),!m.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function d(){try{var tt=new Uint8Array(1),je={foo:function(){return 42}};return Object.setPrototypeOf(je,Uint8Array.prototype),Object.setPrototypeOf(tt,je),tt.foo()===42}catch(Ue){return!1}}Object.defineProperty(m.prototype,\"parent\",{enumerable:!0,get:function(){if(m.isBuffer(this))return this.buffer}}),Object.defineProperty(m.prototype,\"offset\",{enumerable:!0,get:function(){if(m.isBuffer(this))return this.byteOffset}});function v(tt){if(tt>h)throw new RangeError('The value \"'+tt+'\" is invalid for option \"size\"');var je=new Uint8Array(tt);return Object.setPrototypeOf(je,m.prototype),je}function m(tt,je,Ue){if(typeof tt==\"number\"){if(typeof je==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return M(tt)}return b(tt,je,Ue)}m.poolSize=8192;function b(tt,je,Ue){if(typeof tt==\"string\")return T(tt,je);if(ArrayBuffer.isView(tt))return x(tt);if(tt==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+l(tt));if(Qt(tt,ArrayBuffer)||tt&&Qt(tt.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(Qt(tt,SharedArrayBuffer)||tt&&Qt(tt.buffer,SharedArrayBuffer)))return C(tt,je,Ue);if(typeof tt==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');var Ae=tt.valueOf&&tt.valueOf();if(Ae!=null&&Ae!==tt)return m.from(Ae,je,Ue);var rt=S(tt);if(rt)return rt;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof tt[Symbol.toPrimitive]==\"function\")return m.from(tt[Symbol.toPrimitive](\"string\"),je,Ue);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+l(tt))}m.from=function(tt,je,Ue){return b(tt,je,Ue)},Object.setPrototypeOf(m.prototype,Uint8Array.prototype),Object.setPrototypeOf(m,Uint8Array);function p(tt){if(typeof tt!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(tt<0)throw new RangeError('The value \"'+tt+'\" is invalid for option \"size\"')}function k(tt,je,Ue){return p(tt),tt<=0?v(tt):je!==void 0?typeof Ue==\"string\"?v(tt).fill(je,Ue):v(tt).fill(je):v(tt)}m.alloc=function(tt,je,Ue){return k(tt,je,Ue)};function M(tt){return p(tt),v(tt<0?0:g(tt)|0)}m.allocUnsafe=function(tt){return M(tt)},m.allocUnsafeSlow=function(tt){return M(tt)};function T(tt,je){if((typeof je!=\"string\"||je===\"\")&&(je=\"utf8\"),!m.isEncoding(je))throw new TypeError(\"Unknown encoding: \"+je);var Ue=E(tt,je)|0,Ae=v(Ue),rt=Ae.write(tt,je);return rt!==Ue&&(Ae=Ae.slice(0,rt)),Ae}function L(tt){for(var je=tt.length<0?0:g(tt.length)|0,Ue=v(je),Ae=0;Ae=h)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+h.toString(16)+\" bytes\");return tt|0}function P(tt){return+tt!=tt&&(tt=0),m.alloc(+tt)}m.isBuffer=function(je){return je!=null&&je._isBuffer===!0&&je!==m.prototype},m.compare=function(je,Ue){if(Qt(je,Uint8Array)&&(je=m.from(je,je.offset,je.byteLength)),Qt(Ue,Uint8Array)&&(Ue=m.from(Ue,Ue.offset,Ue.byteLength)),!m.isBuffer(je)||!m.isBuffer(Ue))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(je===Ue)return 0;for(var Ae=je.length,rt=Ue.length,St=0,Tt=Math.min(Ae,rt);Strt.length?m.from(Tt).copy(rt,St):Uint8Array.prototype.set.call(rt,Tt,St);else if(m.isBuffer(Tt))Tt.copy(rt,St);else throw new TypeError('\"list\" argument must be an Array of Buffers');St+=Tt.length}return rt};function E(tt,je){if(m.isBuffer(tt))return tt.length;if(ArrayBuffer.isView(tt)||Qt(tt,ArrayBuffer))return tt.byteLength;if(typeof tt!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(tt));var Ue=tt.length,Ae=arguments.length>2&&arguments[2]===!0;if(!Ae&&Ue===0)return 0;for(var rt=!1;;)switch(je){case\"ascii\":case\"latin1\":case\"binary\":return Ue;case\"utf8\":case\"utf-8\":return lt(tt).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Ue*2;case\"hex\":return Ue>>>1;case\"base64\":return st(tt).length;default:if(rt)return Ae?-1:lt(tt).length;je=(\"\"+je).toLowerCase(),rt=!0}}m.byteLength=E;function z(tt,je,Ue){var Ae=!1;if((je===void 0||je<0)&&(je=0),je>this.length||((Ue===void 0||Ue>this.length)&&(Ue=this.length),Ue<=0)||(Ue>>>=0,je>>>=0,Ue<=je))return\"\";for(tt||(tt=\"utf8\");;)switch(tt){case\"hex\":return Se(this,je,Ue);case\"utf8\":case\"utf-8\":return _e(this,je,Ue);case\"ascii\":return ge(this,je,Ue);case\"latin1\":case\"binary\":return ie(this,je,Ue);case\"base64\":return oe(this,je,Ue);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Ee(this,je,Ue);default:if(Ae)throw new TypeError(\"Unknown encoding: \"+tt);tt=(tt+\"\").toLowerCase(),Ae=!0}}m.prototype._isBuffer=!0;function q(tt,je,Ue){var Ae=tt[je];tt[je]=tt[Ue],tt[Ue]=Ae}m.prototype.swap16=function(){var je=this.length;if(je%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var Ue=0;UeUe&&(je+=\" ... \"),\"\"},f&&(m.prototype[f]=m.prototype.inspect),m.prototype.compare=function(je,Ue,Ae,rt,St){if(Qt(je,Uint8Array)&&(je=m.from(je,je.offset,je.byteLength)),!m.isBuffer(je))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+l(je));if(Ue===void 0&&(Ue=0),Ae===void 0&&(Ae=je?je.length:0),rt===void 0&&(rt=0),St===void 0&&(St=this.length),Ue<0||Ae>je.length||rt<0||St>this.length)throw new RangeError(\"out of range index\");if(rt>=St&&Ue>=Ae)return 0;if(rt>=St)return-1;if(Ue>=Ae)return 1;if(Ue>>>=0,Ae>>>=0,rt>>>=0,St>>>=0,this===je)return 0;for(var Tt=St-rt,dt=Ae-Ue,Et=Math.min(Tt,dt),pt=this.slice(rt,St),Xt=je.slice(Ue,Ae),or=0;or2147483647?Ue=2147483647:Ue<-2147483648&&(Ue=-2147483648),Ue=+Ue,Ht(Ue)&&(Ue=rt?0:tt.length-1),Ue<0&&(Ue=tt.length+Ue),Ue>=tt.length){if(rt)return-1;Ue=tt.length-1}else if(Ue<0)if(rt)Ue=0;else return-1;if(typeof je==\"string\"&&(je=m.from(je,Ae)),m.isBuffer(je))return je.length===0?-1:G(tt,je,Ue,Ae,rt);if(typeof je==\"number\")return je=je&255,typeof Uint8Array.prototype.indexOf==\"function\"?rt?Uint8Array.prototype.indexOf.call(tt,je,Ue):Uint8Array.prototype.lastIndexOf.call(tt,je,Ue):G(tt,[je],Ue,Ae,rt);throw new TypeError(\"val must be string, number or Buffer\")}function G(tt,je,Ue,Ae,rt){var St=1,Tt=tt.length,dt=je.length;if(Ae!==void 0&&(Ae=String(Ae).toLowerCase(),Ae===\"ucs2\"||Ae===\"ucs-2\"||Ae===\"utf16le\"||Ae===\"utf-16le\")){if(tt.length<2||je.length<2)return-1;St=2,Tt/=2,dt/=2,Ue/=2}function Et(Er,ei){return St===1?Er[ei]:Er.readUInt16BE(ei*St)}var pt;if(rt){var Xt=-1;for(pt=Ue;ptTt&&(Ue=Tt-dt),pt=Ue;pt>=0;pt--){for(var or=!0,_r=0;_rrt&&(Ae=rt)):Ae=rt;var St=je.length;Ae>St/2&&(Ae=St/2);for(var Tt=0;Tt>>0,isFinite(Ae)?(Ae=Ae>>>0,rt===void 0&&(rt=\"utf8\")):(rt=Ae,Ae=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");var St=this.length-Ue;if((Ae===void 0||Ae>St)&&(Ae=St),je.length>0&&(Ae<0||Ue<0)||Ue>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");rt||(rt=\"utf8\");for(var Tt=!1;;)switch(rt){case\"hex\":return Z(this,je,Ue,Ae);case\"utf8\":case\"utf-8\":return j(this,je,Ue,Ae);case\"ascii\":case\"latin1\":case\"binary\":return N(this,je,Ue,Ae);case\"base64\":return H(this,je,Ue,Ae);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return re(this,je,Ue,Ae);default:if(Tt)throw new TypeError(\"Unknown encoding: \"+rt);rt=(\"\"+rt).toLowerCase(),Tt=!0}},m.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function oe(tt,je,Ue){return je===0&&Ue===tt.length?u.fromByteArray(tt):u.fromByteArray(tt.slice(je,Ue))}function _e(tt,je,Ue){Ue=Math.min(tt.length,Ue);for(var Ae=[],rt=je;rt239?4:St>223?3:St>191?2:1;if(rt+dt<=Ue){var Et,pt,Xt,or;switch(dt){case 1:St<128&&(Tt=St);break;case 2:Et=tt[rt+1],(Et&192)===128&&(or=(St&31)<<6|Et&63,or>127&&(Tt=or));break;case 3:Et=tt[rt+1],pt=tt[rt+2],(Et&192)===128&&(pt&192)===128&&(or=(St&15)<<12|(Et&63)<<6|pt&63,or>2047&&(or<55296||or>57343)&&(Tt=or));break;case 4:Et=tt[rt+1],pt=tt[rt+2],Xt=tt[rt+3],(Et&192)===128&&(pt&192)===128&&(Xt&192)===128&&(or=(St&15)<<18|(Et&63)<<12|(pt&63)<<6|Xt&63,or>65535&&or<1114112&&(Tt=or))}}Tt===null?(Tt=65533,dt=1):Tt>65535&&(Tt-=65536,Ae.push(Tt>>>10&1023|55296),Tt=56320|Tt&1023),Ae.push(Tt),rt+=dt}return Ce(Ae)}var ke=4096;function Ce(tt){var je=tt.length;if(je<=ke)return String.fromCharCode.apply(String,tt);for(var Ue=\"\",Ae=0;AeAe)&&(Ue=Ae);for(var rt=\"\",St=je;StAe&&(je=Ae),Ue<0?(Ue+=Ae,Ue<0&&(Ue=0)):Ue>Ae&&(Ue=Ae),UeUe)throw new RangeError(\"Trying to access beyond buffer length\")}m.prototype.readUintLE=m.prototype.readUIntLE=function(je,Ue,Ae){je=je>>>0,Ue=Ue>>>0,Ae||we(je,Ue,this.length);for(var rt=this[je],St=1,Tt=0;++Tt>>0,Ue=Ue>>>0,Ae||we(je,Ue,this.length);for(var rt=this[je+--Ue],St=1;Ue>0&&(St*=256);)rt+=this[je+--Ue]*St;return rt},m.prototype.readUint8=m.prototype.readUInt8=function(je,Ue){return je=je>>>0,Ue||we(je,1,this.length),this[je]},m.prototype.readUint16LE=m.prototype.readUInt16LE=function(je,Ue){return je=je>>>0,Ue||we(je,2,this.length),this[je]|this[je+1]<<8},m.prototype.readUint16BE=m.prototype.readUInt16BE=function(je,Ue){return je=je>>>0,Ue||we(je,2,this.length),this[je]<<8|this[je+1]},m.prototype.readUint32LE=m.prototype.readUInt32LE=function(je,Ue){return je=je>>>0,Ue||we(je,4,this.length),(this[je]|this[je+1]<<8|this[je+2]<<16)+this[je+3]*16777216},m.prototype.readUint32BE=m.prototype.readUInt32BE=function(je,Ue){return je=je>>>0,Ue||we(je,4,this.length),this[je]*16777216+(this[je+1]<<16|this[je+2]<<8|this[je+3])},m.prototype.readIntLE=function(je,Ue,Ae){je=je>>>0,Ue=Ue>>>0,Ae||we(je,Ue,this.length);for(var rt=this[je],St=1,Tt=0;++Tt=St&&(rt-=Math.pow(2,8*Ue)),rt},m.prototype.readIntBE=function(je,Ue,Ae){je=je>>>0,Ue=Ue>>>0,Ae||we(je,Ue,this.length);for(var rt=Ue,St=1,Tt=this[je+--rt];rt>0&&(St*=256);)Tt+=this[je+--rt]*St;return St*=128,Tt>=St&&(Tt-=Math.pow(2,8*Ue)),Tt},m.prototype.readInt8=function(je,Ue){return je=je>>>0,Ue||we(je,1,this.length),this[je]&128?(255-this[je]+1)*-1:this[je]},m.prototype.readInt16LE=function(je,Ue){je=je>>>0,Ue||we(je,2,this.length);var Ae=this[je]|this[je+1]<<8;return Ae&32768?Ae|4294901760:Ae},m.prototype.readInt16BE=function(je,Ue){je=je>>>0,Ue||we(je,2,this.length);var Ae=this[je+1]|this[je]<<8;return Ae&32768?Ae|4294901760:Ae},m.prototype.readInt32LE=function(je,Ue){return je=je>>>0,Ue||we(je,4,this.length),this[je]|this[je+1]<<8|this[je+2]<<16|this[je+3]<<24},m.prototype.readInt32BE=function(je,Ue){return je=je>>>0,Ue||we(je,4,this.length),this[je]<<24|this[je+1]<<16|this[je+2]<<8|this[je+3]},m.prototype.readFloatLE=function(je,Ue){return je=je>>>0,Ue||we(je,4,this.length),c.read(this,je,!0,23,4)},m.prototype.readFloatBE=function(je,Ue){return je=je>>>0,Ue||we(je,4,this.length),c.read(this,je,!1,23,4)},m.prototype.readDoubleLE=function(je,Ue){return je=je>>>0,Ue||we(je,8,this.length),c.read(this,je,!0,52,8)},m.prototype.readDoubleBE=function(je,Ue){return je=je>>>0,Ue||we(je,8,this.length),c.read(this,je,!1,52,8)};function De(tt,je,Ue,Ae,rt,St){if(!m.isBuffer(tt))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(je>rt||jett.length)throw new RangeError(\"Index out of range\")}m.prototype.writeUintLE=m.prototype.writeUIntLE=function(je,Ue,Ae,rt){if(je=+je,Ue=Ue>>>0,Ae=Ae>>>0,!rt){var St=Math.pow(2,8*Ae)-1;De(this,je,Ue,Ae,St,0)}var Tt=1,dt=0;for(this[Ue]=je&255;++dt>>0,Ae=Ae>>>0,!rt){var St=Math.pow(2,8*Ae)-1;De(this,je,Ue,Ae,St,0)}var Tt=Ae-1,dt=1;for(this[Ue+Tt]=je&255;--Tt>=0&&(dt*=256);)this[Ue+Tt]=je/dt&255;return Ue+Ae},m.prototype.writeUint8=m.prototype.writeUInt8=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||De(this,je,Ue,1,255,0),this[Ue]=je&255,Ue+1},m.prototype.writeUint16LE=m.prototype.writeUInt16LE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||De(this,je,Ue,2,65535,0),this[Ue]=je&255,this[Ue+1]=je>>>8,Ue+2},m.prototype.writeUint16BE=m.prototype.writeUInt16BE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||De(this,je,Ue,2,65535,0),this[Ue]=je>>>8,this[Ue+1]=je&255,Ue+2},m.prototype.writeUint32LE=m.prototype.writeUInt32LE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||De(this,je,Ue,4,4294967295,0),this[Ue+3]=je>>>24,this[Ue+2]=je>>>16,this[Ue+1]=je>>>8,this[Ue]=je&255,Ue+4},m.prototype.writeUint32BE=m.prototype.writeUInt32BE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||De(this,je,Ue,4,4294967295,0),this[Ue]=je>>>24,this[Ue+1]=je>>>16,this[Ue+2]=je>>>8,this[Ue+3]=je&255,Ue+4},m.prototype.writeIntLE=function(je,Ue,Ae,rt){if(je=+je,Ue=Ue>>>0,!rt){var St=Math.pow(2,8*Ae-1);De(this,je,Ue,Ae,St-1,-St)}var Tt=0,dt=1,Et=0;for(this[Ue]=je&255;++Tt>0)-Et&255;return Ue+Ae},m.prototype.writeIntBE=function(je,Ue,Ae,rt){if(je=+je,Ue=Ue>>>0,!rt){var St=Math.pow(2,8*Ae-1);De(this,je,Ue,Ae,St-1,-St)}var Tt=Ae-1,dt=1,Et=0;for(this[Ue+Tt]=je&255;--Tt>=0&&(dt*=256);)je<0&&Et===0&&this[Ue+Tt+1]!==0&&(Et=1),this[Ue+Tt]=(je/dt>>0)-Et&255;return Ue+Ae},m.prototype.writeInt8=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||De(this,je,Ue,1,127,-128),je<0&&(je=255+je+1),this[Ue]=je&255,Ue+1},m.prototype.writeInt16LE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||De(this,je,Ue,2,32767,-32768),this[Ue]=je&255,this[Ue+1]=je>>>8,Ue+2},m.prototype.writeInt16BE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||De(this,je,Ue,2,32767,-32768),this[Ue]=je>>>8,this[Ue+1]=je&255,Ue+2},m.prototype.writeInt32LE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||De(this,je,Ue,4,2147483647,-2147483648),this[Ue]=je&255,this[Ue+1]=je>>>8,this[Ue+2]=je>>>16,this[Ue+3]=je>>>24,Ue+4},m.prototype.writeInt32BE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||De(this,je,Ue,4,2147483647,-2147483648),je<0&&(je=4294967295+je+1),this[Ue]=je>>>24,this[Ue+1]=je>>>16,this[Ue+2]=je>>>8,this[Ue+3]=je&255,Ue+4};function Le(tt,je,Ue,Ae,rt,St){if(Ue+Ae>tt.length)throw new RangeError(\"Index out of range\");if(Ue<0)throw new RangeError(\"Index out of range\")}function me(tt,je,Ue,Ae,rt){return je=+je,Ue=Ue>>>0,rt||Le(tt,je,Ue,4,34028234663852886e22,-34028234663852886e22),c.write(tt,je,Ue,Ae,23,4),Ue+4}m.prototype.writeFloatLE=function(je,Ue,Ae){return me(this,je,Ue,!0,Ae)},m.prototype.writeFloatBE=function(je,Ue,Ae){return me(this,je,Ue,!1,Ae)};function Pe(tt,je,Ue,Ae,rt){return je=+je,Ue=Ue>>>0,rt||Le(tt,je,Ue,8,17976931348623157e292,-17976931348623157e292),c.write(tt,je,Ue,Ae,52,8),Ue+8}m.prototype.writeDoubleLE=function(je,Ue,Ae){return Pe(this,je,Ue,!0,Ae)},m.prototype.writeDoubleBE=function(je,Ue,Ae){return Pe(this,je,Ue,!1,Ae)},m.prototype.copy=function(je,Ue,Ae,rt){if(!m.isBuffer(je))throw new TypeError(\"argument should be a Buffer\");if(Ae||(Ae=0),!rt&&rt!==0&&(rt=this.length),Ue>=je.length&&(Ue=je.length),Ue||(Ue=0),rt>0&&rt=this.length)throw new RangeError(\"Index out of range\");if(rt<0)throw new RangeError(\"sourceEnd out of bounds\");rt>this.length&&(rt=this.length),je.length-Ue>>0,Ae=Ae===void 0?this.length:Ae>>>0,je||(je=0);var Tt;if(typeof je==\"number\")for(Tt=Ue;Tt55295&&Ue<57344){if(!rt){if(Ue>56319){(je-=3)>-1&&St.push(239,191,189);continue}else if(Tt+1===Ae){(je-=3)>-1&&St.push(239,191,189);continue}rt=Ue;continue}if(Ue<56320){(je-=3)>-1&&St.push(239,191,189),rt=Ue;continue}Ue=(rt-55296<<10|Ue-56320)+65536}else rt&&(je-=3)>-1&&St.push(239,191,189);if(rt=null,Ue<128){if((je-=1)<0)break;St.push(Ue)}else if(Ue<2048){if((je-=2)<0)break;St.push(Ue>>6|192,Ue&63|128)}else if(Ue<65536){if((je-=3)<0)break;St.push(Ue>>12|224,Ue>>6&63|128,Ue&63|128)}else if(Ue<1114112){if((je-=4)<0)break;St.push(Ue>>18|240,Ue>>12&63|128,Ue>>6&63|128,Ue&63|128)}else throw new Error(\"Invalid code point\")}return St}function mt(tt){for(var je=[],Ue=0;Ue>8,rt=Ue%256,St.push(rt),St.push(Ae);return St}function st(tt){return u.toByteArray(He(tt))}function ct(tt,je,Ue,Ae){for(var rt=0;rt=je.length||rt>=tt.length);++rt)je[rt+Ue]=tt[rt];return rt}function Qt(tt,je){return tt instanceof je||tt!=null&&tt.constructor!=null&&tt.constructor.name!=null&&tt.constructor.name===je.name}function Ht(tt){return tt!==tt}var nr=function(){for(var tt=\"0123456789abcdef\",je=new Array(256),Ue=0;Ue<16;++Ue)for(var Ae=Ue*16,rt=0;rt<16;++rt)je[Ae+rt]=tt[Ue]+tt[rt];return je}()},9216:function(i){\"use strict\";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var c=u.ua;if(!c&&typeof navigator!=\"undefined\"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers[\"user-agent\"]==\"string\"&&(c=c.headers[\"user-agent\"]),typeof c!=\"string\")return!1;var f=a.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf(\"Macintosh\")!==-1&&c.indexOf(\"Safari\")!==-1&&(f=!0),f}},6296:function(i,a,o){\"use strict\";i.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(d,v){this._controllerNames=Object.keys(d),this._controllerList=this._controllerNames.map(function(m){return d[m]}),this._mode=v,this._active=d[v],this._active||(this._mode=\"turntable\",this._active=d.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 f=c.prototype;f.flush=function(d){for(var v=this._controllerList,m=0;m0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var L=M.indexOf(\"=\");L===-1&&(L=T);var x=L===T?0:4-L%4;return[L,x]}function d(M){var T=h(M),L=T[0],x=T[1];return(L+x)*3/4-x}function v(M,T,L){return(T+L)*3/4-L}function m(M){var T,L=h(M),x=L[0],C=L[1],S=new l(v(M,x,C)),g=0,P=C>0?x-4:x,E;for(E=0;E>16&255,S[g++]=T>>8&255,S[g++]=T&255;return C===2&&(T=s[M.charCodeAt(E)]<<2|s[M.charCodeAt(E+1)]>>4,S[g++]=T&255),C===1&&(T=s[M.charCodeAt(E)]<<10|s[M.charCodeAt(E+1)]<<4|s[M.charCodeAt(E+2)]>>2,S[g++]=T>>8&255,S[g++]=T&255),S}function b(M){return o[M>>18&63]+o[M>>12&63]+o[M>>6&63]+o[M&63]}function p(M,T,L){for(var x,C=[],S=T;SP?P:g+S));return x===1?(T=M[L-1],C.push(o[T>>2]+o[T<<4&63]+\"==\")):x===2&&(T=(M[L-2]<<8)+M[L-1],C.push(o[T>>10]+o[T>>4&63]+o[T<<2&63]+\"=\")),C.join(\"\")}},3865:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}},1318:function(i){\"use strict\";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}},7842:function(i,a,o){\"use strict\";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);i.exports=d;function d(v,m){if(s(v))return m?h(v,d(m)):[v[0].clone(),v[1].clone()];var b=0,p,k;if(l(v))p=v.clone();else if(typeof v==\"string\")p=c(v);else{if(v===0)return[u(0),u(1)];if(v===Math.floor(v))p=u(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),b-=256;p=u(v)}}if(s(m))p.mul(m[1]),k=m[0].clone();else if(l(m))k=m.clone();else if(typeof m==\"string\")k=c(m);else if(!m)k=u(1);else if(m===Math.floor(m))k=u(m);else{for(;m!==Math.floor(m);)m=m*Math.pow(2,256),b+=256;k=u(m)}return b>0?p=p.ushln(b):b<0&&(k=k.ushln(-b)),f(p,k)}},6330:function(i,a,o){\"use strict\";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var d=0;d20?52:h+32}},1533:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u&&typeof u==\"object\"&&!!u.words}},2651:function(i,a,o){\"use strict\";var s=o(6859),l=o(2361);i.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}},869:function(i,a,o){\"use strict\";var s=o(2651),l=o(5716);i.exports=u;function u(c,f){var h=l(c),d=l(f);if(h===0)return[s(0),s(1)];if(d===0)return[s(0),s(0)];d<0&&(c=c.neg(),f=f.neg());var v=c.gcd(f);return v.cmpn(1)?[c.div(v),f.div(v)]:[c,f]}},6768:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}},7721:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}},946:function(i,a,o){\"use strict\";var s=o(1369),l=o(4025);i.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var d=f.abs().divmod(h.abs()),v=d.div,m=s(v),b=d.mod,p=f.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return p*m;if(m){var k=l(m)+4,M=s(b.ushln(k).divRound(h));return p*(m+M*Math.pow(2,-k))}else{var T=h.bitLength()-b.bitLength()+53,M=s(b.ushln(T).divRound(h));return T<1023?p*M*Math.pow(2,-T):(M*=Math.pow(2,-1023),p*M*Math.pow(2,1023-T))}}},2478:function(i){\"use strict\";function a(f,h,d,v,m){for(var b=m+1;v<=m;){var p=v+m>>>1,k=f[p],M=d!==void 0?d(k,h):k-h;M>=0?(b=p,m=p-1):v=p+1}return b}function o(f,h,d,v,m){for(var b=m+1;v<=m;){var p=v+m>>>1,k=f[p],M=d!==void 0?d(k,h):k-h;M>0?(b=p,m=p-1):v=p+1}return b}function s(f,h,d,v,m){for(var b=v-1;v<=m;){var p=v+m>>>1,k=f[p],M=d!==void 0?d(k,h):k-h;M<0?(b=p,v=p+1):m=p-1}return b}function l(f,h,d,v,m){for(var b=v-1;v<=m;){var p=v+m>>>1,k=f[p],M=d!==void 0?d(k,h):k-h;M<=0?(b=p,v=p+1):m=p-1}return b}function u(f,h,d,v,m){for(;v<=m;){var b=v+m>>>1,p=f[b],k=d!==void 0?d(p,h):p-h;if(k===0)return b;k<=0?v=b+1:m=b-1}return-1}function c(f,h,d,v,m,b){return typeof d==\"function\"?b(f,h,d,v===void 0?0:v|0,m===void 0?f.length-1:m|0):b(f,h,void 0,d===void 0?0:d|0,v===void 0?f.length-1:v|0)}i.exports={ge:function(f,h,d,v,m){return c(f,h,d,v,m,a)},gt:function(f,h,d,v,m){return c(f,h,d,v,m,o)},lt:function(f,h,d,v,m){return c(f,h,d,v,m,s)},le:function(f,h,d,v,m){return c(f,h,d,v,m,l)},eq:function(f,h,d,v,m){return c(f,h,d,v,m,u)}}},8828:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){\"use strict\";function u(j,N){if(!j)throw new Error(N||\"Assertion failed\")}function c(j,N){j.super_=N;var H=function(){};H.prototype=N.prototype,j.prototype=new H,j.prototype.constructor=j}function f(j,N,H){if(f.isBN(j))return j;this.negative=0,this.words=null,this.length=0,this.red=null,j!==null&&((N===\"le\"||N===\"be\")&&(H=N,N=10),this._init(j||0,N||10,H||\"be\"))}typeof s==\"object\"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!=\"undefined\"&&typeof window.Buffer!=\"undefined\"?h=window.Buffer:h=o(7790).Buffer}catch(j){}f.isBN=function(N){return N instanceof f?!0:N!==null&&typeof N==\"object\"&&N.constructor.wordSize===f.wordSize&&Array.isArray(N.words)},f.max=function(N,H){return N.cmp(H)>0?N:H},f.min=function(N,H){return N.cmp(H)<0?N:H},f.prototype._init=function(N,H,re){if(typeof N==\"number\")return this._initNumber(N,H,re);if(typeof N==\"object\")return this._initArray(N,H,re);H===\"hex\"&&(H=16),u(H===(H|0)&&H>=2&&H<=36),N=N.toString().replace(/\\s+/g,\"\");var oe=0;N[0]===\"-\"&&(oe++,this.negative=1),oe=0;oe-=3)ke=N[oe]|N[oe-1]<<8|N[oe-2]<<16,this.words[_e]|=ke<>>26-Ce&67108863,Ce+=24,Ce>=26&&(Ce-=26,_e++);else if(re===\"le\")for(oe=0,_e=0;oe>>26-Ce&67108863,Ce+=24,Ce>=26&&(Ce-=26,_e++);return this.strip()};function d(j,N){var H=j.charCodeAt(N);return H>=65&&H<=70?H-55:H>=97&&H<=102?H-87:H-48&15}function v(j,N,H){var re=d(j,H);return H-1>=N&&(re|=d(j,H-1)<<4),re}f.prototype._parseHex=function(N,H,re){this.length=Math.ceil((N.length-H)/6),this.words=new Array(this.length);for(var oe=0;oe=H;oe-=2)Ce=v(N,H,oe)<<_e,this.words[ke]|=Ce&67108863,_e>=18?(_e-=18,ke+=1,this.words[ke]|=Ce>>>26):_e+=8;else{var ge=N.length-H;for(oe=ge%2===0?H+1:H;oe=18?(_e-=18,ke+=1,this.words[ke]|=Ce>>>26):_e+=8}this.strip()};function m(j,N,H,re){for(var oe=0,_e=Math.min(j.length,H),ke=N;ke<_e;ke++){var Ce=j.charCodeAt(ke)-48;oe*=re,Ce>=49?oe+=Ce-49+10:Ce>=17?oe+=Ce-17+10:oe+=Ce}return oe}f.prototype._parseBase=function(N,H,re){this.words=[0],this.length=1;for(var oe=0,_e=1;_e<=67108863;_e*=H)oe++;oe--,_e=_e/H|0;for(var ke=N.length-re,Ce=ke%oe,ge=Math.min(ke,ke-Ce)+re,ie=0,Se=re;Se1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?\"\"};var b=[\"\",\"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\"],p=[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],k=[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];f.prototype.toString=function(N,H){N=N||10,H=H|0||1;var re;if(N===16||N===\"hex\"){re=\"\";for(var oe=0,_e=0,ke=0;ke>>24-oe&16777215,oe+=2,oe>=26&&(oe-=26,ke--),_e!==0||ke!==this.length-1?re=b[6-ge.length]+ge+re:re=ge+re}for(_e!==0&&(re=_e.toString(16)+re);re.length%H!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}if(N===(N|0)&&N>=2&&N<=36){var ie=p[N],Se=k[N];re=\"\";var Ee=this.clone();for(Ee.negative=0;!Ee.isZero();){var we=Ee.modn(Se).toString(N);Ee=Ee.idivn(Se),Ee.isZero()?re=we+re:re=b[ie-we.length]+we+re}for(this.isZero()&&(re=\"0\"+re);re.length%H!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}u(!1,\"Base should be between 2 and 36\")},f.prototype.toNumber=function(){var N=this.words[0];return this.length===2?N+=this.words[1]*67108864:this.length===3&&this.words[2]===1?N+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-N:N},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(N,H){return u(typeof h!=\"undefined\"),this.toArrayLike(h,N,H)},f.prototype.toArray=function(N,H){return this.toArrayLike(Array,N,H)},f.prototype.toArrayLike=function(N,H,re){var oe=this.byteLength(),_e=re||Math.max(1,oe);u(oe<=_e,\"byte array longer than desired length\"),u(_e>0,\"Requested array length <= 0\"),this.strip();var ke=H===\"le\",Ce=new N(_e),ge,ie,Se=this.clone();if(ke){for(ie=0;!Se.isZero();ie++)ge=Se.andln(255),Se.iushrn(8),Ce[ie]=ge;for(;ie<_e;ie++)Ce[ie]=0}else{for(ie=0;ie<_e-oe;ie++)Ce[ie]=0;for(ie=0;!Se.isZero();ie++)ge=Se.andln(255),Se.iushrn(8),Ce[_e-ie-1]=ge}return Ce},Math.clz32?f.prototype._countBits=function(N){return 32-Math.clz32(N)}:f.prototype._countBits=function(N){var H=N,re=0;return H>=4096&&(re+=13,H>>>=13),H>=64&&(re+=7,H>>>=7),H>=8&&(re+=4,H>>>=4),H>=2&&(re+=2,H>>>=2),re+H},f.prototype._zeroBits=function(N){if(N===0)return 26;var H=N,re=0;return(H&8191)===0&&(re+=13,H>>>=13),(H&127)===0&&(re+=7,H>>>=7),(H&15)===0&&(re+=4,H>>>=4),(H&3)===0&&(re+=2,H>>>=2),(H&1)===0&&re++,re},f.prototype.bitLength=function(){var N=this.words[this.length-1],H=this._countBits(N);return(this.length-1)*26+H};function M(j){for(var N=new Array(j.bitLength()),H=0;H>>oe}return N}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var N=0,H=0;HN.length?this.clone().ior(N):N.clone().ior(this)},f.prototype.uor=function(N){return this.length>N.length?this.clone().iuor(N):N.clone().iuor(this)},f.prototype.iuand=function(N){var H;this.length>N.length?H=N:H=this;for(var re=0;reN.length?this.clone().iand(N):N.clone().iand(this)},f.prototype.uand=function(N){return this.length>N.length?this.clone().iuand(N):N.clone().iuand(this)},f.prototype.iuxor=function(N){var H,re;this.length>N.length?(H=this,re=N):(H=N,re=this);for(var oe=0;oeN.length?this.clone().ixor(N):N.clone().ixor(this)},f.prototype.uxor=function(N){return this.length>N.length?this.clone().iuxor(N):N.clone().iuxor(this)},f.prototype.inotn=function(N){u(typeof N==\"number\"&&N>=0);var H=Math.ceil(N/26)|0,re=N%26;this._expand(H),re>0&&H--;for(var oe=0;oe0&&(this.words[oe]=~this.words[oe]&67108863>>26-re),this.strip()},f.prototype.notn=function(N){return this.clone().inotn(N)},f.prototype.setn=function(N,H){u(typeof N==\"number\"&&N>=0);var re=N/26|0,oe=N%26;return this._expand(re+1),H?this.words[re]=this.words[re]|1<N.length?(re=this,oe=N):(re=N,oe=this);for(var _e=0,ke=0;ke>>26;for(;_e!==0&&ke>>26;if(this.length=re.length,_e!==0)this.words[this.length]=_e,this.length++;else if(re!==this)for(;keN.length?this.clone().iadd(N):N.clone().iadd(this)},f.prototype.isub=function(N){if(N.negative!==0){N.negative=0;var H=this.iadd(N);return N.negative=1,H._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(N),this.negative=1,this._normSign();var re=this.cmp(N);if(re===0)return this.negative=0,this.length=1,this.words[0]=0,this;var oe,_e;re>0?(oe=this,_e=N):(oe=N,_e=this);for(var ke=0,Ce=0;Ce<_e.length;Ce++)H=(oe.words[Ce]|0)-(_e.words[Ce]|0)+ke,ke=H>>26,this.words[Ce]=H&67108863;for(;ke!==0&&Ce>26,this.words[Ce]=H&67108863;if(ke===0&&Ce>>26,Ee=ge&67108863,we=Math.min(ie,N.length-1),De=Math.max(0,ie-j.length+1);De<=we;De++){var Le=ie-De|0;oe=j.words[Le]|0,_e=N.words[De]|0,ke=oe*_e+Ee,Se+=ke/67108864|0,Ee=ke&67108863}H.words[ie]=Ee|0,ge=Se|0}return ge!==0?H.words[ie]=ge|0:H.length--,H.strip()}var L=function(N,H,re){var oe=N.words,_e=H.words,ke=re.words,Ce=0,ge,ie,Se,Ee=oe[0]|0,we=Ee&8191,De=Ee>>>13,Le=oe[1]|0,me=Le&8191,Pe=Le>>>13,ce=oe[2]|0,He=ce&8191,lt=ce>>>13,mt=oe[3]|0,Vt=mt&8191,st=mt>>>13,ct=oe[4]|0,Qt=ct&8191,Ht=ct>>>13,nr=oe[5]|0,tt=nr&8191,je=nr>>>13,Ue=oe[6]|0,Ae=Ue&8191,rt=Ue>>>13,St=oe[7]|0,Tt=St&8191,dt=St>>>13,Et=oe[8]|0,pt=Et&8191,Xt=Et>>>13,or=oe[9]|0,_r=or&8191,Er=or>>>13,ei=_e[0]|0,qr=ei&8191,jr=ei>>>13,gt=_e[1]|0,Ge=gt&8191,Je=gt>>>13,We=_e[2]|0,et=We&8191,xt=We>>>13,At=_e[3]|0,Kt=At&8191,er=At>>>13,Sr=_e[4]|0,Gr=Sr&8191,Ir=Sr>>>13,Yr=_e[5]|0,_i=Yr&8191,Pi=Yr>>>13,ai=_e[6]|0,mi=ai&8191,un=ai>>>13,Fn=_e[7]|0,An=Fn&8191,Hn=Fn>>>13,Qn=_e[8]|0,Vi=Qn&8191,Kn=Qn>>>13,Jn=_e[9]|0,Gt=Jn&8191,wt=Jn>>>13;re.negative=N.negative^H.negative,re.length=19,ge=Math.imul(we,qr),ie=Math.imul(we,jr),ie=ie+Math.imul(De,qr)|0,Se=Math.imul(De,jr);var rr=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(rr>>>26)|0,rr&=67108863,ge=Math.imul(me,qr),ie=Math.imul(me,jr),ie=ie+Math.imul(Pe,qr)|0,Se=Math.imul(Pe,jr),ge=ge+Math.imul(we,Ge)|0,ie=ie+Math.imul(we,Je)|0,ie=ie+Math.imul(De,Ge)|0,Se=Se+Math.imul(De,Je)|0;var ir=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(ir>>>26)|0,ir&=67108863,ge=Math.imul(He,qr),ie=Math.imul(He,jr),ie=ie+Math.imul(lt,qr)|0,Se=Math.imul(lt,jr),ge=ge+Math.imul(me,Ge)|0,ie=ie+Math.imul(me,Je)|0,ie=ie+Math.imul(Pe,Ge)|0,Se=Se+Math.imul(Pe,Je)|0,ge=ge+Math.imul(we,et)|0,ie=ie+Math.imul(we,xt)|0,ie=ie+Math.imul(De,et)|0,Se=Se+Math.imul(De,xt)|0;var wr=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(wr>>>26)|0,wr&=67108863,ge=Math.imul(Vt,qr),ie=Math.imul(Vt,jr),ie=ie+Math.imul(st,qr)|0,Se=Math.imul(st,jr),ge=ge+Math.imul(He,Ge)|0,ie=ie+Math.imul(He,Je)|0,ie=ie+Math.imul(lt,Ge)|0,Se=Se+Math.imul(lt,Je)|0,ge=ge+Math.imul(me,et)|0,ie=ie+Math.imul(me,xt)|0,ie=ie+Math.imul(Pe,et)|0,Se=Se+Math.imul(Pe,xt)|0,ge=ge+Math.imul(we,Kt)|0,ie=ie+Math.imul(we,er)|0,ie=ie+Math.imul(De,Kt)|0,Se=Se+Math.imul(De,er)|0;var Xr=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(Xr>>>26)|0,Xr&=67108863,ge=Math.imul(Qt,qr),ie=Math.imul(Qt,jr),ie=ie+Math.imul(Ht,qr)|0,Se=Math.imul(Ht,jr),ge=ge+Math.imul(Vt,Ge)|0,ie=ie+Math.imul(Vt,Je)|0,ie=ie+Math.imul(st,Ge)|0,Se=Se+Math.imul(st,Je)|0,ge=ge+Math.imul(He,et)|0,ie=ie+Math.imul(He,xt)|0,ie=ie+Math.imul(lt,et)|0,Se=Se+Math.imul(lt,xt)|0,ge=ge+Math.imul(me,Kt)|0,ie=ie+Math.imul(me,er)|0,ie=ie+Math.imul(Pe,Kt)|0,Se=Se+Math.imul(Pe,er)|0,ge=ge+Math.imul(we,Gr)|0,ie=ie+Math.imul(we,Ir)|0,ie=ie+Math.imul(De,Gr)|0,Se=Se+Math.imul(De,Ir)|0;var ti=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(ti>>>26)|0,ti&=67108863,ge=Math.imul(tt,qr),ie=Math.imul(tt,jr),ie=ie+Math.imul(je,qr)|0,Se=Math.imul(je,jr),ge=ge+Math.imul(Qt,Ge)|0,ie=ie+Math.imul(Qt,Je)|0,ie=ie+Math.imul(Ht,Ge)|0,Se=Se+Math.imul(Ht,Je)|0,ge=ge+Math.imul(Vt,et)|0,ie=ie+Math.imul(Vt,xt)|0,ie=ie+Math.imul(st,et)|0,Se=Se+Math.imul(st,xt)|0,ge=ge+Math.imul(He,Kt)|0,ie=ie+Math.imul(He,er)|0,ie=ie+Math.imul(lt,Kt)|0,Se=Se+Math.imul(lt,er)|0,ge=ge+Math.imul(me,Gr)|0,ie=ie+Math.imul(me,Ir)|0,ie=ie+Math.imul(Pe,Gr)|0,Se=Se+Math.imul(Pe,Ir)|0,ge=ge+Math.imul(we,_i)|0,ie=ie+Math.imul(we,Pi)|0,ie=ie+Math.imul(De,_i)|0,Se=Se+Math.imul(De,Pi)|0;var $r=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+($r>>>26)|0,$r&=67108863,ge=Math.imul(Ae,qr),ie=Math.imul(Ae,jr),ie=ie+Math.imul(rt,qr)|0,Se=Math.imul(rt,jr),ge=ge+Math.imul(tt,Ge)|0,ie=ie+Math.imul(tt,Je)|0,ie=ie+Math.imul(je,Ge)|0,Se=Se+Math.imul(je,Je)|0,ge=ge+Math.imul(Qt,et)|0,ie=ie+Math.imul(Qt,xt)|0,ie=ie+Math.imul(Ht,et)|0,Se=Se+Math.imul(Ht,xt)|0,ge=ge+Math.imul(Vt,Kt)|0,ie=ie+Math.imul(Vt,er)|0,ie=ie+Math.imul(st,Kt)|0,Se=Se+Math.imul(st,er)|0,ge=ge+Math.imul(He,Gr)|0,ie=ie+Math.imul(He,Ir)|0,ie=ie+Math.imul(lt,Gr)|0,Se=Se+Math.imul(lt,Ir)|0,ge=ge+Math.imul(me,_i)|0,ie=ie+Math.imul(me,Pi)|0,ie=ie+Math.imul(Pe,_i)|0,Se=Se+Math.imul(Pe,Pi)|0,ge=ge+Math.imul(we,mi)|0,ie=ie+Math.imul(we,un)|0,ie=ie+Math.imul(De,mi)|0,Se=Se+Math.imul(De,un)|0;var Ri=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,ge=Math.imul(Tt,qr),ie=Math.imul(Tt,jr),ie=ie+Math.imul(dt,qr)|0,Se=Math.imul(dt,jr),ge=ge+Math.imul(Ae,Ge)|0,ie=ie+Math.imul(Ae,Je)|0,ie=ie+Math.imul(rt,Ge)|0,Se=Se+Math.imul(rt,Je)|0,ge=ge+Math.imul(tt,et)|0,ie=ie+Math.imul(tt,xt)|0,ie=ie+Math.imul(je,et)|0,Se=Se+Math.imul(je,xt)|0,ge=ge+Math.imul(Qt,Kt)|0,ie=ie+Math.imul(Qt,er)|0,ie=ie+Math.imul(Ht,Kt)|0,Se=Se+Math.imul(Ht,er)|0,ge=ge+Math.imul(Vt,Gr)|0,ie=ie+Math.imul(Vt,Ir)|0,ie=ie+Math.imul(st,Gr)|0,Se=Se+Math.imul(st,Ir)|0,ge=ge+Math.imul(He,_i)|0,ie=ie+Math.imul(He,Pi)|0,ie=ie+Math.imul(lt,_i)|0,Se=Se+Math.imul(lt,Pi)|0,ge=ge+Math.imul(me,mi)|0,ie=ie+Math.imul(me,un)|0,ie=ie+Math.imul(Pe,mi)|0,Se=Se+Math.imul(Pe,un)|0,ge=ge+Math.imul(we,An)|0,ie=ie+Math.imul(we,Hn)|0,ie=ie+Math.imul(De,An)|0,Se=Se+Math.imul(De,Hn)|0;var Zi=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(Zi>>>26)|0,Zi&=67108863,ge=Math.imul(pt,qr),ie=Math.imul(pt,jr),ie=ie+Math.imul(Xt,qr)|0,Se=Math.imul(Xt,jr),ge=ge+Math.imul(Tt,Ge)|0,ie=ie+Math.imul(Tt,Je)|0,ie=ie+Math.imul(dt,Ge)|0,Se=Se+Math.imul(dt,Je)|0,ge=ge+Math.imul(Ae,et)|0,ie=ie+Math.imul(Ae,xt)|0,ie=ie+Math.imul(rt,et)|0,Se=Se+Math.imul(rt,xt)|0,ge=ge+Math.imul(tt,Kt)|0,ie=ie+Math.imul(tt,er)|0,ie=ie+Math.imul(je,Kt)|0,Se=Se+Math.imul(je,er)|0,ge=ge+Math.imul(Qt,Gr)|0,ie=ie+Math.imul(Qt,Ir)|0,ie=ie+Math.imul(Ht,Gr)|0,Se=Se+Math.imul(Ht,Ir)|0,ge=ge+Math.imul(Vt,_i)|0,ie=ie+Math.imul(Vt,Pi)|0,ie=ie+Math.imul(st,_i)|0,Se=Se+Math.imul(st,Pi)|0,ge=ge+Math.imul(He,mi)|0,ie=ie+Math.imul(He,un)|0,ie=ie+Math.imul(lt,mi)|0,Se=Se+Math.imul(lt,un)|0,ge=ge+Math.imul(me,An)|0,ie=ie+Math.imul(me,Hn)|0,ie=ie+Math.imul(Pe,An)|0,Se=Se+Math.imul(Pe,Hn)|0,ge=ge+Math.imul(we,Vi)|0,ie=ie+Math.imul(we,Kn)|0,ie=ie+Math.imul(De,Vi)|0,Se=Se+Math.imul(De,Kn)|0;var en=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(en>>>26)|0,en&=67108863,ge=Math.imul(_r,qr),ie=Math.imul(_r,jr),ie=ie+Math.imul(Er,qr)|0,Se=Math.imul(Er,jr),ge=ge+Math.imul(pt,Ge)|0,ie=ie+Math.imul(pt,Je)|0,ie=ie+Math.imul(Xt,Ge)|0,Se=Se+Math.imul(Xt,Je)|0,ge=ge+Math.imul(Tt,et)|0,ie=ie+Math.imul(Tt,xt)|0,ie=ie+Math.imul(dt,et)|0,Se=Se+Math.imul(dt,xt)|0,ge=ge+Math.imul(Ae,Kt)|0,ie=ie+Math.imul(Ae,er)|0,ie=ie+Math.imul(rt,Kt)|0,Se=Se+Math.imul(rt,er)|0,ge=ge+Math.imul(tt,Gr)|0,ie=ie+Math.imul(tt,Ir)|0,ie=ie+Math.imul(je,Gr)|0,Se=Se+Math.imul(je,Ir)|0,ge=ge+Math.imul(Qt,_i)|0,ie=ie+Math.imul(Qt,Pi)|0,ie=ie+Math.imul(Ht,_i)|0,Se=Se+Math.imul(Ht,Pi)|0,ge=ge+Math.imul(Vt,mi)|0,ie=ie+Math.imul(Vt,un)|0,ie=ie+Math.imul(st,mi)|0,Se=Se+Math.imul(st,un)|0,ge=ge+Math.imul(He,An)|0,ie=ie+Math.imul(He,Hn)|0,ie=ie+Math.imul(lt,An)|0,Se=Se+Math.imul(lt,Hn)|0,ge=ge+Math.imul(me,Vi)|0,ie=ie+Math.imul(me,Kn)|0,ie=ie+Math.imul(Pe,Vi)|0,Se=Se+Math.imul(Pe,Kn)|0,ge=ge+Math.imul(we,Gt)|0,ie=ie+Math.imul(we,wt)|0,ie=ie+Math.imul(De,Gt)|0,Se=Se+Math.imul(De,wt)|0;var fn=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(fn>>>26)|0,fn&=67108863,ge=Math.imul(_r,Ge),ie=Math.imul(_r,Je),ie=ie+Math.imul(Er,Ge)|0,Se=Math.imul(Er,Je),ge=ge+Math.imul(pt,et)|0,ie=ie+Math.imul(pt,xt)|0,ie=ie+Math.imul(Xt,et)|0,Se=Se+Math.imul(Xt,xt)|0,ge=ge+Math.imul(Tt,Kt)|0,ie=ie+Math.imul(Tt,er)|0,ie=ie+Math.imul(dt,Kt)|0,Se=Se+Math.imul(dt,er)|0,ge=ge+Math.imul(Ae,Gr)|0,ie=ie+Math.imul(Ae,Ir)|0,ie=ie+Math.imul(rt,Gr)|0,Se=Se+Math.imul(rt,Ir)|0,ge=ge+Math.imul(tt,_i)|0,ie=ie+Math.imul(tt,Pi)|0,ie=ie+Math.imul(je,_i)|0,Se=Se+Math.imul(je,Pi)|0,ge=ge+Math.imul(Qt,mi)|0,ie=ie+Math.imul(Qt,un)|0,ie=ie+Math.imul(Ht,mi)|0,Se=Se+Math.imul(Ht,un)|0,ge=ge+Math.imul(Vt,An)|0,ie=ie+Math.imul(Vt,Hn)|0,ie=ie+Math.imul(st,An)|0,Se=Se+Math.imul(st,Hn)|0,ge=ge+Math.imul(He,Vi)|0,ie=ie+Math.imul(He,Kn)|0,ie=ie+Math.imul(lt,Vi)|0,Se=Se+Math.imul(lt,Kn)|0,ge=ge+Math.imul(me,Gt)|0,ie=ie+Math.imul(me,wt)|0,ie=ie+Math.imul(Pe,Gt)|0,Se=Se+Math.imul(Pe,wt)|0;var yn=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(yn>>>26)|0,yn&=67108863,ge=Math.imul(_r,et),ie=Math.imul(_r,xt),ie=ie+Math.imul(Er,et)|0,Se=Math.imul(Er,xt),ge=ge+Math.imul(pt,Kt)|0,ie=ie+Math.imul(pt,er)|0,ie=ie+Math.imul(Xt,Kt)|0,Se=Se+Math.imul(Xt,er)|0,ge=ge+Math.imul(Tt,Gr)|0,ie=ie+Math.imul(Tt,Ir)|0,ie=ie+Math.imul(dt,Gr)|0,Se=Se+Math.imul(dt,Ir)|0,ge=ge+Math.imul(Ae,_i)|0,ie=ie+Math.imul(Ae,Pi)|0,ie=ie+Math.imul(rt,_i)|0,Se=Se+Math.imul(rt,Pi)|0,ge=ge+Math.imul(tt,mi)|0,ie=ie+Math.imul(tt,un)|0,ie=ie+Math.imul(je,mi)|0,Se=Se+Math.imul(je,un)|0,ge=ge+Math.imul(Qt,An)|0,ie=ie+Math.imul(Qt,Hn)|0,ie=ie+Math.imul(Ht,An)|0,Se=Se+Math.imul(Ht,Hn)|0,ge=ge+Math.imul(Vt,Vi)|0,ie=ie+Math.imul(Vt,Kn)|0,ie=ie+Math.imul(st,Vi)|0,Se=Se+Math.imul(st,Kn)|0,ge=ge+Math.imul(He,Gt)|0,ie=ie+Math.imul(He,wt)|0,ie=ie+Math.imul(lt,Gt)|0,Se=Se+Math.imul(lt,wt)|0;var Mn=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,ge=Math.imul(_r,Kt),ie=Math.imul(_r,er),ie=ie+Math.imul(Er,Kt)|0,Se=Math.imul(Er,er),ge=ge+Math.imul(pt,Gr)|0,ie=ie+Math.imul(pt,Ir)|0,ie=ie+Math.imul(Xt,Gr)|0,Se=Se+Math.imul(Xt,Ir)|0,ge=ge+Math.imul(Tt,_i)|0,ie=ie+Math.imul(Tt,Pi)|0,ie=ie+Math.imul(dt,_i)|0,Se=Se+Math.imul(dt,Pi)|0,ge=ge+Math.imul(Ae,mi)|0,ie=ie+Math.imul(Ae,un)|0,ie=ie+Math.imul(rt,mi)|0,Se=Se+Math.imul(rt,un)|0,ge=ge+Math.imul(tt,An)|0,ie=ie+Math.imul(tt,Hn)|0,ie=ie+Math.imul(je,An)|0,Se=Se+Math.imul(je,Hn)|0,ge=ge+Math.imul(Qt,Vi)|0,ie=ie+Math.imul(Qt,Kn)|0,ie=ie+Math.imul(Ht,Vi)|0,Se=Se+Math.imul(Ht,Kn)|0,ge=ge+Math.imul(Vt,Gt)|0,ie=ie+Math.imul(Vt,wt)|0,ie=ie+Math.imul(st,Gt)|0,Se=Se+Math.imul(st,wt)|0;var Ba=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(Ba>>>26)|0,Ba&=67108863,ge=Math.imul(_r,Gr),ie=Math.imul(_r,Ir),ie=ie+Math.imul(Er,Gr)|0,Se=Math.imul(Er,Ir),ge=ge+Math.imul(pt,_i)|0,ie=ie+Math.imul(pt,Pi)|0,ie=ie+Math.imul(Xt,_i)|0,Se=Se+Math.imul(Xt,Pi)|0,ge=ge+Math.imul(Tt,mi)|0,ie=ie+Math.imul(Tt,un)|0,ie=ie+Math.imul(dt,mi)|0,Se=Se+Math.imul(dt,un)|0,ge=ge+Math.imul(Ae,An)|0,ie=ie+Math.imul(Ae,Hn)|0,ie=ie+Math.imul(rt,An)|0,Se=Se+Math.imul(rt,Hn)|0,ge=ge+Math.imul(tt,Vi)|0,ie=ie+Math.imul(tt,Kn)|0,ie=ie+Math.imul(je,Vi)|0,Se=Se+Math.imul(je,Kn)|0,ge=ge+Math.imul(Qt,Gt)|0,ie=ie+Math.imul(Qt,wt)|0,ie=ie+Math.imul(Ht,Gt)|0,Se=Se+Math.imul(Ht,wt)|0;var ua=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(ua>>>26)|0,ua&=67108863,ge=Math.imul(_r,_i),ie=Math.imul(_r,Pi),ie=ie+Math.imul(Er,_i)|0,Se=Math.imul(Er,Pi),ge=ge+Math.imul(pt,mi)|0,ie=ie+Math.imul(pt,un)|0,ie=ie+Math.imul(Xt,mi)|0,Se=Se+Math.imul(Xt,un)|0,ge=ge+Math.imul(Tt,An)|0,ie=ie+Math.imul(Tt,Hn)|0,ie=ie+Math.imul(dt,An)|0,Se=Se+Math.imul(dt,Hn)|0,ge=ge+Math.imul(Ae,Vi)|0,ie=ie+Math.imul(Ae,Kn)|0,ie=ie+Math.imul(rt,Vi)|0,Se=Se+Math.imul(rt,Kn)|0,ge=ge+Math.imul(tt,Gt)|0,ie=ie+Math.imul(tt,wt)|0,ie=ie+Math.imul(je,Gt)|0,Se=Se+Math.imul(je,wt)|0;var ma=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(ma>>>26)|0,ma&=67108863,ge=Math.imul(_r,mi),ie=Math.imul(_r,un),ie=ie+Math.imul(Er,mi)|0,Se=Math.imul(Er,un),ge=ge+Math.imul(pt,An)|0,ie=ie+Math.imul(pt,Hn)|0,ie=ie+Math.imul(Xt,An)|0,Se=Se+Math.imul(Xt,Hn)|0,ge=ge+Math.imul(Tt,Vi)|0,ie=ie+Math.imul(Tt,Kn)|0,ie=ie+Math.imul(dt,Vi)|0,Se=Se+Math.imul(dt,Kn)|0,ge=ge+Math.imul(Ae,Gt)|0,ie=ie+Math.imul(Ae,wt)|0,ie=ie+Math.imul(rt,Gt)|0,Se=Se+Math.imul(rt,wt)|0;var Wa=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(Wa>>>26)|0,Wa&=67108863,ge=Math.imul(_r,An),ie=Math.imul(_r,Hn),ie=ie+Math.imul(Er,An)|0,Se=Math.imul(Er,Hn),ge=ge+Math.imul(pt,Vi)|0,ie=ie+Math.imul(pt,Kn)|0,ie=ie+Math.imul(Xt,Vi)|0,Se=Se+Math.imul(Xt,Kn)|0,ge=ge+Math.imul(Tt,Gt)|0,ie=ie+Math.imul(Tt,wt)|0,ie=ie+Math.imul(dt,Gt)|0,Se=Se+Math.imul(dt,wt)|0;var Fa=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,ge=Math.imul(_r,Vi),ie=Math.imul(_r,Kn),ie=ie+Math.imul(Er,Vi)|0,Se=Math.imul(Er,Kn),ge=ge+Math.imul(pt,Gt)|0,ie=ie+Math.imul(pt,wt)|0,ie=ie+Math.imul(Xt,Gt)|0,Se=Se+Math.imul(Xt,wt)|0;var Xo=(Ce+ge|0)+((ie&8191)<<13)|0;Ce=(Se+(ie>>>13)|0)+(Xo>>>26)|0,Xo&=67108863,ge=Math.imul(_r,Gt),ie=Math.imul(_r,wt),ie=ie+Math.imul(Er,Gt)|0,Se=Math.imul(Er,wt);var da=(Ce+ge|0)+((ie&8191)<<13)|0;return Ce=(Se+(ie>>>13)|0)+(da>>>26)|0,da&=67108863,ke[0]=rr,ke[1]=ir,ke[2]=wr,ke[3]=Xr,ke[4]=ti,ke[5]=$r,ke[6]=Ri,ke[7]=Zi,ke[8]=en,ke[9]=fn,ke[10]=yn,ke[11]=Mn,ke[12]=Ba,ke[13]=ua,ke[14]=ma,ke[15]=Wa,ke[16]=Fa,ke[17]=Xo,ke[18]=da,Ce!==0&&(ke[19]=Ce,re.length++),re};Math.imul||(L=T);function x(j,N,H){H.negative=N.negative^j.negative,H.length=j.length+N.length;for(var re=0,oe=0,_e=0;_e>>26)|0,oe+=ke>>>26,ke&=67108863}H.words[_e]=Ce,re=ke,ke=oe}return re!==0?H.words[_e]=re:H.length--,H.strip()}function C(j,N,H){var re=new S;return re.mulp(j,N,H)}f.prototype.mulTo=function(N,H){var re,oe=this.length+N.length;return this.length===10&&N.length===10?re=L(this,N,H):oe<63?re=T(this,N,H):oe<1024?re=x(this,N,H):re=C(this,N,H),re};function S(j,N){this.x=j,this.y=N}S.prototype.makeRBT=function(N){for(var H=new Array(N),re=f.prototype._countBits(N)-1,oe=0;oe>=1;return oe},S.prototype.permute=function(N,H,re,oe,_e,ke){for(var Ce=0;Ce>>1)_e++;return 1<<_e+1+oe},S.prototype.conjugate=function(N,H,re){if(!(re<=1))for(var oe=0;oe>>13,re[2*ke+1]=_e&8191,_e=_e>>>13;for(ke=2*H;ke>=26,H+=oe/67108864|0,H+=_e>>>26,this.words[re]=_e&67108863}return H!==0&&(this.words[re]=H,this.length++),this.length=N===0?1:this.length,this},f.prototype.muln=function(N){return this.clone().imuln(N)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(N){var H=M(N);if(H.length===0)return new f(1);for(var re=this,oe=0;oe=0);var H=N%26,re=(N-H)/26,oe=67108863>>>26-H<<26-H,_e;if(H!==0){var ke=0;for(_e=0;_e>>26-H}ke&&(this.words[_e]=ke,this.length++)}if(re!==0){for(_e=this.length-1;_e>=0;_e--)this.words[_e+re]=this.words[_e];for(_e=0;_e=0);var oe;H?oe=(H-H%26)/26:oe=0;var _e=N%26,ke=Math.min((N-_e)/26,this.length),Ce=67108863^67108863>>>_e<<_e,ge=re;if(oe-=ke,oe=Math.max(0,oe),ge){for(var ie=0;ieke)for(this.length-=ke,ie=0;ie=0&&(Se!==0||ie>=oe);ie--){var Ee=this.words[ie]|0;this.words[ie]=Se<<26-_e|Ee>>>_e,Se=Ee&Ce}return ge&&Se!==0&&(ge.words[ge.length++]=Se),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(N,H,re){return u(this.negative===0),this.iushrn(N,H,re)},f.prototype.shln=function(N){return this.clone().ishln(N)},f.prototype.ushln=function(N){return this.clone().iushln(N)},f.prototype.shrn=function(N){return this.clone().ishrn(N)},f.prototype.ushrn=function(N){return this.clone().iushrn(N)},f.prototype.testn=function(N){u(typeof N==\"number\"&&N>=0);var H=N%26,re=(N-H)/26,oe=1<=0);var H=N%26,re=(N-H)/26;if(u(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=re)return this;if(H!==0&&re++,this.length=Math.min(re,this.length),H!==0){var oe=67108863^67108863>>>H<=67108864;H++)this.words[H]-=67108864,H===this.length-1?this.words[H+1]=1:this.words[H+1]++;return this.length=Math.max(this.length,H+1),this},f.prototype.isubn=function(N){if(u(typeof N==\"number\"),u(N<67108864),N<0)return this.iaddn(-N);if(this.negative!==0)return this.negative=0,this.iaddn(N),this.negative=1,this;if(this.words[0]-=N,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var H=0;H>26)-(ge/67108864|0),this.words[_e+re]=ke&67108863}for(;_e>26,this.words[_e+re]=ke&67108863;if(Ce===0)return this.strip();for(u(Ce===-1),Ce=0,_e=0;_e>26,this.words[_e]=ke&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(N,H){var re=this.length-N.length,oe=this.clone(),_e=N,ke=_e.words[_e.length-1]|0,Ce=this._countBits(ke);re=26-Ce,re!==0&&(_e=_e.ushln(re),oe.iushln(re),ke=_e.words[_e.length-1]|0);var ge=oe.length-_e.length,ie;if(H!==\"mod\"){ie=new f(null),ie.length=ge+1,ie.words=new Array(ie.length);for(var Se=0;Se=0;we--){var De=(oe.words[_e.length+we]|0)*67108864+(oe.words[_e.length+we-1]|0);for(De=Math.min(De/ke|0,67108863),oe._ishlnsubmul(_e,De,we);oe.negative!==0;)De--,oe.negative=0,oe._ishlnsubmul(_e,1,we),oe.isZero()||(oe.negative^=1);ie&&(ie.words[we]=De)}return ie&&ie.strip(),oe.strip(),H!==\"div\"&&re!==0&&oe.iushrn(re),{div:ie||null,mod:oe}},f.prototype.divmod=function(N,H,re){if(u(!N.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var oe,_e,ke;return this.negative!==0&&N.negative===0?(ke=this.neg().divmod(N,H),H!==\"mod\"&&(oe=ke.div.neg()),H!==\"div\"&&(_e=ke.mod.neg(),re&&_e.negative!==0&&_e.iadd(N)),{div:oe,mod:_e}):this.negative===0&&N.negative!==0?(ke=this.divmod(N.neg(),H),H!==\"mod\"&&(oe=ke.div.neg()),{div:oe,mod:ke.mod}):(this.negative&N.negative)!==0?(ke=this.neg().divmod(N.neg(),H),H!==\"div\"&&(_e=ke.mod.neg(),re&&_e.negative!==0&&_e.isub(N)),{div:ke.div,mod:_e}):N.length>this.length||this.cmp(N)<0?{div:new f(0),mod:this}:N.length===1?H===\"div\"?{div:this.divn(N.words[0]),mod:null}:H===\"mod\"?{div:null,mod:new f(this.modn(N.words[0]))}:{div:this.divn(N.words[0]),mod:new f(this.modn(N.words[0]))}:this._wordDiv(N,H)},f.prototype.div=function(N){return this.divmod(N,\"div\",!1).div},f.prototype.mod=function(N){return this.divmod(N,\"mod\",!1).mod},f.prototype.umod=function(N){return this.divmod(N,\"mod\",!0).mod},f.prototype.divRound=function(N){var H=this.divmod(N);if(H.mod.isZero())return H.div;var re=H.div.negative!==0?H.mod.isub(N):H.mod,oe=N.ushrn(1),_e=N.andln(1),ke=re.cmp(oe);return ke<0||_e===1&&ke===0?H.div:H.div.negative!==0?H.div.isubn(1):H.div.iaddn(1)},f.prototype.modn=function(N){u(N<=67108863);for(var H=(1<<26)%N,re=0,oe=this.length-1;oe>=0;oe--)re=(H*re+(this.words[oe]|0))%N;return re},f.prototype.idivn=function(N){u(N<=67108863);for(var H=0,re=this.length-1;re>=0;re--){var oe=(this.words[re]|0)+H*67108864;this.words[re]=oe/N|0,H=oe%N}return this.strip()},f.prototype.divn=function(N){return this.clone().idivn(N)},f.prototype.egcd=function(N){u(N.negative===0),u(!N.isZero());var H=this,re=N.clone();H.negative!==0?H=H.umod(N):H=H.clone();for(var oe=new f(1),_e=new f(0),ke=new f(0),Ce=new f(1),ge=0;H.isEven()&&re.isEven();)H.iushrn(1),re.iushrn(1),++ge;for(var ie=re.clone(),Se=H.clone();!H.isZero();){for(var Ee=0,we=1;(H.words[0]&we)===0&&Ee<26;++Ee,we<<=1);if(Ee>0)for(H.iushrn(Ee);Ee-- >0;)(oe.isOdd()||_e.isOdd())&&(oe.iadd(ie),_e.isub(Se)),oe.iushrn(1),_e.iushrn(1);for(var De=0,Le=1;(re.words[0]&Le)===0&&De<26;++De,Le<<=1);if(De>0)for(re.iushrn(De);De-- >0;)(ke.isOdd()||Ce.isOdd())&&(ke.iadd(ie),Ce.isub(Se)),ke.iushrn(1),Ce.iushrn(1);H.cmp(re)>=0?(H.isub(re),oe.isub(ke),_e.isub(Ce)):(re.isub(H),ke.isub(oe),Ce.isub(_e))}return{a:ke,b:Ce,gcd:re.iushln(ge)}},f.prototype._invmp=function(N){u(N.negative===0),u(!N.isZero());var H=this,re=N.clone();H.negative!==0?H=H.umod(N):H=H.clone();for(var oe=new f(1),_e=new f(0),ke=re.clone();H.cmpn(1)>0&&re.cmpn(1)>0;){for(var Ce=0,ge=1;(H.words[0]&ge)===0&&Ce<26;++Ce,ge<<=1);if(Ce>0)for(H.iushrn(Ce);Ce-- >0;)oe.isOdd()&&oe.iadd(ke),oe.iushrn(1);for(var ie=0,Se=1;(re.words[0]&Se)===0&&ie<26;++ie,Se<<=1);if(ie>0)for(re.iushrn(ie);ie-- >0;)_e.isOdd()&&_e.iadd(ke),_e.iushrn(1);H.cmp(re)>=0?(H.isub(re),oe.isub(_e)):(re.isub(H),_e.isub(oe))}var Ee;return H.cmpn(1)===0?Ee=oe:Ee=_e,Ee.cmpn(0)<0&&Ee.iadd(N),Ee},f.prototype.gcd=function(N){if(this.isZero())return N.abs();if(N.isZero())return this.abs();var H=this.clone(),re=N.clone();H.negative=0,re.negative=0;for(var oe=0;H.isEven()&&re.isEven();oe++)H.iushrn(1),re.iushrn(1);do{for(;H.isEven();)H.iushrn(1);for(;re.isEven();)re.iushrn(1);var _e=H.cmp(re);if(_e<0){var ke=H;H=re,re=ke}else if(_e===0||re.cmpn(1)===0)break;H.isub(re)}while(!0);return re.iushln(oe)},f.prototype.invm=function(N){return this.egcd(N).a.umod(N)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(N){return this.words[0]&N},f.prototype.bincn=function(N){u(typeof N==\"number\");var H=N%26,re=(N-H)/26,oe=1<>>26,Ce&=67108863,this.words[ke]=Ce}return _e!==0&&(this.words[ke]=_e,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(N){var H=N<0;if(this.negative!==0&&!H)return-1;if(this.negative===0&&H)return 1;this.strip();var re;if(this.length>1)re=1;else{H&&(N=-N),u(N<=67108863,\"Number is too big\");var oe=this.words[0]|0;re=oe===N?0:oeN.length)return 1;if(this.length=0;re--){var oe=this.words[re]|0,_e=N.words[re]|0;if(oe!==_e){oe<_e?H=-1:oe>_e&&(H=1);break}}return H},f.prototype.gtn=function(N){return this.cmpn(N)===1},f.prototype.gt=function(N){return this.cmp(N)===1},f.prototype.gten=function(N){return this.cmpn(N)>=0},f.prototype.gte=function(N){return this.cmp(N)>=0},f.prototype.ltn=function(N){return this.cmpn(N)===-1},f.prototype.lt=function(N){return this.cmp(N)===-1},f.prototype.lten=function(N){return this.cmpn(N)<=0},f.prototype.lte=function(N){return this.cmp(N)<=0},f.prototype.eqn=function(N){return this.cmpn(N)===0},f.prototype.eq=function(N){return this.cmp(N)===0},f.red=function(N){return new G(N)},f.prototype.toRed=function(N){return u(!this.red,\"Already a number in reduction context\"),u(this.negative===0,\"red works only with positives\"),N.convertTo(this)._forceRed(N)},f.prototype.fromRed=function(){return u(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},f.prototype._forceRed=function(N){return this.red=N,this},f.prototype.forceRed=function(N){return u(!this.red,\"Already a number in reduction context\"),this._forceRed(N)},f.prototype.redAdd=function(N){return u(this.red,\"redAdd works only with red numbers\"),this.red.add(this,N)},f.prototype.redIAdd=function(N){return u(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,N)},f.prototype.redSub=function(N){return u(this.red,\"redSub works only with red numbers\"),this.red.sub(this,N)},f.prototype.redISub=function(N){return u(this.red,\"redISub works only with red numbers\"),this.red.isub(this,N)},f.prototype.redShl=function(N){return u(this.red,\"redShl works only with red numbers\"),this.red.shl(this,N)},f.prototype.redMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.mul(this,N)},f.prototype.redIMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.imul(this,N)},f.prototype.redSqr=function(){return u(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(N){return u(this.red&&!N.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,N)};var g={k256:null,p224:null,p192:null,p25519:null};function P(j,N){this.name=j,this.p=new f(N,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var N=new f(null);return N.words=new Array(Math.ceil(this.n/13)),N},P.prototype.ireduce=function(N){var H=N,re;do this.split(H,this.tmp),H=this.imulK(H),H=H.iadd(this.tmp),re=H.bitLength();while(re>this.n);var oe=re0?H.isub(this.p):H.strip!==void 0?H.strip():H._strip(),H},P.prototype.split=function(N,H){N.iushrn(this.n,0,H)},P.prototype.imulK=function(N){return N.imul(this.k)};function E(){P.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}c(E,P),E.prototype.split=function(N,H){for(var re=4194303,oe=Math.min(N.length,9),_e=0;_e>>22,ke=Ce}ke>>>=22,N.words[_e-10]=ke,ke===0&&N.length>10?N.length-=10:N.length-=9},E.prototype.imulK=function(N){N.words[N.length]=0,N.words[N.length+1]=0,N.length+=2;for(var H=0,re=0;re>>=26,N.words[re]=_e,H=oe}return H!==0&&(N.words[N.length++]=H),N},f._prime=function(N){if(g[N])return g[N];var H;if(N===\"k256\")H=new E;else if(N===\"p224\")H=new z;else if(N===\"p192\")H=new q;else if(N===\"p25519\")H=new U;else throw new Error(\"Unknown prime \"+N);return g[N]=H,H};function G(j){if(typeof j==\"string\"){var N=f._prime(j);this.m=N.p,this.prime=N}else u(j.gtn(1),\"modulus must be greater than 1\"),this.m=j,this.prime=null}G.prototype._verify1=function(N){u(N.negative===0,\"red works only with positives\"),u(N.red,\"red works only with red numbers\")},G.prototype._verify2=function(N,H){u((N.negative|H.negative)===0,\"red works only with positives\"),u(N.red&&N.red===H.red,\"red works only with red numbers\")},G.prototype.imod=function(N){return this.prime?this.prime.ireduce(N)._forceRed(this):N.umod(this.m)._forceRed(this)},G.prototype.neg=function(N){return N.isZero()?N.clone():this.m.sub(N)._forceRed(this)},G.prototype.add=function(N,H){this._verify2(N,H);var re=N.add(H);return re.cmp(this.m)>=0&&re.isub(this.m),re._forceRed(this)},G.prototype.iadd=function(N,H){this._verify2(N,H);var re=N.iadd(H);return re.cmp(this.m)>=0&&re.isub(this.m),re},G.prototype.sub=function(N,H){this._verify2(N,H);var re=N.sub(H);return re.cmpn(0)<0&&re.iadd(this.m),re._forceRed(this)},G.prototype.isub=function(N,H){this._verify2(N,H);var re=N.isub(H);return re.cmpn(0)<0&&re.iadd(this.m),re},G.prototype.shl=function(N,H){return this._verify1(N),this.imod(N.ushln(H))},G.prototype.imul=function(N,H){return this._verify2(N,H),this.imod(N.imul(H))},G.prototype.mul=function(N,H){return this._verify2(N,H),this.imod(N.mul(H))},G.prototype.isqr=function(N){return this.imul(N,N.clone())},G.prototype.sqr=function(N){return this.mul(N,N)},G.prototype.sqrt=function(N){if(N.isZero())return N.clone();var H=this.m.andln(3);if(u(H%2===1),H===3){var re=this.m.add(new f(1)).iushrn(2);return this.pow(N,re)}for(var oe=this.m.subn(1),_e=0;!oe.isZero()&&oe.andln(1)===0;)_e++,oe.iushrn(1);u(!oe.isZero());var ke=new f(1).toRed(this),Ce=ke.redNeg(),ge=this.m.subn(1).iushrn(1),ie=this.m.bitLength();for(ie=new f(2*ie*ie).toRed(this);this.pow(ie,ge).cmp(Ce)!==0;)ie.redIAdd(Ce);for(var Se=this.pow(ie,oe),Ee=this.pow(N,oe.addn(1).iushrn(1)),we=this.pow(N,oe),De=_e;we.cmp(ke)!==0;){for(var Le=we,me=0;Le.cmp(ke)!==0;me++)Le=Le.redSqr();u(me=0;_e--){for(var Se=H.words[_e],Ee=ie-1;Ee>=0;Ee--){var we=Se>>Ee&1;if(ke!==oe[0]&&(ke=this.sqr(ke)),we===0&&Ce===0){ge=0;continue}Ce<<=1,Ce|=we,ge++,!(ge!==re&&(_e!==0||Ee!==0))&&(ke=this.mul(ke,oe[Ce]),ge=0,Ce=0)}ie=26}return ke},G.prototype.convertTo=function(N){var H=N.umod(this.m);return H===N?H.clone():H},G.prototype.convertFrom=function(N){var H=N.clone();return H.red=null,H},f.mont=function(N){return new Z(N)};function Z(j){G.call(this,j),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(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)}c(Z,G),Z.prototype.convertTo=function(N){return this.imod(N.ushln(this.shift))},Z.prototype.convertFrom=function(N){var H=this.imod(N.mul(this.rinv));return H.red=null,H},Z.prototype.imul=function(N,H){if(N.isZero()||H.isZero())return N.words[0]=0,N.length=1,N;var re=N.imul(H),oe=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(oe).iushrn(this.shift),ke=_e;return _e.cmp(this.m)>=0?ke=_e.isub(this.m):_e.cmpn(0)<0&&(ke=_e.iadd(this.m)),ke._forceRed(this)},Z.prototype.mul=function(N,H){if(N.isZero()||H.isZero())return new f(0)._forceRed(this);var re=N.mul(H),oe=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(oe).iushrn(this.shift),ke=_e;return _e.cmp(this.m)>=0?ke=_e.isub(this.m):_e.cmpn(0)<0&&(ke=_e.iadd(this.m)),ke._forceRed(this)},Z.prototype.invm=function(N){var H=this.imod(N._invmp(this.m).mul(this.r2));return H._forceRed(this)}}(i,this)},6204:function(i){\"use strict\";i.exports=a;function a(o){var s,l,u,c=o.length,f=0;for(s=0;s>>1;if(!(S<=0)){var g,P=s.mallocDouble(2*S*x),E=s.mallocInt32(x);if(x=f(k,S,P,E),x>0){if(S===1&&L)l.init(x),g=l.sweepComplete(S,T,0,x,P,E,0,x,P,E);else{var z=s.mallocDouble(2*S*C),q=s.mallocInt32(C);C=f(M,S,z,q),C>0&&(l.init(x+C),S===1?g=l.sweepBipartite(S,T,0,x,P,E,0,C,z,q):g=u(S,T,L,x,P,E,C,z,q),s.free(z),s.free(q))}s.free(P),s.free(E)}return g}}}var d;function v(k,M){d.push([k,M])}function m(k){return d=[],h(k,k,v,!0),d}function b(k,M){return d=[],h(k,M,v,!1),d}function p(k,M,T){switch(arguments.length){case 1:return m(k);case 2:return typeof M==\"function\"?h(k,k,M,!0):b(k,M);case 3:return h(k,M,T,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}},2455:function(i,a){\"use strict\";function o(){function u(h,d,v,m,b,p,k,M,T,L,x){for(var C=2*h,S=m,g=C*m;ST-M?u(h,d,v,m,b,p,k,M,T,L,x):c(h,d,v,m,b,p,k,M,T,L,x)}return f}function s(){function u(v,m,b,p,k,M,T,L,x,C,S){for(var g=2*v,P=p,E=g*p;PC-x?p?u(v,m,b,k,M,T,L,x,C,S,g):c(v,m,b,k,M,T,L,x,C,S,g):p?f(v,m,b,k,M,T,L,x,C,S,g):h(v,m,b,k,M,T,L,x,C,S,g)}return d}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){\"use strict\";i.exports=j;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),d=o(3545),v=o(8105),m=128,b=1<<22,p=1<<22,k=v(\"!(lo>=p0)&&!(p1>=hi)\"),M=v(\"lo===p0\"),T=v(\"lo0;){Se-=1;var De=Se*S,Le=E[De],me=E[De+1],Pe=E[De+2],ce=E[De+3],He=E[De+4],lt=E[De+5],mt=Se*g,Vt=z[mt],st=z[mt+1],ct=lt&1,Qt=!!(lt&16),Ht=_e,nr=ke,tt=ge,je=ie;if(ct&&(Ht=ge,nr=ie,tt=_e,je=ke),!(lt&2&&(Pe=T(N,Le,me,Pe,Ht,nr,st),me>=Pe))&&!(lt&4&&(me=L(N,Le,me,Pe,Ht,nr,Vt),me>=Pe))){var Ue=Pe-me,Ae=He-ce;if(Qt){if(N*Ue*(Ue+Ae)v&&b[C+d]>L;--x,C-=k){for(var S=C,g=C+k,P=0;P>>1,L=2*h,x=T,C=b[L*T+d];k=z?(x=E,C=z):P>=U?(x=g,C=P):(x=q,C=U):z>=U?(x=E,C=z):U>=P?(x=g,C=P):(x=q,C=U);for(var j=L*(M-1),N=L*x,G=0;G=p0)&&!(p1>=hi)\":d};function o(v){return a[v]}function s(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+g];if(z===T)if(S===E)S+=1,C+=L;else{for(var q=0;L>q;++q){var U=k[x+q];k[x+q]=k[C],k[C++]=U}var G=M[E];M[E]=M[S],M[S++]=G}}return S}function l(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+g];if(zq;++q){var U=k[x+q];k[x+q]=k[C],k[C++]=U}var G=M[E];M[E]=M[S],M[S++]=G}}return S}function u(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+P];if(z<=T)if(S===E)S+=1,C+=L;else{for(var q=0;L>q;++q){var U=k[x+q];k[x+q]=k[C],k[C++]=U}var G=M[E];M[E]=M[S],M[S++]=G}}return S}function c(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+P];if(z<=T)if(S===E)S+=1,C+=L;else{for(var q=0;L>q;++q){var U=k[x+q];k[x+q]=k[C],k[C++]=U}var G=M[E];M[E]=M[S],M[S++]=G}}return S}function f(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+g],q=k[x+P];if(z<=T&&T<=q)if(S===E)S+=1,C+=L;else{for(var U=0;L>U;++U){var G=k[x+U];k[x+U]=k[C],k[C++]=G}var Z=M[E];M[E]=M[S],M[S++]=Z}}return S}function h(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+g],q=k[x+P];if(zU;++U){var G=k[x+U];k[x+U]=k[C],k[C++]=G}var Z=M[E];M[E]=M[S],M[S++]=Z}}return S}function d(v,m,b,p,k,M,T,L){for(var x=2*v,C=x*b,S=C,g=b,P=m,E=v+m,z=b;p>z;++z,C+=x){var q=k[C+P],U=k[C+E];if(!(q>=T)&&!(L>=U))if(g===z)g+=1,S+=x;else{for(var G=0;x>G;++G){var Z=k[C+G];k[C+G]=k[S],k[S++]=Z}var j=M[z];M[z]=M[g],M[g++]=j}}return g}},4192:function(i){\"use strict\";i.exports=o;var a=32;function o(m,b){b<=4*a?s(0,b-1,m):v(0,b-1,m)}function s(m,b,p){for(var k=2*(m+1),M=m+1;M<=b;++M){for(var T=p[k++],L=p[k++],x=M,C=k-2;x-- >m;){var S=p[C-2],g=p[C-1];if(Sp[b+1]:!0}function d(m,b,p,k){m*=2;var M=k[m];return M>1,x=L-k,C=L+k,S=M,g=x,P=L,E=C,z=T,q=m+1,U=b-1,G=0;h(S,g,p)&&(G=S,S=g,g=G),h(E,z,p)&&(G=E,E=z,z=G),h(S,P,p)&&(G=S,S=P,P=G),h(g,P,p)&&(G=g,g=P,P=G),h(S,E,p)&&(G=S,S=E,E=G),h(P,E,p)&&(G=P,P=E,E=G),h(g,z,p)&&(G=g,g=z,z=G),h(g,P,p)&&(G=g,g=P,P=G),h(E,z,p)&&(G=E,E=z,z=G);for(var Z=p[2*g],j=p[2*g+1],N=p[2*E],H=p[2*E+1],re=2*S,oe=2*P,_e=2*z,ke=2*M,Ce=2*L,ge=2*T,ie=0;ie<2;++ie){var Se=p[re+ie],Ee=p[oe+ie],we=p[_e+ie];p[ke+ie]=Se,p[Ce+ie]=Ee,p[ge+ie]=we}u(x,m,p),u(C,b,p);for(var De=q;De<=U;++De)if(d(De,Z,j,p))De!==q&&l(De,q,p),++q;else if(!d(De,N,H,p))for(;;)if(d(U,N,H,p)){d(U,Z,j,p)?(c(De,q,U,p),++q,--U):(l(De,U,p),--U);break}else{if(--U>>1;u(k,Ee);for(var we=0,De=0,Ce=0;Ce=c)Le=Le-c|0,T(v,m,De--,Le);else if(Le>=0)T(h,d,we--,Le);else if(Le<=-c){Le=-Le-c|0;for(var me=0;me>>1;u(k,Ee);for(var we=0,De=0,Le=0,Ce=0;Ce>1===k[2*Ce+3]>>1&&(Pe=2,Ce+=1),me<0){for(var ce=-(me>>1)-1,He=0;He>1)-1;Pe===0?T(h,d,we--,ce):Pe===1?T(v,m,De--,ce):Pe===2&&T(b,p,Le--,ce)}}}function S(P,E,z,q,U,G,Z,j,N,H,re,oe){var _e=0,ke=2*P,Ce=E,ge=E+P,ie=1,Se=1;q?Se=c:ie=c;for(var Ee=U;Ee>>1;u(k,me);for(var Pe=0,Ee=0;Ee=c?(He=!q,we-=c):(He=!!q,we-=1),He)L(h,d,Pe++,we);else{var lt=oe[we],mt=ke*we,Vt=re[mt+E+1],st=re[mt+E+1+P];e:for(var ct=0;ct>>1;u(k,we);for(var De=0,ge=0;ge=c)h[De++]=ie-c;else{ie-=1;var me=re[ie],Pe=_e*ie,ce=H[Pe+E+1],He=H[Pe+E+1+P];e:for(var lt=0;lt=0;--lt)if(h[lt]===ie){for(var ct=lt+1;ct0;){for(var M=d.pop(),b=d.pop(),T=-1,L=-1,p=m[b],C=1;C=0||(h.flip(b,M),u(f,h,d,T,b,L),u(f,h,d,b,L,T),u(f,h,d,L,M,T),u(f,h,d,M,T,L))}}},5023:function(i,a,o){\"use strict\";var s=o(2478);i.exports=d;function l(v,m,b,p,k,M,T){this.cells=v,this.neighbor=m,this.flags=p,this.constraint=b,this.active=k,this.next=M,this.boundary=T}var u=l.prototype;function c(v,m){return v[0]-m[0]||v[1]-m[1]||v[2]-m[2]}u.locate=function(){var v=[0,0,0];return function(m,b,p){var k=m,M=b,T=p;return b0||T.length>0;){for(;M.length>0;){var g=M.pop();if(L[g]!==-k){L[g]=k;for(var P=x[g],E=0;E<3;++E){var z=S[3*g+E];z>=0&&L[z]===0&&(C[3*g+E]?T.push(z):(M.push(z),L[z]=k))}}}var q=T;T=M,M=q,T.length=0,k=-k}var U=h(x,L,m);return b?U.concat(p.boundary):U}},8902:function(i,a,o){\"use strict\";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;i.exports=T;function h(L,x,C,S,g){this.a=L,this.b=x,this.idx=C,this.lowerIds=S,this.upperIds=g}function d(L,x,C,S){this.a=L,this.b=x,this.type=C,this.idx=S}function v(L,x){var C=L.a[0]-x.a[0]||L.a[1]-x.a[1]||L.type-x.type;return C||L.type!==u&&(C=l(L.a,L.b,x.b),C)?C:L.idx-x.idx}function m(L,x){return l(L.a,L.b,x)}function b(L,x,C,S,g){for(var P=s.lt(x,S,m),E=s.gt(x,S,m),z=P;z1&&l(C[U[Z-2]],C[U[Z-1]],S)>0;)L.push([U[Z-1],U[Z-2],g]),Z-=1;U.length=Z,U.push(g);for(var G=q.upperIds,Z=G.length;Z>1&&l(C[G[Z-2]],C[G[Z-1]],S)<0;)L.push([G[Z-2],G[Z-1],g]),Z-=1;G.length=Z,G.push(g)}}function p(L,x){var C;return L.a[0]q[0]&&g.push(new d(q,z,f,P),new d(z,q,c,P))}g.sort(v);for(var U=g[0].a[0]-(1+Math.abs(g[0].a[0]))*Math.pow(2,-52),G=[new h([U,1],[U,0],-1,[],[],[],[])],Z=[],P=0,j=g.length;P=0}}(),u.removeTriangle=function(h,d,v){var m=this.stars;c(m[h],d,v),c(m[d],v,h),c(m[v],h,d)},u.addTriangle=function(h,d,v){var m=this.stars;m[h].push(d,v),m[d].push(v,h),m[v].push(h,d)},u.opposite=function(h,d){for(var v=this.stars[d],m=1,b=v.length;m=0;--N){var Se=Z[N];H=Se[0];var Ee=U[H],we=Ee[0],De=Ee[1],Le=q[we],me=q[De];if((Le[0]-me[0]||Le[1]-me[1])<0){var Pe=we;we=De,De=Pe}Ee[0]=we;var ce=Ee[1]=Se[1],He;for(j&&(He=Ee[2]);N>0&&Z[N-1][0]===H;){var Se=Z[--N],lt=Se[1];j?U.push([ce,lt,He]):U.push([ce,lt]),ce=lt}j?U.push([ce,De,He]):U.push([ce,De])}return re}function x(q,U,G){for(var Z=U.length,j=new s(Z),N=[],H=0;HU[2]?1:0)}function g(q,U,G){if(q.length!==0){if(U)for(var Z=0;Z0||H.length>0}function z(q,U,G){var Z;if(G){Z=U;for(var j=new Array(U.length),N=0;NL+1)throw new Error(M+\" map requires nshades to be at least size \"+k.length);Array.isArray(d.alpha)?d.alpha.length!==2?x=[1,1]:x=d.alpha.slice():typeof d.alpha==\"number\"?x=[d.alpha,d.alpha]:x=[1,1],v=k.map(function(z){return Math.round(z.index*L)}),x[0]=Math.min(Math.max(x[0],0),1),x[1]=Math.min(Math.max(x[1],0),1);var S=k.map(function(z,q){var U=k[q].index,G=k[q].rgb.slice();return G.length===4&&G[3]>=0&&G[3]<=1||(G[3]=x[0]+(x[1]-x[0])*U),G}),g=[];for(C=0;C=0}function d(v,m,b,p){var k=s(m,b,p);if(k===0){var M=l(s(v,m,b)),T=l(s(v,m,p));if(M===T){if(M===0){var L=h(v,m,b),x=h(v,m,p);return L===x?0:L?1:-1}return 0}else{if(T===0)return M>0||h(v,m,p)?-1:1;if(M===0)return T>0||h(v,m,b)?1:-1}return l(T-M)}var C=s(v,m,b);if(C>0)return k>0&&s(v,m,p)>0?1:-1;if(C<0)return k>0||s(v,m,p)>0?1:-1;var S=s(v,m,p);return S>0||h(v,m,b)?1:-1}},8572:function(i){\"use strict\";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],d=u[0]+u[1];if(f=h+l[2]-(d+u[2]),f)return f;var v=a(l[0],l[1]),m=a(u[0],u[1]);return a(v,l[2])-a(m,u[2])||a(v+l[2],h)-a(m+u[2],d);case 4:var b=l[0],p=l[1],k=l[2],M=l[3],T=u[0],L=u[1],x=u[2],C=u[3];return b+p+k+M-(T+L+x+C)||a(b,p,k,M)-a(T,L,x,C,T)||a(b+p,b+k,b+M,p+k,p+M,k+M)-a(T+L,T+x,T+C,L+x,L+C,x+C)||a(b+p+k,b+p+M,b+k+M,p+k+M)-a(T+L+x,T+L+C,T+x+C,L+x+C);default:for(var S=l.slice().sort(o),g=u.slice().sort(o),P=0;Po[l][0]&&(l=u);return sl?[[l],[s]]:[[s]]}},4750:function(i,a,o){\"use strict\";i.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),d=c[f-1],v=0;v=d[T]&&(M+=1);p[k]=M}}return h}function f(h,d){try{return s(h,!0)}catch(p){var v=l(h);if(v.length<=d)return[];var m=u(h,v),b=s(m,!0);return c(b,v)}}},4769:function(i){\"use strict\";function a(s,l,u,c,f,h){var d=6*f*f-6*f,v=3*f*f-4*f+1,m=-6*f*f+6*f,b=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var p=s.length-1;p>=0;--p)h[p]=d*s[p]+v*l[p]+m*u[p]+b*c[p];return h}return d*s+v*l+m*u[p]+b*c}function o(s,l,u,c,f,h){var d=f-1,v=f*f,m=d*d,b=(1+2*f)*m,p=f*m,k=v*(3-2*f),M=v*d;if(s.length){h||(h=new Array(s.length));for(var T=s.length-1;T>=0;--T)h[T]=b*s[T]+p*l[T]+k*u[T]+M*c[T];return h}return b*s+p*l+k*u+M*c}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){\"use strict\";var s=o(8954),l=o(1682);i.exports=h;function u(d,v){this.point=d,this.index=v}function c(d,v){for(var m=d.point,b=v.point,p=m.length,k=0;k=2)return!1;G[j]=N}return!0}):U=U.filter(function(G){for(var Z=0;Z<=b;++Z){var j=P[G[Z]];if(j<0)return!1;G[Z]=j}return!0}),b&1)for(var M=0;M>>31},i.exports.exponent=function(k){var M=i.exports.hi(k);return(M<<1>>>21)-1023},i.exports.fraction=function(k){var M=i.exports.lo(k),T=i.exports.hi(k),L=T&(1<<20)-1;return T&2146435072&&(L+=1048576),[M,L]},i.exports.denormalized=function(k){var M=i.exports.hi(k);return!(M&2146435072)}},1338:function(i){\"use strict\";function a(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),d;if(c===l.length-1)for(d=0;d0)return o(l|0,u);break;case\"object\":if(typeof l.length==\"number\")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){\"use strict\";i.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!=\"number\"){c=0;for(var h=0;h=b-1)for(var C=M.length-1,g=v-m[b-1],S=0;S=b-1)for(var x=M.length-1,C=v-m[b-1],S=0;S=0;--b)if(v[--m])return!1;return!0},f.jump=function(v){var m=this.lastT(),b=this.dimension;if(!(v0;--S)p.push(u(L[S-1],x[S-1],arguments[S])),k.push(0)}},f.push=function(v){var m=this.lastT(),b=this.dimension;if(!(v1e-6?1/T:0;this._time.push(v);for(var g=b;g>0;--g){var P=u(x[g-1],C[g-1],arguments[g]);p.push(P),k.push((P-p[M++])*S)}}},f.set=function(v){var m=this.dimension;if(!(v0;--L)b.push(u(M[L-1],T[L-1],arguments[L])),p.push(0)}},f.move=function(v){var m=this.lastT(),b=this.dimension;if(!(v<=m||arguments.length!==b+1)){var p=this._state,k=this._velocity,M=p.length-this.dimension,T=this.bounds,L=T[0],x=T[1],C=v-m,S=C>1e-6?1/C:0;this._time.push(v);for(var g=b;g>0;--g){var P=arguments[g];p.push(u(L[g-1],x[g-1],p[M++]+P)),k.push(P*S)}}},f.idle=function(v){var m=this.lastT();if(!(v=0;--S)p.push(u(L[S],x[S],p[M]+C*k[M])),k.push(0),M+=1}};function h(v){for(var m=new Array(v),b=0;b=0;--q){var g=P[q];E[q]<=0?P[q]=new s(g._color,g.key,g.value,P[q+1],g.right,g._count+1):P[q]=new s(g._color,g.key,g.value,g.left,P[q+1],g._count+1)}for(var q=P.length-1;q>1;--q){var U=P[q-1],g=P[q];if(U._color===o||g._color===o)break;var G=P[q-2];if(G.left===U)if(U.left===g){var Z=G.right;if(Z&&Z._color===a)U._color=o,G.right=u(o,Z),G._color=a,q-=1;else{if(G._color=a,G.left=U.right,U._color=o,U.right=G,P[q-2]=U,P[q-1]=g,c(G),c(U),q>=3){var j=P[q-3];j.left===G?j.left=U:j.right=U}break}}else{var Z=G.right;if(Z&&Z._color===a)U._color=o,G.right=u(o,Z),G._color=a,q-=1;else{if(U.right=g.left,G._color=a,G.left=g.right,g._color=o,g.left=U,g.right=G,P[q-2]=g,P[q-1]=U,c(G),c(U),c(g),q>=3){var j=P[q-3];j.left===G?j.left=g:j.right=g}break}}else if(U.right===g){var Z=G.left;if(Z&&Z._color===a)U._color=o,G.left=u(o,Z),G._color=a,q-=1;else{if(G._color=a,G.right=U.left,U._color=o,U.left=G,P[q-2]=U,P[q-1]=g,c(G),c(U),q>=3){var j=P[q-3];j.right===G?j.right=U:j.left=U}break}}else{var Z=G.left;if(Z&&Z._color===a)U._color=o,G.left=u(o,Z),G._color=a,q-=1;else{if(U.left=g.right,G._color=a,G.right=g.left,g._color=o,g.right=U,g.left=G,P[q-2]=g,P[q-1]=U,c(G),c(U),c(g),q>=3){var j=P[q-3];j.right===G?j.right=g:j.left=g}break}}}return P[0]._color=o,new f(S,P[0])};function d(x,C){if(C.left){var S=d(x,C.left);if(S)return S}var S=x(C.key,C.value);if(S)return S;if(C.right)return d(x,C.right)}function v(x,C,S,g){var P=C(x,g.key);if(P<=0){if(g.left){var E=v(x,C,S,g.left);if(E)return E}var E=S(g.key,g.value);if(E)return E}if(g.right)return v(x,C,S,g.right)}function m(x,C,S,g,P){var E=S(x,P.key),z=S(C,P.key),q;if(E<=0&&(P.left&&(q=m(x,C,S,g,P.left),q)||z>0&&(q=g(P.key,P.value),q)))return q;if(z>0&&P.right)return m(x,C,S,g,P.right)}h.forEach=function(C,S,g){if(this.root)switch(arguments.length){case 1:return d(C,this.root);case 2:return v(S,this._compare,C,this.root);case 3:return this._compare(S,g)>=0?void 0:m(S,g,this._compare,C,this.root)}},Object.defineProperty(h,\"begin\",{get:function(){for(var x=[],C=this.root;C;)x.push(C),C=C.left;return new b(this,x)}}),Object.defineProperty(h,\"end\",{get:function(){for(var x=[],C=this.root;C;)x.push(C),C=C.right;return new b(this,x)}}),h.at=function(x){if(x<0)return new b(this,[]);for(var C=this.root,S=[];;){if(S.push(C),C.left){if(x=C.right._count)break;C=C.right}else break}return new b(this,[])},h.ge=function(x){for(var C=this._compare,S=this.root,g=[],P=0;S;){var E=C(x,S.key);g.push(S),E<=0&&(P=g.length),E<=0?S=S.left:S=S.right}return g.length=P,new b(this,g)},h.gt=function(x){for(var C=this._compare,S=this.root,g=[],P=0;S;){var E=C(x,S.key);g.push(S),E<0&&(P=g.length),E<0?S=S.left:S=S.right}return g.length=P,new b(this,g)},h.lt=function(x){for(var C=this._compare,S=this.root,g=[],P=0;S;){var E=C(x,S.key);g.push(S),E>0&&(P=g.length),E<=0?S=S.left:S=S.right}return g.length=P,new b(this,g)},h.le=function(x){for(var C=this._compare,S=this.root,g=[],P=0;S;){var E=C(x,S.key);g.push(S),E>=0&&(P=g.length),E<0?S=S.left:S=S.right}return g.length=P,new b(this,g)},h.find=function(x){for(var C=this._compare,S=this.root,g=[];S;){var P=C(x,S.key);if(g.push(S),P===0)return new b(this,g);P<=0?S=S.left:S=S.right}return new b(this,[])},h.remove=function(x){var C=this.find(x);return C?C.remove():this},h.get=function(x){for(var C=this._compare,S=this.root;S;){var g=C(x,S.key);if(g===0)return S.value;g<=0?S=S.left:S=S.right}};function b(x,C){this.tree=x,this._stack=C}var p=b.prototype;Object.defineProperty(p,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new b(this.tree,this._stack.slice())};function k(x,C){x.key=C.key,x.value=C.value,x.left=C.left,x.right=C.right,x._color=C._color,x._count=C._count}function M(x){for(var C,S,g,P,E=x.length-1;E>=0;--E){if(C=x[E],E===0){C._color=o;return}if(S=x[E-1],S.left===C){if(g=S.right,g.right&&g.right._color===a){if(g=S.right=l(g),P=g.right=l(g.right),S.right=g.left,g.left=S,g.right=P,g._color=S._color,C._color=o,S._color=o,P._color=o,c(S),c(g),E>1){var z=x[E-2];z.left===S?z.left=g:z.right=g}x[E-1]=g;return}else if(g.left&&g.left._color===a){if(g=S.right=l(g),P=g.left=l(g.left),S.right=P.left,g.left=P.right,P.left=S,P.right=g,P._color=S._color,S._color=o,g._color=o,C._color=o,c(S),c(g),c(P),E>1){var z=x[E-2];z.left===S?z.left=P:z.right=P}x[E-1]=P;return}if(g._color===o)if(S._color===a){S._color=o,S.right=u(a,g);return}else{S.right=u(a,g);continue}else{if(g=l(g),S.right=g.left,g.left=S,g._color=S._color,S._color=a,c(S),c(g),E>1){var z=x[E-2];z.left===S?z.left=g:z.right=g}x[E-1]=g,x[E]=S,E+11){var z=x[E-2];z.right===S?z.right=g:z.left=g}x[E-1]=g;return}else if(g.right&&g.right._color===a){if(g=S.left=l(g),P=g.right=l(g.right),S.left=P.right,g.right=P.left,P.right=S,P.left=g,P._color=S._color,S._color=o,g._color=o,C._color=o,c(S),c(g),c(P),E>1){var z=x[E-2];z.right===S?z.right=P:z.left=P}x[E-1]=P;return}if(g._color===o)if(S._color===a){S._color=o,S.left=u(a,g);return}else{S.left=u(a,g);continue}else{if(g=l(g),S.left=g.right,g.right=S,g._color=S._color,S._color=a,c(S),c(g),E>1){var z=x[E-2];z.right===S?z.right=g:z.left=g}x[E-1]=g,x[E]=S,E+1=0;--g){var S=x[g];S.left===x[g+1]?C[g]=new s(S._color,S.key,S.value,C[g+1],S.right,S._count):C[g]=new s(S._color,S.key,S.value,S.left,C[g+1],S._count)}if(S=C[C.length-1],S.left&&S.right){var P=C.length;for(S=S.left;S.right;)C.push(S),S=S.right;var E=C[P-1];C.push(new s(S._color,E.key,E.value,S.left,S.right,S._count)),C[P-1].key=S.key,C[P-1].value=S.value;for(var g=C.length-2;g>=P;--g)S=C[g],C[g]=new s(S._color,S.key,S.value,S.left,C[g+1],S._count);C[P-1].left=C[P]}if(S=C[C.length-1],S._color===a){var z=C[C.length-2];z.left===S?z.left=null:z.right===S&&(z.right=null),C.pop();for(var g=0;g0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,\"index\",{get:function(){var x=0,C=this._stack;if(C.length===0){var S=this.tree.root;return S?S._count:0}else C[C.length-1].left&&(x=C[C.length-1].left._count);for(var g=C.length-2;g>=0;--g)C[g+1]===C[g].right&&(++x,C[g].left&&(x+=C[g].left._count));return x},enumerable:!0}),p.next=function(){var x=this._stack;if(x.length!==0){var C=x[x.length-1];if(C.right)for(C=C.right;C;)x.push(C),C=C.left;else for(x.pop();x.length>0&&x[x.length-1].right===C;)C=x[x.length-1],x.pop()}},Object.defineProperty(p,\"hasNext\",{get:function(){var x=this._stack;if(x.length===0)return!1;if(x[x.length-1].right)return!0;for(var C=x.length-1;C>0;--C)if(x[C-1].left===x[C])return!0;return!1}}),p.update=function(x){var C=this._stack;if(C.length===0)throw new Error(\"Can't update empty node!\");var S=new Array(C.length),g=C[C.length-1];S[S.length-1]=new s(g._color,g.key,x,g.left,g.right,g._count);for(var P=C.length-2;P>=0;--P)g=C[P],g.left===C[P+1]?S[P]=new s(g._color,g.key,g.value,S[P+1],g.right,g._count):S[P]=new s(g._color,g.key,g.value,g.left,S[P+1],g._count);return new f(this.tree._compare,S[0])},p.prev=function(){var x=this._stack;if(x.length!==0){var C=x[x.length-1];if(C.left)for(C=C.left;C;)x.push(C),C=C.right;else for(x.pop();x.length>0&&x[x.length-1].left===C;)C=x[x.length-1],x.pop()}},Object.defineProperty(p,\"hasPrev\",{get:function(){var x=this._stack;if(x.length===0)return!1;if(x[x.length-1].left)return!0;for(var C=x.length-1;C>0;--C)if(x[C-1].right===x[C])return!0;return!1}});function T(x,C){return xC?1:0}function L(x){return new f(x||T,null)}},3837:function(i,a,o){\"use strict\";i.exports=q;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=ArrayBuffer,v=DataView;function m(U){return d.isView(U)&&!(U instanceof v)}function b(U){return Array.isArray(U)||m(U)}function p(U,G){return U[0]=G[0],U[1]=G[1],U[2]=G[2],U}function k(U){this.gl=U,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickFontStyle=[\"normal\",\"normal\",\"normal\"],this.tickFontWeight=[\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=[\"auto\",\"auto\",\"auto\"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\"],this.labelFontWeight=[\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=[\"auto\",\"auto\",\"auto\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=u(U)}var M=k.prototype;M.update=function(U){U=U||{};function G(we,De,Le){if(Le in U){var me=U[Le],Pe=this[Le],ce;(we?b(me)&&b(me[0]):b(me))?this[Le]=ce=[De(me[0]),De(me[1]),De(me[2])]:this[Le]=ce=[De(me),De(me),De(me)];for(var He=0;He<3;++He)if(ce[He]!==Pe[He])return!0}return!1}var Z=G.bind(this,!1,Number),j=G.bind(this,!1,Boolean),N=G.bind(this,!1,String),H=G.bind(this,!0,function(we){if(b(we)){if(we.length===3)return[+we[0],+we[1],+we[2],1];if(we.length===4)return[+we[0],+we[1],+we[2],+we[3]]}return[0,0,0,1]}),re,oe=!1,_e=!1;if(\"bounds\"in U)for(var ke=U.bounds,Ce=0;Ce<2;++Ce)for(var ge=0;ge<3;++ge)ke[Ce][ge]!==this.bounds[Ce][ge]&&(_e=!0),this.bounds[Ce][ge]=ke[Ce][ge];if(\"ticks\"in U){re=U.ticks,oe=!0,this.autoTicks=!1;for(var Ce=0;Ce<3;++Ce)this.tickSpacing[Ce]=0}else Z(\"tickSpacing\")&&(this.autoTicks=!0,_e=!0);if(this._firstInit&&(\"ticks\"in U||\"tickSpacing\"in U||(this.autoTicks=!0),_e=!0,oe=!0,this._firstInit=!1),_e&&this.autoTicks&&(re=f.create(this.bounds,this.tickSpacing),oe=!0),oe){for(var Ce=0;Ce<3;++Ce)re[Ce].sort(function(De,Le){return De.x-Le.x});f.equal(re,this.ticks)?oe=!1:this.ticks=re}j(\"tickEnable\"),N(\"tickFont\")&&(oe=!0),N(\"tickFontStyle\")&&(oe=!0),N(\"tickFontWeight\")&&(oe=!0),N(\"tickFontVariant\")&&(oe=!0),Z(\"tickSize\"),Z(\"tickAngle\"),Z(\"tickPad\"),H(\"tickColor\");var ie=N(\"labels\");N(\"labelFont\")&&(ie=!0),N(\"labelFontStyle\")&&(ie=!0),N(\"labelFontWeight\")&&(ie=!0),N(\"labelFontVariant\")&&(ie=!0),j(\"labelEnable\"),Z(\"labelSize\"),Z(\"labelPad\"),H(\"labelColor\"),j(\"lineEnable\"),j(\"lineMirror\"),Z(\"lineWidth\"),H(\"lineColor\"),j(\"lineTickEnable\"),j(\"lineTickMirror\"),Z(\"lineTickLength\"),Z(\"lineTickWidth\"),H(\"lineTickColor\"),j(\"gridEnable\"),Z(\"gridWidth\"),H(\"gridColor\"),j(\"zeroEnable\"),H(\"zeroLineColor\"),Z(\"zeroLineWidth\"),j(\"backgroundEnable\"),H(\"backgroundColor\");var Se=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],Ee=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(ie||oe)&&this._text.update(this.bounds,this.labels,Se,this.ticks,Ee):this._text=s(this.gl,this.bounds,this.labels,Se,this.ticks,Ee),this._lines&&oe&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function T(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var L=[new T,new T,new T];function x(U,G,Z,j,N){for(var H=U.primalOffset,re=U.primalMinor,oe=U.mirrorOffset,_e=U.mirrorMinor,ke=j[G],Ce=0;Ce<3;++Ce)if(G!==Ce){var ge=H,ie=oe,Se=re,Ee=_e;ke&1<0?(Se[Ce]=-1,Ee[Ce]=0):(Se[Ce]=0,Ee[Ce]=1)}}var C=[0,0,0],S={model:h,view:h,projection:h,_ortho:!1};M.isOpaque=function(){return!0},M.isTransparent=function(){return!1},M.drawTransparent=function(U){};var g=0,P=[0,0,0],E=[0,0,0],z=[0,0,0];M.draw=function(U){U=U||S;for(var Le=this.gl,G=U.model||h,Z=U.view||h,j=U.projection||h,N=this.bounds,H=U._ortho||!1,re=c(G,Z,j,N,H),oe=re.cubeEdges,_e=re.axis,ke=Z[12],Ce=Z[13],ge=Z[14],ie=Z[15],Se=H?2:1,Ee=Se*this.pixelRatio*(j[3]*ke+j[7]*Ce+j[11]*ge+j[15]*ie)/Le.drawingBufferHeight,we=0;we<3;++we)this.lastCubeProps.cubeEdges[we]=oe[we],this.lastCubeProps.axis[we]=_e[we];for(var De=L,we=0;we<3;++we)x(L[we],we,this.bounds,oe,_e);for(var Le=this.gl,me=C,we=0;we<3;++we)this.backgroundEnable[we]?me[we]=_e[we]:me[we]=0;this._background.draw(G,Z,j,N,me,this.backgroundColor),this._lines.bind(G,Z,j,this);for(var we=0;we<3;++we){var Pe=[0,0,0];_e[we]>0?Pe[we]=N[1][we]:Pe[we]=N[0][we];for(var ce=0;ce<2;++ce){var He=(we+1+ce)%3,lt=(we+1+(ce^1))%3;this.gridEnable[He]&&this._lines.drawGrid(He,lt,this.bounds,Pe,this.gridColor[He],this.gridWidth[He]*this.pixelRatio)}for(var ce=0;ce<2;++ce){var He=(we+1+ce)%3,lt=(we+1+(ce^1))%3;this.zeroEnable[lt]&&Math.min(N[0][lt],N[1][lt])<=0&&Math.max(N[0][lt],N[1][lt])>=0&&this._lines.drawZero(He,lt,this.bounds,Pe,this.zeroLineColor[lt],this.zeroLineWidth[lt]*this.pixelRatio)}}for(var we=0;we<3;++we){this.lineEnable[we]&&this._lines.drawAxisLine(we,this.bounds,De[we].primalOffset,this.lineColor[we],this.lineWidth[we]*this.pixelRatio),this.lineMirror[we]&&this._lines.drawAxisLine(we,this.bounds,De[we].mirrorOffset,this.lineColor[we],this.lineWidth[we]*this.pixelRatio);for(var mt=p(P,De[we].primalMinor),Vt=p(E,De[we].mirrorMinor),st=this.lineTickLength,ce=0;ce<3;++ce){var ct=Ee/G[5*ce];mt[ce]*=st[ce]*ct,Vt[ce]*=st[ce]*ct}this.lineTickEnable[we]&&this._lines.drawAxisTicks(we,De[we].primalOffset,mt,this.lineTickColor[we],this.lineTickWidth[we]*this.pixelRatio),this.lineTickMirror[we]&&this._lines.drawAxisTicks(we,De[we].mirrorOffset,Vt,this.lineTickColor[we],this.lineTickWidth[we]*this.pixelRatio)}this._lines.unbind(),this._text.bind(G,Z,j,this.pixelRatio);var Qt,Ht=.5,nr,tt;function je(dt){tt=[0,0,0],tt[dt]=1}function Ue(dt,Et,pt){var Xt=(dt+1)%3,or=(dt+2)%3,_r=Et[Xt],Er=Et[or],ei=pt[Xt],qr=pt[or];if(_r>0&&qr>0){je(Xt);return}else if(_r>0&&qr<0){je(Xt);return}else if(_r<0&&qr>0){je(Xt);return}else if(_r<0&&qr<0){je(Xt);return}else if(Er>0&&ei>0){je(or);return}else if(Er>0&&ei<0){je(or);return}else if(Er<0&&ei>0){je(or);return}else if(Er<0&&ei<0){je(or);return}}for(var we=0;we<3;++we){for(var Ae=De[we].primalMinor,rt=De[we].mirrorMinor,St=p(z,De[we].primalOffset),ce=0;ce<3;++ce)this.lineTickEnable[we]&&(St[ce]+=Ee*Ae[ce]*Math.max(this.lineTickLength[ce],0)/G[5*ce]);var Tt=[0,0,0];if(Tt[we]=1,this.tickEnable[we]){this.tickAngle[we]===-3600?(this.tickAngle[we]=0,this.tickAlign[we]=\"auto\"):this.tickAlign[we]=-1,nr=1,Qt=[this.tickAlign[we],Ht,nr],Qt[0]===\"auto\"?Qt[0]=g:Qt[0]=parseInt(\"\"+Qt[0]),tt=[0,0,0],Ue(we,Ae,rt);for(var ce=0;ce<3;++ce)St[ce]+=Ee*Ae[ce]*this.tickPad[ce]/G[5*ce];this._text.drawTicks(we,this.tickSize[we],this.tickAngle[we],St,this.tickColor[we],Tt,tt,Qt)}if(this.labelEnable[we]){nr=0,tt=[0,0,0],this.labels[we].length>4&&(je(we),nr=1),Qt=[this.labelAlign[we],Ht,nr],Qt[0]===\"auto\"?Qt[0]=g:Qt[0]=parseInt(\"\"+Qt[0]);for(var ce=0;ce<3;++ce)St[ce]+=Ee*Ae[ce]*this.labelPad[ce]/G[5*ce];St[we]+=.5*(N[0][we]+N[1][we]),this._text.drawLabel(we,this.labelSize[we],this.labelAngle[we],St,this.labelColor[we],[0,0,0],tt,Qt)}}this._text.unbind()},M.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function q(U,G){var Z=new k(U);return Z.update(G),Z}},5304:function(i,a,o){\"use strict\";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(d,v,m,b){this.gl=d,this.buffer=v,this.vao=m,this.shader=b}var f=c.prototype;f.draw=function(d,v,m,b,p,k){for(var M=!1,T=0;T<3;++T)M=M||p[T];if(M){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:d,view:v,projection:m,bounds:b,enable:p,colors:k},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(d){for(var v=[],m=[],b=0,p=0;p<3;++p)for(var k=(p+1)%3,M=(p+2)%3,T=[0,0,0],L=[0,0,0],x=-1;x<=1;x+=2){m.push(b,b+2,b+1,b+1,b+2,b+3),T[p]=x,L[p]=x;for(var C=-1;C<=1;C+=2){T[k]=C;for(var S=-1;S<=1;S+=2)T[M]=S,v.push(T[0],T[1],T[2],L[0],L[1],L[2]),b+=1}var g=k;k=M,M=g}var P=s(d,new Float32Array(v)),E=s(d,new Uint16Array(m),d.ELEMENT_ARRAY_BUFFER),z=l(d,[{buffer:P,type:d.FLOAT,size:3,offset:0,stride:24},{buffer:P,type:d.FLOAT,size:3,offset:12,stride:24}],E),q=u(d);return q.attributes.position.location=0,q.attributes.normal.location=1,new c(d,P,z,q)}},6429:function(i,a,o){\"use strict\";i.exports=x;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),d=new Array(8),v=new Array(3),m=[0,0,0];(function(){for(var C=0;C<8;++C)h[C]=[1,1,1,1],d[C]=[1,1,1]})();function b(C,S,g){for(var P=0;P<4;++P){C[P]=g[12+P];for(var E=0;E<3;++E)C[P]+=S[E]*g[4*E+P]}}var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function k(C){for(var S=0;S_e&&(Z|=1<_e){Z|=1<d[q][1])&&(De=q);for(var Le=-1,q=0;q<3;++q){var me=De^1<d[Pe][0]&&(Pe=me)}}var ce=M;ce[0]=ce[1]=ce[2]=0,ce[s.log2(Le^De)]=De&Le,ce[s.log2(De^Pe)]=De&Pe;var He=Pe^7;He===Z||He===we?(He=Le^7,ce[s.log2(Pe^He)]=He&Pe):ce[s.log2(Le^He)]=He&Le;for(var lt=T,mt=Z,H=0;H<3;++H)mt&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n", + " b - PI :\n", + " b;\n", + "}\n", + "\n", + "float 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", + "\n", + "float roundTo(float a, float b) {\n", + " return float(b * floor((a + 0.5 * b) / b));\n", + "}\n", + "\n", + "float 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", + "\n", + "float 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", + "\n", + "bool isAxisTitle = (axis.x == 0.0) &&\n", + " (axis.y == 0.0) &&\n", + " (axis.z == 0.0);\n", + "\n", + "void 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", + "}\n", + "`]),h=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "uniform vec4 color;\n", + "void main() {\n", + " gl_FragColor = color;\n", + "}`]);a.Q=function(m){return l(m,f,h,null,[{name:\"position\",type:\"vec3\"}])};var d=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position;\n", + "attribute vec3 normal;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform vec3 enable;\n", + "uniform vec3 bounds[2];\n", + "\n", + "varying vec3 colorChannel;\n", + "\n", + "void 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", + "}\n", + "`]),v=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "uniform vec4 colors[3];\n", + "\n", + "varying vec3 colorChannel;\n", + "\n", + "void main() {\n", + " gl_FragColor = colorChannel.x * colors[0] +\n", + " colorChannel.y * colors[1] +\n", + " colorChannel.z * colors[2];\n", + "}`]);a.bg=function(m){return l(m,d,v,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},4935:function(i,a,o){\"use strict\";i.exports=k;var s=o(2762),l=o(8116),u=o(4359),c=o(1879).Q,f=window||process.global||{},h=f.__TEXT_CACHE||{};f.__TEXT_CACHE={};var d=3;function v(M,T,L,x){this.gl=M,this.shader=T,this.buffer=L,this.vao=x,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var m=v.prototype,b=[0,0];m.bind=function(M,T,L,x){this.vao.bind(),this.shader.bind();var C=this.shader.uniforms;C.model=M,C.view=T,C.projection=L,C.pixelScale=x,b[0]=this.gl.drawingBufferWidth,b[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=b},m.unbind=function(){this.vao.unbind()},m.update=function(M,T,L,x,C){var S=[];function g(H,re,oe,_e,ke,Ce){var ge=[oe.style,oe.weight,oe.variant,oe.family].join(\"_\"),ie=h[ge];ie||(ie=h[ge]={});var Se=ie[re];Se||(Se=ie[re]=p(re,{triangles:!0,font:oe.family,fontStyle:oe.style,fontWeight:oe.weight,fontVariant:oe.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:ke,styletags:Ce}));for(var Ee=(_e||12)/12,we=Se.positions,De=Se.cells,Le=0,me=De.length;Le=0;--ce){var He=we[Pe[ce]];S.push(Ee*He[0],-Ee*He[1],H)}}for(var P=[0,0,0],E=[0,0,0],z=[0,0,0],q=[0,0,0],U=1.25,G={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},Z=0;Z<3;++Z){z[Z]=S.length/d|0,g(.5*(M[0][Z]+M[1][Z]),T[Z],L[Z],12,U,G),q[Z]=(S.length/d|0)-z[Z],P[Z]=S.length/d|0;for(var j=0;j=0&&(d=f.length-h-1);var v=Math.pow(10,d),m=Math.round(u*c*v),b=m+\"\";if(b.indexOf(\"e\")>=0)return b;var p=m/v,k=m%v;m<0?(p=-Math.ceil(p)|0,k=-k|0):(p=Math.floor(p)|0,k=k|0);var M=\"\"+p;if(m<0&&(M=\"-\"+M),d){for(var T=\"\"+k;T.length=u[0][h];--m)d.push({x:m*c[h],text:o(c[h],m)});f.push(d)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;hM)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return p.bufferSubData(k,x,L),M}function v(p,k){for(var M=s.malloc(p.length,k),T=p.length,L=0;L=0;--T){if(k[T]!==M)return!1;M*=p[T]}return!0}h.update=function(p,k){if(typeof k!=\"number\"&&(k=-1),this.bind(),typeof p==\"object\"&&typeof p.shape!=\"undefined\"){var M=p.dtype;if(c.indexOf(M)<0&&(M=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var T=gl.getExtension(\"OES_element_index_uint\");T&&M!==\"uint16\"?M=\"uint32\":M=\"uint16\"}if(M===p.dtype&&m(p.shape,p.stride))p.offset===0&&p.data.length===p.shape[0]?this.length=d(this.gl,this.type,this.length,this.usage,p.data,k):this.length=d(this.gl,this.type,this.length,this.usage,p.data.subarray(p.offset,p.shape[0]),k);else{var L=s.malloc(p.size,M),x=u(L,p.shape);l.assign(x,p),k<0?this.length=d(this.gl,this.type,this.length,this.usage,L,k):this.length=d(this.gl,this.type,this.length,this.usage,L.subarray(0,p.size),k),s.free(L)}}else if(Array.isArray(p)){var C;this.type===this.gl.ELEMENT_ARRAY_BUFFER?C=v(p,\"uint16\"):C=v(p,\"float32\"),k<0?this.length=d(this.gl,this.type,this.length,this.usage,C,k):this.length=d(this.gl,this.type,this.length,this.usage,C.subarray(0,p.length),k),s.free(C)}else if(typeof p==\"object\"&&typeof p.length==\"number\")this.length=d(this.gl,this.type,this.length,this.usage,p,k);else if(typeof p==\"number\"||p===void 0){if(k>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");p=p|0,p<=0&&(p=1),this.gl.bufferData(this.type,p|0,this.usage),this.length=p}else throw new Error(\"gl-buffer: Invalid data type\")};function b(p,k,M,T){if(M=M||p.ARRAY_BUFFER,T=T||p.DYNAMIC_DRAW,M!==p.ARRAY_BUFFER&&M!==p.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(T!==p.DYNAMIC_DRAW&&T!==p.STATIC_DRAW&&T!==p.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 L=p.createBuffer(),x=new f(p,M,L,0,T);return x.update(k),x}i.exports=b},6405:function(i,a,o){\"use strict\";var s=o(2931);i.exports=function(u,c){var f=u.positions,h=u.vectors,d={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),d;for(var v=0,m=1/0,b=-1/0,p=1/0,k=-1/0,M=1/0,T=-1/0,L=null,x=null,C=[],S=1/0,g=!1,P=u.coneSizemode===\"raw\",E=0;Ev&&(v=s.length(q)),E&&!P){var U=2*s.distance(L,z)/(s.length(x)+s.length(q));U?(S=Math.min(S,U),g=!1):g=!0}g||(L=z,x=q),C.push(q)}var G=[m,p,M],Z=[b,k,T];c&&(c[0]=G,c[1]=Z),v===0&&(v=1);var j=1/v;isFinite(S)||(S=1),d.vectorScale=S;var N=u.coneSize||(P?1:.5);u.absoluteConeSize&&(N=u.absoluteConeSize*j),d.coneScale=N;for(var E=0,H=0;E=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(C){this.pickId=C};function k(C){for(var S=v({colormap:C,nshades:256,format:\"rgba\"}),g=new Uint8Array(256*4),P=0;P<256;++P){for(var E=S[P],z=0;z<3;++z)g[4*P+z]=E[z];g[4*P+3]=E[3]*255}return d(g,[256,256,4],[4,0,1])}function M(C){for(var S=C.length,g=new Array(S),P=0;P0){var H=this.triShader;H.bind(),H.uniforms=U,this.triangleVAO.bind(),S.drawArrays(S.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},p.drawPick=function(C){C=C||{};for(var S=this.gl,g=C.model||m,P=C.view||m,E=C.projection||m,z=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)z[0][q]=Math.max(z[0][q],this.clipBounds[0][q]),z[1][q]=Math.min(z[1][q],this.clipBounds[1][q]);this._model=[].slice.call(g),this._view=[].slice.call(P),this._projection=[].slice.call(E),this._resolution=[S.drawingBufferWidth,S.drawingBufferHeight];var U={model:g,view:P,projection:E,clipBounds:z,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},G=this.pickShader;G.bind(),G.uniforms=U,this.triangleCount>0&&(this.triangleVAO.bind(),S.drawArrays(S.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},p.pick=function(C){if(!C||C.id!==this.pickId)return null;var S=C.value[0]+256*C.value[1]+65536*C.value[2],g=this.cells[S],P=this.positions[g[1]].slice(0,3),E={position:P,dataCoordinate:P,index:Math.floor(g[1]/48)};return this.traceType===\"cone\"?E.index=Math.floor(g[1]/48):this.traceType===\"streamtube\"&&(E.intensity=this.intensity[g[1]],E.velocity=this.vectors[g[1]].slice(0,3),E.divergence=this.vectors[g[1]][3],E.index=S),E},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()};function T(C,S){var g=s(C,S.meshShader.vertex,S.meshShader.fragment,null,S.meshShader.attributes);return g.attributes.position.location=0,g.attributes.color.location=2,g.attributes.uv.location=3,g.attributes.vector.location=4,g}function L(C,S){var g=s(C,S.pickShader.vertex,S.pickShader.fragment,null,S.pickShader.attributes);return g.attributes.position.location=0,g.attributes.id.location=1,g.attributes.vector.location=4,g}function x(C,S,g){var P=g.shaders;arguments.length===1&&(S=C,C=S.gl);var E=T(C,P),z=L(C,P),q=c(C,d(new Uint8Array([255,255,255,255]),[1,1,4]));q.generateMipmap(),q.minFilter=C.LINEAR_MIPMAP_LINEAR,q.magFilter=C.LINEAR;var U=l(C),G=l(C),Z=l(C),j=l(C),N=l(C),H=u(C,[{buffer:U,type:C.FLOAT,size:4},{buffer:N,type:C.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:Z,type:C.FLOAT,size:4},{buffer:j,type:C.FLOAT,size:2},{buffer:G,type:C.FLOAT,size:4}]),re=new b(C,q,E,z,U,G,N,Z,j,H,g.traceType||\"cone\");return re.update(S),re}i.exports=x},614:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "vec3 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", + "//\n", + "vec3 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", + "\n", + "attribute vec3 vector;\n", + "attribute vec4 color, position;\n", + "attribute vec2 uv;\n", + "\n", + "uniform float vectorScale, coneScale, coneOffset;\n", + "uniform mat4 model, view, projection, inverseModel;\n", + "uniform vec3 eyePosition, lightPosition;\n", + "\n", + "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void 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", + "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "float 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", + "\n", + "float cookTorranceSpecular(\n", + " vec3 lightDirection,\n", + " vec3 viewDirection,\n", + " vec3 surfaceNormal,\n", + " float roughness,\n", + " float fresnel) {\n", + "\n", + " float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n", + " float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n", + "\n", + " //Half angle vector\n", + " vec3 H = normalize(lightDirection + viewDirection);\n", + "\n", + " //Geometric term\n", + " float NdotH = max(dot(surfaceNormal, H), 0.0);\n", + " float VdotH = max(dot(viewDirection, H), 0.000001);\n", + " float LdotH = max(dot(lightDirection, H), 0.000001);\n", + " float G1 = (2.0 * NdotH * VdotN) / VdotH;\n", + " float G2 = (2.0 * NdotH * LdotN) / LdotH;\n", + " float G = min(1.0, min(G1, G2));\n", + " \n", + " //Distribution term\n", + " float D = beckmannDistribution(NdotH, roughness);\n", + "\n", + " //Fresnel term\n", + " float F = pow(1.0 - VdotN, fresnel);\n", + "\n", + " //Multiply terms and done\n", + " return G * F * D / max(3.14159265 * VdotN, 0.000001);\n", + "}\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", + "uniform sampler2D texture;\n", + "\n", + "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void 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", + "`]),c=s([`precision highp float;\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "vec3 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", + "//\n", + "vec3 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", + "\n", + "attribute vec4 vector;\n", + "attribute vec4 position;\n", + "attribute vec4 id;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform float vectorScale, coneScale, coneOffset;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void 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", + "`]),f=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float pickId;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", + "\n", + " gl_FragColor = vec4(pickId, f_id.xyz);\n", + "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},737:function(i){i.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34e3:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},5171:function(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){\"use strict\";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,k,M,T){this.gl=p,this.shader=T,this.buffer=k,this.vao=M,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 h=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(p){var k=this.gl,M=this.shader.uniforms;this.shader.bind();var T=M.view=p.view||c,L=M.projection=p.projection||c;M.model=p.model||c,M.clipBounds=this.clipBounds,M.opacity=this.opacity;var x=T[12],C=T[13],S=T[14],g=T[15],P=p._ortho||!1,E=P?2:1,z=E*this.pixelRatio*(L[3]*x+L[7]*C+L[11]*S+L[15]*g)/k.drawingBufferHeight;this.vao.bind();for(var q=0;q<3;++q)k.lineWidth(this.lineWidth[q]*this.pixelRatio),M.capSize=this.capSize[q]*z,this.lineCount[q]&&k.drawArrays(k.LINES,this.lineOffset[q],this.lineCount[q]);this.vao.unbind()};function d(p,k){for(var M=0;M<3;++M)p[0][M]=Math.min(p[0][M],k[M]),p[1][M]=Math.max(p[1][M],k[M])}var v=function(){for(var p=new Array(3),k=0;k<3;++k){for(var M=[],T=1;T<=2;++T)for(var L=-1;L<=1;L+=2){var x=(T+k)%3,C=[0,0,0];C[x]=L,M.push(C)}p[k]=M}return p}();function m(p,k,M,T){for(var L=v[T],x=0;x0){var U=P.slice();U[S]+=z[1][S],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,U[0],U[1],U[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,U),C+=2+m(L,U,q,S)}}}this.lineCount[S]=C-this.lineOffset[S]}this.buffer.update(L)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(p){var k=p.gl,M=s(k),T=l(k,[{buffer:M,type:k.FLOAT,size:3,offset:0,stride:40},{buffer:M,type:k.FLOAT,size:4,offset:12,stride:40},{buffer:M,type:k.FLOAT,size:3,offset:28,stride:40}]),L=u(k);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var x=new f(k,M,T,L);return x.update(p),x}},3436:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position, offset;\n", + "attribute vec4 color;\n", + "uniform mat4 model, view, projection;\n", + "uniform float capSize;\n", + "varying vec4 fragColor;\n", + "varying vec3 fragPosition;\n", + "\n", + "void 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", + "}`]),c=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float opacity;\n", + "varying vec3 fragPosition;\n", + "varying vec4 fragColor;\n", + "\n", + "void main() {\n", + " if (\n", + " outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n", + " fragColor.a * opacity == 0.\n", + " ) discard;\n", + "\n", + " gl_FragColor = opacity * fragColor;\n", + "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},2260:function(i,a,o){\"use strict\";var s=o(7766);i.exports=C;var l=null,u,c,f,h;function d(S){var g=S.getParameter(S.FRAMEBUFFER_BINDING),P=S.getParameter(S.RENDERBUFFER_BINDING),E=S.getParameter(S.TEXTURE_BINDING_2D);return[g,P,E]}function v(S,g){S.bindFramebuffer(S.FRAMEBUFFER,g[0]),S.bindRenderbuffer(S.RENDERBUFFER,g[1]),S.bindTexture(S.TEXTURE_2D,g[2])}function m(S,g){var P=S.getParameter(g.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(P+1);for(var E=0;E<=P;++E){for(var z=new Array(P),q=0;q1&&G.drawBuffersWEBGL(l[U]);var re=P.getExtension(\"WEBGL_depth_texture\");re?Z?S.depth=p(P,z,q,re.UNSIGNED_INT_24_8_WEBGL,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):j&&(S.depth=p(P,z,q,P.UNSIGNED_SHORT,P.DEPTH_COMPONENT,P.DEPTH_ATTACHMENT)):j&&Z?S._depth_rb=k(P,z,q,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):j?S._depth_rb=k(P,z,q,P.DEPTH_COMPONENT16,P.DEPTH_ATTACHMENT):Z&&(S._depth_rb=k(P,z,q,P.STENCIL_INDEX,P.STENCIL_ATTACHMENT));var oe=P.checkFramebufferStatus(P.FRAMEBUFFER);if(oe!==P.FRAMEBUFFER_COMPLETE){S._destroyed=!0,P.bindFramebuffer(P.FRAMEBUFFER,null),P.deleteFramebuffer(S.handle),S.handle=null,S.depth&&(S.depth.dispose(),S.depth=null),S._depth_rb&&(P.deleteRenderbuffer(S._depth_rb),S._depth_rb=null);for(var H=0;Hz||P<0||P>z)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");S._shape[0]=g,S._shape[1]=P;for(var q=d(E),U=0;Uq||P<0||P>q)throw new Error(\"gl-fbo: Parameters are too large for FBO\");E=E||{};var U=1;if(\"color\"in E){if(U=Math.max(E.color|0,0),U<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(U>1)if(z){if(U>S.getParameter(z.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+U+\" draw buffers\")}else throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\")}var G=S.UNSIGNED_BYTE,Z=S.getExtension(\"OES_texture_float\");if(E.float&&U>0){if(!Z)throw new Error(\"gl-fbo: Context does not support floating point textures\");G=S.FLOAT}else E.preferFloat&&U>0&&Z&&(G=S.FLOAT);var j=!0;\"depth\"in E&&(j=!!E.depth);var N=!1;return\"stencil\"in E&&(N=!!E.stencil),new T(S,g,P,G,U,j,N,z)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);i.exports=f;function f(h,d,v){\"use strict\";var m=u(d)||\"of unknown name (see npm glsl-shader-name)\",b=\"unknown type\";v!==void 0&&(b=v===l.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var p=s(`Error compiling %s shader %s:\n", + "`,b,m),k=s(\"%s%s\",p,h),M=h.split(`\n", + "`),T={},L=0;L max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform sampler2D dashTexture;\n", + "uniform float dashScale;\n", + "uniform float opacity;\n", + "\n", + "varying vec3 worldPosition;\n", + "varying float pixelArcLength;\n", + "varying vec4 fragColor;\n", + "\n", + "void 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", + "`]),f=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "#define FLOAT_MAX 1.70141184e38\n", + "#define FLOAT_MIN 1.17549435e-38\n", + "\n", + "// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\n", + "vec4 packFloat(float v) {\n", + " float av = abs(v);\n", + "\n", + " //Handle special cases\n", + " if(av < FLOAT_MIN) {\n", + " return vec4(0.0, 0.0, 0.0, 0.0);\n", + " } else if(v > FLOAT_MAX) {\n", + " return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n", + " } else if(v < -FLOAT_MAX) {\n", + " return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n", + " }\n", + "\n", + " vec4 c = vec4(0,0,0,0);\n", + "\n", + " //Compute exponent and mantissa\n", + " float e = floor(log2(av));\n", + " float m = av * pow(2.0, -e) - 1.0;\n", + "\n", + " //Unpack mantissa\n", + " c[1] = floor(128.0 * m);\n", + " m -= c[1] / 128.0;\n", + " c[2] = floor(32768.0 * m);\n", + " m -= c[2] / 32768.0;\n", + " c[3] = floor(8388608.0 * m);\n", + "\n", + " //Unpack exponent\n", + " float ebias = e + 127.0;\n", + " c[0] = floor(ebias / 2.0);\n", + " ebias -= c[0] * 2.0;\n", + " c[1] += floor(ebias) * 128.0;\n", + "\n", + " //Unpack sign bit\n", + " c[0] += 128.0 * step(0.0, -v);\n", + "\n", + " //Scale back to range\n", + " return c / 255.0;\n", + "}\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform float pickId;\n", + "uniform vec3 clipBounds[2];\n", + "\n", + "varying vec3 worldPosition;\n", + "varying float pixelArcLength;\n", + "varying vec4 fragColor;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n", + "\n", + " gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n", + "}`]),h=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];a.createShader=function(d){return l(d,u,c,null,h)},a.createPickShader=function(d){return l(d,u,f,null,h)}},5714:function(i,a,o){\"use strict\";i.exports=S;var s=o(2762),l=o(8116),u=o(7766),c=new Uint8Array(4),f=new Float32Array(c.buffer);function h(g,P,E,z){return c[0]=z,c[1]=E,c[2]=P,c[3]=g,f[0]}var d=o(2478),v=o(9618),m=o(7319),b=m.createShader,p=m.createPickShader,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function M(g,P){for(var E=0,z=0;z<3;++z){var q=g[z]-P[z];E+=q*q}return Math.sqrt(E)}function T(g){for(var P=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],E=0;E<3;++E)P[0][E]=Math.max(g[0][E],P[0][E]),P[1][E]=Math.min(g[1][E],P[1][E]);return P}function L(g,P,E,z){this.arcLength=g,this.position=P,this.index=E,this.dataCoordinate=z}function x(g,P,E,z,q,U){this.gl=g,this.shader=P,this.pickShader=E,this.buffer=z,this.vao=q,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=U,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var C=x.prototype;C.isTransparent=function(){return this.hasAlpha},C.isOpaque=function(){return!this.hasAlpha},C.pickSlots=1,C.setPickBase=function(g){this.pickId=g},C.drawTransparent=C.draw=function(g){if(this.vertexCount){var P=this.gl,E=this.shader,z=this.vao;E.bind(),E.uniforms={model:g.model||k,view:g.view||k,projection:g.projection||k,clipBounds:T(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},z.bind(),z.draw(P.TRIANGLE_STRIP,this.vertexCount),z.unbind()}},C.drawPick=function(g){if(this.vertexCount){var P=this.gl,E=this.pickShader,z=this.vao;E.bind(),E.uniforms={model:g.model||k,view:g.view||k,projection:g.projection||k,pickId:this.pickId,clipBounds:T(this.clipBounds),screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},z.bind(),z.draw(P.TRIANGLE_STRIP,this.vertexCount),z.unbind()}},C.update=function(g){var P,E;this.dirty=!0;var z=!!g.connectGaps;\"dashScale\"in g&&(this.dashScale=g.dashScale),this.hasAlpha=!1,\"opacity\"in g&&(this.opacity=+g.opacity,this.opacity<1&&(this.hasAlpha=!0));var q=[],U=[],G=[],Z=0,j=0,N=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],H=g.position||g.positions;if(H){var re=g.color||g.colors||[0,0,0,1],oe=g.lineWidth||1,_e=!1;e:for(P=1;P0){for(var ge=0;ge<24;++ge)q.push(q[q.length-12]);j+=2,_e=!0}continue e}N[0][E]=Math.min(N[0][E],ke[E],Ce[E]),N[1][E]=Math.max(N[1][E],ke[E],Ce[E])}var ie,Se;Array.isArray(re[0])?(ie=re.length>P-1?re[P-1]:re.length>0?re[re.length-1]:[0,0,0,1],Se=re.length>P?re[P]:re.length>0?re[re.length-1]:[0,0,0,1]):ie=Se=re,ie.length===3&&(ie=[ie[0],ie[1],ie[2],1]),Se.length===3&&(Se=[Se[0],Se[1],Se[2],1]),!this.hasAlpha&&ie[3]<1&&(this.hasAlpha=!0);var Ee;Array.isArray(oe)?Ee=oe.length>P-1?oe[P-1]:oe.length>0?oe[oe.length-1]:[0,0,0,1]:Ee=oe;var we=Z;if(Z+=M(ke,Ce),_e){for(E=0;E<2;++E)q.push(ke[0],ke[1],ke[2],Ce[0],Ce[1],Ce[2],we,Ee,ie[0],ie[1],ie[2],ie[3]);j+=2,_e=!1}q.push(ke[0],ke[1],ke[2],Ce[0],Ce[1],Ce[2],we,Ee,ie[0],ie[1],ie[2],ie[3],ke[0],ke[1],ke[2],Ce[0],Ce[1],Ce[2],we,-Ee,ie[0],ie[1],ie[2],ie[3],Ce[0],Ce[1],Ce[2],ke[0],ke[1],ke[2],Z,-Ee,Se[0],Se[1],Se[2],Se[3],Ce[0],Ce[1],Ce[2],ke[0],ke[1],ke[2],Z,Ee,Se[0],Se[1],Se[2],Se[3]),j+=4}}if(this.buffer.update(q),U.push(Z),G.push(H[H.length-1].slice()),this.bounds=N,this.vertexCount=j,this.points=G,this.arcLength=U,\"dashes\"in g){var De=g.dashes,Le=De.slice();for(Le.unshift(0),P=1;P1.0001)return null;E+=P[L]}return Math.abs(E-1)>.001?null:[x,h(v,P),P]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position, normal;\n", + "attribute vec4 color;\n", + "attribute vec2 uv;\n", + "\n", + "uniform mat4 model\n", + " , view\n", + " , projection\n", + " , inverseModel;\n", + "uniform vec3 eyePosition\n", + " , lightPosition;\n", + "\n", + "varying vec3 f_normal\n", + " , f_lightDirection\n", + " , f_eyeDirection\n", + " , f_data;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "vec4 project(vec3 p) {\n", + " return projection * (view * (model * vec4(p, 1.0)));\n", + "}\n", + "\n", + "void main() {\n", + " gl_Position = project(position);\n", + "\n", + " //Lighting geometry parameters\n", + " vec4 cameraCoordinate = view * vec4(position , 1.0);\n", + " cameraCoordinate.xyz /= cameraCoordinate.w;\n", + " f_lightDirection = lightPosition - cameraCoordinate.xyz;\n", + " f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n", + " f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n", + "\n", + " f_color = color;\n", + " f_data = position;\n", + " f_uv = uv;\n", + "}\n", + "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "float 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", + "\n", + "float cookTorranceSpecular(\n", + " vec3 lightDirection,\n", + " vec3 viewDirection,\n", + " vec3 surfaceNormal,\n", + " float roughness,\n", + " float fresnel) {\n", + "\n", + " float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n", + " float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n", + "\n", + " //Half angle vector\n", + " vec3 H = normalize(lightDirection + viewDirection);\n", + "\n", + " //Geometric term\n", + " float NdotH = max(dot(surfaceNormal, H), 0.0);\n", + " float VdotH = max(dot(viewDirection, H), 0.000001);\n", + " float LdotH = max(dot(lightDirection, H), 0.000001);\n", + " float G1 = (2.0 * NdotH * VdotN) / VdotH;\n", + " float G2 = (2.0 * NdotH * LdotN) / LdotH;\n", + " float G = min(1.0, min(G1, G2));\n", + " \n", + " //Distribution term\n", + " float D = beckmannDistribution(NdotH, roughness);\n", + "\n", + " //Fresnel term\n", + " float F = pow(1.0 - VdotN, fresnel);\n", + "\n", + " //Multiply terms and done\n", + " return G * F * D / max(3.14159265 * VdotN, 0.000001);\n", + "}\n", + "\n", + "//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float roughness\n", + " , fresnel\n", + " , kambient\n", + " , kdiffuse\n", + " , kspecular;\n", + "uniform sampler2D texture;\n", + "\n", + "varying vec3 f_normal\n", + " , f_lightDirection\n", + " , f_eyeDirection\n", + " , f_data;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void 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", + "`]),c=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 color;\n", + "attribute vec2 uv;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "\n", + "varying vec4 f_color;\n", + "varying vec3 f_data;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", + " f_color = color;\n", + " f_data = position;\n", + " f_uv = uv;\n", + "}`]),f=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform sampler2D texture;\n", + "uniform float opacity;\n", + "\n", + "varying vec4 f_color;\n", + "varying vec3 f_data;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n", + "\n", + " gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n", + "}`]),h=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 color;\n", + "attribute vec2 uv;\n", + "attribute float pointSize;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform vec3 clipBounds[2];\n", + "\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void 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", + "}`]),d=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "uniform sampler2D texture;\n", + "uniform float opacity;\n", + "\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void 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", + "}`]),v=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 id;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", + " f_id = id;\n", + " f_position = position;\n", + "}`]),m=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float pickId;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", + "\n", + " gl_FragColor = vec4(pickId, f_id.xyz);\n", + "}`]),b=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "attribute vec3 position;\n", + "attribute float pointSize;\n", + "attribute vec4 id;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform vec3 clipBounds[2];\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void 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=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "\n", + "void main() {\n", + " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", + "}`]),k=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "uniform vec3 contourColor;\n", + "\n", + "void main() {\n", + " gl_FragColor = vec4(contourColor, 1.0);\n", + "}\n", + "`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.wireShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.pointShader={vertex:h,fragment:d,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},a.pickShader={vertex:v,fragment:m,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},a.pointPickShader={vertex:b,fragment:m,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},a.contourShader={vertex:p,fragment:k,attributes:[{name:\"position\",type:\"vec3\"}]}},7201:function(i,a,o){\"use strict\";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),d=o(8406),v=o(6760),m=o(7608),b=o(9618),p=o(6729),k=o(7765),M=o(1888),T=o(840),L=o(7626),x=T.meshShader,C=T.wireShader,S=T.pointShader,g=T.pickShader,P=T.pointPickShader,E=T.contourShader,z=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function q(ge,ie,Se,Ee,we,De,Le,me,Pe,ce,He,lt,mt,Vt,st,ct,Qt,Ht,nr,tt,je,Ue,Ae,rt,St,Tt,dt){this.gl=ge,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=ie,this.dirty=!0,this.triShader=Se,this.lineShader=Ee,this.pointShader=we,this.pickShader=De,this.pointPickShader=Le,this.contourShader=me,this.trianglePositions=Pe,this.triangleColors=He,this.triangleNormals=mt,this.triangleUVs=lt,this.triangleIds=ce,this.triangleVAO=Vt,this.triangleCount=0,this.lineWidth=1,this.edgePositions=st,this.edgeColors=Qt,this.edgeUVs=Ht,this.edgeIds=ct,this.edgeVAO=nr,this.edgeCount=0,this.pointPositions=tt,this.pointColors=Ue,this.pointUVs=Ae,this.pointSizes=rt,this.pointIds=je,this.pointVAO=St,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Tt,this.contourVAO=dt,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=z,this._view=z,this._projection=z,this._resolution=[1,1]}var U=q.prototype;U.isOpaque=function(){return!this.hasAlpha},U.isTransparent=function(){return this.hasAlpha},U.pickSlots=1,U.setPickBase=function(ge){this.pickId=ge};function G(ge,ie){if(!ie||!ie.length)return 1;for(var Se=0;Sege&&Se>0){var Ee=(ie[Se][0]-ge)/(ie[Se][0]-ie[Se-1][0]);return ie[Se][1]*(1-Ee)+Ee*ie[Se-1][1]}}return 1}function Z(ge,ie){for(var Se=p({colormap:ge,nshades:256,format:\"rgba\"}),Ee=new Uint8Array(256*4),we=0;we<256;++we){for(var De=Se[we],Le=0;Le<3;++Le)Ee[4*we+Le]=De[Le];ie?Ee[4*we+3]=255*G(we/255,ie):Ee[4*we+3]=255*De[3]}return b(Ee,[256,256,4],[4,0,1])}function j(ge){for(var ie=ge.length,Se=new Array(ie),Ee=0;Ee0){var mt=this.triShader;mt.bind(),mt.uniforms=me,this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var mt=this.lineShader;mt.bind(),mt.uniforms=me,this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var mt=this.pointShader;mt.bind(),mt.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var mt=this.contourShader;mt.bind(),mt.uniforms=me,this.contourVAO.bind(),ie.drawArrays(ie.LINES,0,this.contourCount),this.contourVAO.unbind()}},U.drawPick=function(ge){ge=ge||{};for(var ie=this.gl,Se=ge.model||z,Ee=ge.view||z,we=ge.projection||z,De=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Le=0;Le<3;++Le)De[0][Le]=Math.max(De[0][Le],this.clipBounds[0][Le]),De[1][Le]=Math.min(De[1][Le],this.clipBounds[1][Le]);this._model=[].slice.call(Se),this._view=[].slice.call(Ee),this._projection=[].slice.call(we),this._resolution=[ie.drawingBufferWidth,ie.drawingBufferHeight];var me={model:Se,view:Ee,projection:we,clipBounds:De,pickId:this.pickId/255},Pe=this.pickShader;if(Pe.bind(),Pe.uniforms=me,this.triangleCount>0&&(this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Pe=this.pointPickShader;Pe.bind(),Pe.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}},U.pick=function(ge){if(!ge||ge.id!==this.pickId)return null;for(var ie=ge.value[0]+256*ge.value[1]+65536*ge.value[2],Se=this.cells[ie],Ee=this.positions,we=new Array(Se.length),De=0;DeMath.abs(g))p.rotate(z,0,0,-S*P*Math.PI*x.rotateSpeed/window.innerWidth);else if(!x._ortho){var q=-x.zoomSpeed*E*g/window.innerHeight*(z-p.lastT())/20;p.pan(z,0,0,M*(Math.exp(q)-1))}}},!0)},x.enableMouseListeners(),x}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", + "#define GLSLIFY 1\n", + "attribute vec2 position;\n", + "varying vec2 uv;\n", + "void main() {\n", + " uv = position;\n", + " gl_Position = vec4(position, 0, 1);\n", + "}`]),c=s([`precision mediump float;\n", + "#define GLSLIFY 1\n", + "\n", + "uniform sampler2D accumBuffer;\n", + "varying vec2 uv;\n", + "\n", + "void main() {\n", + " vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n", + " gl_FragColor = min(vec4(1,1,1,1), accum);\n", + "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec2\"}])}},4100:function(i,a,o){\"use strict\";var s=o(4437),l=o(3837),u=o(5445),c=o(4449),f=o(3589),h=o(2260),d=o(7169),v=o(351),m=o(4772),b=o(4040),p=o(799),k=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:C,createCamera:s};function M(){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 T(g,P){var E=null;try{E=g.getContext(\"webgl\",P),E||(E=g.getContext(\"experimental-webgl\",P))}catch(z){return null}return E}function L(g){var P=Math.round(Math.log(Math.abs(g))/Math.log(10));if(P<0){var E=Math.round(Math.pow(10,-P));return Math.ceil(g*E)/E}else if(P>0){var E=Math.round(Math.pow(10,P));return Math.ceil(g/E)*E}return Math.ceil(g)}function x(g){return typeof g==\"boolean\"?g:!0}function C(g){g=g||{},g.camera=g.camera||{};var P=g.canvas;if(!P)if(P=document.createElement(\"canvas\"),g.container){var E=g.container;E.appendChild(P)}else document.body.appendChild(P);var z=g.gl;if(z||(g.glOptions&&(k=!!g.glOptions.preserveDrawingBuffer),z=T(P,g.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:k})),!z)throw new Error(\"webgl not supported\");var q=g.bounds||[[-10,-10,-10],[10,10,10]],U=new M,G=h(z,z.drawingBufferWidth,z.drawingBufferHeight,{preferFloat:!k}),Z=p(z),j=g.cameraObject&&g.cameraObject._ortho===!0||g.camera.projection&&g.camera.projection.type===\"orthographic\"||!1,N={eye:g.camera.eye||[2,0,0],center:g.camera.center||[0,0,0],up:g.camera.up||[0,1,0],zoomMin:g.camera.zoomMax||.1,zoomMax:g.camera.zoomMin||100,mode:g.camera.mode||\"turntable\",_ortho:j},H=g.axes||{},re=l(z,H);re.enable=!H.disable;var oe=g.spikes||{},_e=c(z,oe),ke=[],Ce=[],ge=[],ie=[],Se=!0,Le=!0,Ee=new Array(16),we=new Array(16),De={view:null,projection:Ee,model:we,_ortho:!1},Le=!0,me=[z.drawingBufferWidth,z.drawingBufferHeight],Pe=g.cameraObject||s(P,N),ce={gl:z,contextLost:!1,pixelRatio:g.pixelRatio||1,canvas:P,selection:U,camera:Pe,axes:re,axesPixels:null,spikes:_e,bounds:q,objects:ke,shape:me,aspect:g.aspectRatio||[1,1,1],pickRadius:g.pickRadius||10,zNear:g.zNear||.01,zFar:g.zFar||1e3,fovy:g.fovy||Math.PI/4,clearColor:g.clearColor||[0,0,0,0],autoResize:x(g.autoResize),autoBounds:x(g.autoBounds),autoScale:!!g.autoScale,autoCenter:x(g.autoCenter),clipToBounds:x(g.clipToBounds),snapToData:!!g.snapToData,onselect:g.onselect||null,onrender:g.onrender||null,onclick:g.onclick||null,cameraParams:De,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(tt){this.aspect[0]=tt.x,this.aspect[1]=tt.y,this.aspect[2]=tt.z,Le=!0},setBounds:function(tt,je){this.bounds[0][tt]=je.min,this.bounds[1][tt]=je.max},setClearColor:function(tt){this.clearColor=tt},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},He=[z.drawingBufferWidth/ce.pixelRatio|0,z.drawingBufferHeight/ce.pixelRatio|0];function lt(){if(!ce._stopped&&ce.autoResize){var tt=P.parentNode,je=1,Ue=1;tt&&tt!==document.body?(je=tt.clientWidth,Ue=tt.clientHeight):(je=window.innerWidth,Ue=window.innerHeight);var Ae=Math.ceil(je*ce.pixelRatio)|0,rt=Math.ceil(Ue*ce.pixelRatio)|0;if(Ae!==P.width||rt!==P.height){P.width=Ae,P.height=rt;var St=P.style;St.position=St.position||\"absolute\",St.left=\"0px\",St.top=\"0px\",St.width=je+\"px\",St.height=Ue+\"px\",Se=!0}}}ce.autoResize&<(),window.addEventListener(\"resize\",lt);function mt(){for(var tt=ke.length,je=ie.length,Ue=0;Ue0&&ge[je-1]===0;)ge.pop(),ie.pop().dispose()}ce.update=function(tt){ce._stopped||(tt=tt||{},Se=!0,Le=!0)},ce.add=function(tt){ce._stopped||(tt.axes=re,ke.push(tt),Ce.push(-1),Se=!0,Le=!0,mt())},ce.remove=function(tt){if(!ce._stopped){var je=ke.indexOf(tt);je<0||(ke.splice(je,1),Ce.pop(),Se=!0,Le=!0,mt())}},ce.dispose=function(){if(!ce._stopped&&(ce._stopped=!0,window.removeEventListener(\"resize\",lt),P.removeEventListener(\"webglcontextlost\",Vt),ce.mouseListener.enabled=!1,!ce.contextLost)){re.dispose(),_e.dispose();for(var tt=0;ttU.distance)continue;for(var pt=0;pt1e-6?(k=Math.acos(M),T=Math.sin(k),L=Math.sin((1-u)*k)/T,x=Math.sin(u*k)/T):(L=1-u,x=u),o[0]=L*c+x*v,o[1]=L*f+x*m,o[2]=L*h+x*b,o[3]=L*d+x*p,o}},5964:function(i){\"use strict\";i.exports=function(a){return!a&&a!==0?\"\":a.toString()}},9366:function(i,a,o){\"use strict\";var s=o(4359);i.exports=u;var l={};function u(c,f,h){var d=[f.style,f.weight,f.variant,f.family].join(\"_\"),v=l[d];if(v||(v=l[d]={}),c in v)return v[c];var m={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};m.triangles=!0;var b=s(c,m);m.triangles=!1;var p=s(c,m),k,M;if(h&&h!==1){for(k=0;k max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 color;\n", + "attribute vec2 glyph;\n", + "attribute vec4 id;\n", + "\n", + "uniform vec4 highlightId;\n", + "uniform float highlightScale;\n", + "uniform mat4 model, view, projection;\n", + "uniform vec3 clipBounds[2];\n", + "\n", + "varying vec4 interpColor;\n", + "varying vec4 pickId;\n", + "varying vec3 dataCoordinate;\n", + "\n", + "void 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", + "}`]),c=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 color;\n", + "attribute vec2 glyph;\n", + "attribute vec4 id;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform vec2 screenSize;\n", + "uniform vec3 clipBounds[2];\n", + "uniform float highlightScale, pixelRatio;\n", + "uniform vec4 highlightId;\n", + "\n", + "varying vec4 interpColor;\n", + "varying vec4 pickId;\n", + "varying vec3 dataCoordinate;\n", + "\n", + "void 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", + "}`]),f=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 color;\n", + "attribute vec2 glyph;\n", + "attribute vec4 id;\n", + "\n", + "uniform float highlightScale;\n", + "uniform vec4 highlightId;\n", + "uniform vec3 axes[2];\n", + "uniform mat4 model, view, projection;\n", + "uniform vec2 screenSize;\n", + "uniform vec3 clipBounds[2];\n", + "uniform float scale, pixelRatio;\n", + "\n", + "varying vec4 interpColor;\n", + "varying vec4 pickId;\n", + "varying vec3 dataCoordinate;\n", + "\n", + "void 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", + "`]),h=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 fragClipBounds[2];\n", + "uniform float opacity;\n", + "\n", + "varying vec4 interpColor;\n", + "varying vec3 dataCoordinate;\n", + "\n", + "void main() {\n", + " if (\n", + " outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n", + " interpColor.a * opacity == 0.\n", + " ) discard;\n", + " gl_FragColor = interpColor * opacity;\n", + "}\n", + "`]),d=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 fragClipBounds[2];\n", + "uniform float pickGroup;\n", + "\n", + "varying vec4 pickId;\n", + "varying vec3 dataCoordinate;\n", + "\n", + "void main() {\n", + " if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n", + "\n", + " gl_FragColor = vec4(pickGroup, pickId.bgr);\n", + "}`]),v=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],m={vertex:u,fragment:h,attributes:v},b={vertex:c,fragment:h,attributes:v},p={vertex:f,fragment:h,attributes:v},k={vertex:u,fragment:d,attributes:v},M={vertex:c,fragment:d,attributes:v},T={vertex:f,fragment:d,attributes:v};function L(x,C){var S=s(x,C),g=S.attributes;return g.position.location=0,g.color.location=1,g.glyph.location=2,g.id.location=3,S}a.createPerspective=function(x){return L(x,m)},a.createOrtho=function(x){return L(x,b)},a.createProject=function(x){return L(x,p)},a.createPickPerspective=function(x){return L(x,k)},a.createPickOrtho=function(x){return L(x,M)},a.createPickProject=function(x){return L(x,T)}},8418:function(i,a,o){\"use strict\";var s=o(5219),l=o(2762),u=o(8116),c=o(1888),f=o(6760),h=o(1283),d=o(9366),v=o(5964),m=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],b=ArrayBuffer,p=DataView;function k(we){return b.isView(we)&&!(we instanceof p)}function M(we){return Array.isArray(we)||k(we)}i.exports=Ee;function T(we,De){var Le=we[0],me=we[1],Pe=we[2],ce=we[3];return we[0]=De[0]*Le+De[4]*me+De[8]*Pe+De[12]*ce,we[1]=De[1]*Le+De[5]*me+De[9]*Pe+De[13]*ce,we[2]=De[2]*Le+De[6]*me+De[10]*Pe+De[14]*ce,we[3]=De[3]*Le+De[7]*me+De[11]*Pe+De[15]*ce,we}function L(we,De,Le,me){return T(me,me,Le),T(me,me,De),T(me,me,we)}function x(we,De){this.index=we,this.dataCoordinate=this.position=De}function C(we){return we===!0||we>1?1:we}function S(we,De,Le,me,Pe,ce,He,lt,mt,Vt,st,ct){this.gl=we,this.pixelRatio=1,this.shader=De,this.orthoShader=Le,this.projectShader=me,this.pointBuffer=Pe,this.colorBuffer=ce,this.glyphBuffer=He,this.idBuffer=lt,this.vao=mt,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=Vt,this.pickOrthoShader=st,this.pickProjectShader=ct,this.points=[],this._selectResult=new x(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}var g=S.prototype;g.pickSlots=1,g.setPickBase=function(we){this.pickId=we},g.isTransparent=function(){if(this.hasAlpha)return!0;for(var we=0;we<3;++we)if(this.axesProject[we]&&this.projectHasAlpha)return!0;return!1},g.isOpaque=function(){if(!this.hasAlpha)return!0;for(var we=0;we<3;++we)if(this.axesProject[we]&&!this.projectHasAlpha)return!0;return!1};var P=[0,0],E=[0,0,0],z=[0,0,0],q=[0,0,0,1],U=[0,0,0,1],G=m.slice(),Z=[0,0,0],j=[[0,0,0],[0,0,0]];function N(we){return we[0]=we[1]=we[2]=0,we}function H(we,De){return we[0]=De[0],we[1]=De[1],we[2]=De[2],we[3]=1,we}function re(we,De,Le,me){return we[0]=De[0],we[1]=De[1],we[2]=De[2],we[Le]=me,we}function oe(we){for(var De=j,Le=0;Le<2;++Le)for(var me=0;me<3;++me)De[Le][me]=Math.max(Math.min(we[Le][me],1e8),-1e8);return De}function _e(we,De,Le,me){var Pe=De.axesProject,ce=De.gl,He=we.uniforms,lt=Le.model||m,mt=Le.view||m,Vt=Le.projection||m,st=De.axesBounds,ct=oe(De.clipBounds),Qt;De.axes&&De.axes.lastCubeProps?Qt=De.axes.lastCubeProps.axis:Qt=[1,1,1],P[0]=2/ce.drawingBufferWidth,P[1]=2/ce.drawingBufferHeight,we.bind(),He.view=mt,He.projection=Vt,He.screenSize=P,He.highlightId=De.highlightId,He.highlightScale=De.highlightScale,He.clipBounds=ct,He.pickGroup=De.pickId/255,He.pixelRatio=me;for(var Ht=0;Ht<3;++Ht)if(Pe[Ht]){He.scale=De.projectScale[Ht],He.opacity=De.projectOpacity[Ht];for(var nr=G,tt=0;tt<16;++tt)nr[tt]=0;for(var tt=0;tt<4;++tt)nr[5*tt]=1;nr[5*Ht]=0,Qt[Ht]<0?nr[12+Ht]=st[0][Ht]:nr[12+Ht]=st[1][Ht],f(nr,lt,nr),He.model=nr;var je=(Ht+1)%3,Ue=(Ht+2)%3,Ae=N(E),rt=N(z);Ae[je]=1,rt[Ue]=1;var St=L(Vt,mt,lt,H(q,Ae)),Tt=L(Vt,mt,lt,H(U,rt));if(Math.abs(St[1])>Math.abs(Tt[1])){var dt=St;St=Tt,Tt=dt,dt=Ae,Ae=rt,rt=dt;var Et=je;je=Ue,Ue=Et}St[0]<0&&(Ae[je]=-1),Tt[1]>0&&(rt[Ue]=-1);for(var pt=0,Xt=0,tt=0;tt<4;++tt)pt+=Math.pow(lt[4*je+tt],2),Xt+=Math.pow(lt[4*Ue+tt],2);Ae[je]/=Math.sqrt(pt),rt[Ue]/=Math.sqrt(Xt),He.axes[0]=Ae,He.axes[1]=rt,He.fragClipBounds[0]=re(Z,ct[0],Ht,-1e8),He.fragClipBounds[1]=re(Z,ct[1],Ht,1e8),De.vao.bind(),De.vao.draw(ce.TRIANGLES,De.vertexCount),De.lineWidth>0&&(ce.lineWidth(De.lineWidth*me),De.vao.draw(ce.LINES,De.lineVertexCount,De.vertexCount)),De.vao.unbind()}}var ke=[-1e8,-1e8,-1e8],Ce=[1e8,1e8,1e8],ge=[ke,Ce];function ie(we,De,Le,me,Pe,ce,He){var lt=Le.gl;if((ce===Le.projectHasAlpha||He)&&_e(De,Le,me,Pe),ce===Le.hasAlpha||He){we.bind();var mt=we.uniforms;mt.model=me.model||m,mt.view=me.view||m,mt.projection=me.projection||m,P[0]=2/lt.drawingBufferWidth,P[1]=2/lt.drawingBufferHeight,mt.screenSize=P,mt.highlightId=Le.highlightId,mt.highlightScale=Le.highlightScale,mt.fragClipBounds=ge,mt.clipBounds=Le.axes.bounds,mt.opacity=Le.opacity,mt.pickGroup=Le.pickId/255,mt.pixelRatio=Pe,Le.vao.bind(),Le.vao.draw(lt.TRIANGLES,Le.vertexCount),Le.lineWidth>0&&(lt.lineWidth(Le.lineWidth*Pe),Le.vao.draw(lt.LINES,Le.lineVertexCount,Le.vertexCount)),Le.vao.unbind()}}g.draw=function(we){var De=this.useOrtho?this.orthoShader:this.shader;ie(De,this.projectShader,this,we,this.pixelRatio,!1,!1)},g.drawTransparent=function(we){var De=this.useOrtho?this.orthoShader:this.shader;ie(De,this.projectShader,this,we,this.pixelRatio,!0,!1)},g.drawPick=function(we){var De=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;ie(De,this.pickProjectShader,this,we,1,!0,!0)},g.pick=function(we){if(!we||we.id!==this.pickId)return null;var De=we.value[2]+(we.value[1]<<8)+(we.value[0]<<16);if(De>=this.pointCount||De<0)return null;var Le=this.points[De],me=this._selectResult;me.index=De;for(var Pe=0;Pe<3;++Pe)me.position[Pe]=me.dataCoordinate[Pe]=Le[Pe];return me},g.highlight=function(we){if(!we)this.highlightId=[1,1,1,1];else{var De=we.index,Le=De&255,me=De>>8&255,Pe=De>>16&255;this.highlightId=[Le/255,me/255,Pe/255,0]}};function Se(we,De,Le,me){var Pe;M(we)?De0){var jr=0,gt=Ue,Ge=[0,0,0,1],Je=[0,0,0,1],We=M(Qt)&&M(Qt[0]),et=M(tt)&&M(tt[0]);e:for(var me=0;me0?1-Xt[0][0]:Ir<0?1+Xt[1][0]:1,Yr*=Yr>0?1-Xt[0][1]:Yr<0?1+Xt[1][1]:1;for(var _i=[Ir,Yr],Fn=Et.cells||[],An=Et.positions||[],Tt=0;Ttthis.buffer.length){l.free(this.buffer);for(var M=this.buffer=l.mallocUint8(c(k*p*4)),T=0;TM)for(p=M;pk)for(p=k;p=0){for(var j=Z.type.charAt(Z.type.length-1)|0,N=new Array(j),H=0;H=0;)re+=1;U[G]=re}var oe=new Array(M.length);function _e(){x.program=c.program(C,x._vref,x._fref,q,U);for(var ke=0;ke=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+x+\": \"+C);f(v,m,S[0],p,g,k,x)}else if(C.indexOf(\"mat\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+x+\": \"+C);h(v,m,S,p,g,k,x)}else throw new s(\"\",\"Unknown data type for attribute \"+x+\": \"+C);break}}return k}},3327:function(i,a,o){\"use strict\";var s=o(216),l=o(8866);i.exports=f;function u(h){return function(){return h}}function c(h,d){for(var v=new Array(h),m=0;m4)throw new l(\"\",\"Invalid data type\");switch(re.charAt(0)){case\"b\":case\"i\":h[\"uniform\"+oe+\"iv\"](m[U],G);break;case\"v\":h[\"uniform\"+oe+\"fv\"](m[U],G);break;default:throw new l(\"\",\"Unrecognized data type for vector \"+name+\": \"+re)}}else if(re.indexOf(\"mat\")===0&&re.length===4){if(oe=re.charCodeAt(re.length-1)-48,oe<2||oe>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+re);h[\"uniformMatrix\"+oe+\"fv\"](m[U],!1,G);break}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+re)}}}}}function k(C,S){if(typeof S!=\"object\")return[[C,S]];var g=[];for(var P in S){var E=S[P],z=C;parseInt(P)+\"\"===P?z+=\"[\"+P+\"]\":z+=\".\"+P,typeof E==\"object\"?g.push.apply(g,k(z,E)):g.push([z,E])}return g}function M(C){switch(C){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var S=C.indexOf(\"vec\");if(0<=S&&S<=1&&C.length===4+S){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid data type\");return C.charAt(0)===\"b\"?c(g,!1):c(g,0)}else if(C.indexOf(\"mat\")===0&&C.length===4){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+C);return c(g*g,0)}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+C)}}function T(C,S,g){if(typeof g==\"object\"){var P=L(g);Object.defineProperty(C,S,{get:u(P),set:p(g),enumerable:!0,configurable:!1})}else m[g]?Object.defineProperty(C,S,{get:b(g),set:p(g),enumerable:!0,configurable:!1}):C[S]=M(v[g].type)}function L(C){var S;if(Array.isArray(C)){S=new Array(C.length);for(var g=0;g1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var m=1;m1)for(var k=0;k 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", + "//\n", + "vec3 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", + "\n", + "attribute vec4 vector;\n", + "attribute vec4 color, position;\n", + "attribute vec2 uv;\n", + "\n", + "uniform float vectorScale, tubeScale;\n", + "uniform mat4 model, view, projection, inverseModel;\n", + "uniform vec3 eyePosition, lightPosition;\n", + "\n", + "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void 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", + "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "float 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", + "\n", + "float cookTorranceSpecular(\n", + " vec3 lightDirection,\n", + " vec3 viewDirection,\n", + " vec3 surfaceNormal,\n", + " float roughness,\n", + " float fresnel) {\n", + "\n", + " float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n", + " float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n", + "\n", + " //Half angle vector\n", + " vec3 H = normalize(lightDirection + viewDirection);\n", + "\n", + " //Geometric term\n", + " float NdotH = max(dot(surfaceNormal, H), 0.0);\n", + " float VdotH = max(dot(viewDirection, H), 0.000001);\n", + " float LdotH = max(dot(lightDirection, H), 0.000001);\n", + " float G1 = (2.0 * NdotH * VdotN) / VdotH;\n", + " float G2 = (2.0 * NdotH * LdotN) / LdotH;\n", + " float G = min(1.0, min(G1, G2));\n", + " \n", + " //Distribution term\n", + " float D = beckmannDistribution(NdotH, roughness);\n", + "\n", + " //Fresnel term\n", + " float F = pow(1.0 - VdotN, fresnel);\n", + "\n", + " //Multiply terms and done\n", + " return G * F * D / max(3.14159265 * VdotN, 0.000001);\n", + "}\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", + "uniform sampler2D texture;\n", + "\n", + "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void 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", + "`]),c=s([`precision highp float;\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "vec3 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", + "//\n", + "vec3 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", + "\n", + "attribute vec4 vector;\n", + "attribute vec4 position;\n", + "attribute vec4 id;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform float tubeScale;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void 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", + "`]),f=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float pickId;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", + "\n", + " gl_FragColor = vec4(pickId, f_id.xyz);\n", + "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7815:function(i,a,o){\"use strict\";var s=o(2931),l=o(9970),u=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],c=function(T,L,x,C){for(var S=T.points,g=T.velocities,P=T.divergences,E=[],z=[],q=[],U=[],G=[],Z=[],j=0,N=0,H=l.create(),re=l.create(),oe=8,_e=0;_e0)for(var ie=0;ieL)return C-1}return C},d=function(T,L,x){return Tx?x:T},v=function(T,L,x){var C=L.vectors,S=L.meshgrid,g=T[0],P=T[1],E=T[2],z=S[0].length,q=S[1].length,U=S[2].length,G=h(S[0],g),Z=h(S[1],P),j=h(S[2],E),N=G+1,H=Z+1,re=j+1;if(G=d(G,0,z-1),N=d(N,0,z-1),Z=d(Z,0,q-1),H=d(H,0,q-1),j=d(j,0,U-1),re=d(re,0,U-1),G<0||Z<0||j<0||N>z-1||H>q-1||re>U-1)return s.create();var oe=S[0][G],_e=S[0][N],ke=S[1][Z],Ce=S[1][H],ge=S[2][j],ie=S[2][re],Se=(g-oe)/(_e-oe),Ee=(P-ke)/(Ce-ke),we=(E-ge)/(ie-ge);isFinite(Se)||(Se=.5),isFinite(Ee)||(Ee=.5),isFinite(we)||(we=.5);var De,Le,me,Pe,ce,He;switch(x.reversedX&&(G=z-1-G,N=z-1-N),x.reversedY&&(Z=q-1-Z,H=q-1-H),x.reversedZ&&(j=U-1-j,re=U-1-re),x.filled){case 5:ce=j,He=re,me=Z*U,Pe=H*U,De=G*U*q,Le=N*U*q;break;case 4:ce=j,He=re,De=G*U,Le=N*U,me=Z*U*z,Pe=H*U*z;break;case 3:me=Z,Pe=H,ce=j*q,He=re*q,De=G*q*U,Le=N*q*U;break;case 2:me=Z,Pe=H,De=G*q,Le=N*q,ce=j*q*z,He=re*q*z;break;case 1:De=G,Le=N,ce=j*z,He=re*z,me=Z*z*U,Pe=H*z*U;break;default:De=G,Le=N,me=Z*z,Pe=H*z,ce=j*z*q,He=re*z*q;break}var lt=C[De+me+ce],mt=C[De+me+He],Vt=C[De+Pe+ce],st=C[De+Pe+He],ct=C[Le+me+ce],Qt=C[Le+me+He],Ht=C[Le+Pe+ce],nr=C[Le+Pe+He],tt=s.create(),je=s.create(),Ue=s.create(),Ae=s.create();s.lerp(tt,lt,ct,Se),s.lerp(je,mt,Qt,Se),s.lerp(Ue,Vt,Ht,Se),s.lerp(Ae,st,nr,Se);var rt=s.create(),St=s.create();s.lerp(rt,tt,Ue,Ee),s.lerp(St,je,Ae,Ee);var Tt=s.create();return s.lerp(Tt,rt,St,we),Tt},m=function(T,L){var x=L[0],C=L[1],S=L[2];return T[0]=x<0?-x:x,T[1]=C<0?-C:C,T[2]=S<0?-S:S,T},b=function(T){var L=1/0;T.sort(function(g,P){return g-P});for(var x=T.length,C=1;CN||nrH||ttre)},_e=s.distance(L[0],L[1]),ke=10*_e/C,Ce=ke*ke,ge=1,ie=0,Se=x.length;Se>1&&(ge=p(x));for(var Ee=0;Eeie&&(ie=lt),ce.push(lt),U.push({points:De,velocities:Le,divergences:ce});for(var mt=0;mtCe&&s.scale(Vt,Vt,ke/Math.sqrt(st)),s.add(Vt,Vt,we),me=z(Vt),s.squaredDistance(Pe,Vt)-Ce>-1e-4*Ce){De.push(Vt),Pe=Vt,Le.push(me);var He=q(Vt,me),lt=s.length(He);isFinite(lt)&<>ie&&(ie=lt),ce.push(lt)}we=Vt}}var ct=f(U,T.colormap,ie,ge);return g?ct.tubeScale=g:(ie===0&&(ie=1),ct.tubeScale=S*.5*ge/ie),ct};var k=o(6740),M=o(6405).createMesh;i.exports.createTubeMesh=function(T,L){return M(T,L,{shaders:k,traceType:\"streamtube\"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec4 uv;\n", + "attribute vec3 f;\n", + "attribute vec3 normal;\n", + "\n", + "uniform vec3 objectOffset;\n", + "uniform mat4 model, view, projection, inverseModel;\n", + "uniform vec3 lightPosition, eyePosition;\n", + "uniform sampler2D colormap;\n", + "\n", + "varying float value, kill;\n", + "varying vec3 worldCoordinate;\n", + "varying vec2 planeCoordinate;\n", + "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", + "varying vec4 vColor;\n", + "\n", + "void main() {\n", + " vec3 localCoordinate = vec3(uv.zw, f.x);\n", + " worldCoordinate = objectOffset + localCoordinate;\n", + " mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n", + " vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 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", + "`]),c=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "float 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", + "\n", + "float beckmannSpecular(\n", + " vec3 lightDirection,\n", + " vec3 viewDirection,\n", + " vec3 surfaceNormal,\n", + " float roughness) {\n", + " return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n", + "}\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 lowerBound, upperBound;\n", + "uniform float contourTint;\n", + "uniform vec4 contourColor;\n", + "uniform sampler2D colormap;\n", + "uniform vec3 clipBounds[2];\n", + "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", + "uniform float vertexColor;\n", + "\n", + "varying float value, kill;\n", + "varying vec3 worldCoordinate;\n", + "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", + "varying vec4 vColor;\n", + "\n", + "void main() {\n", + " if (\n", + " kill > 0.0 ||\n", + " vColor.a == 0.0 ||\n", + " outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n", + " ) discard;\n", + "\n", + " vec3 N = normalize(surfaceNormal);\n", + " vec3 V = normalize(eyeDirection);\n", + " vec3 L = normalize(lightDirection);\n", + "\n", + " if(gl_FrontFacing) {\n", + " N = -N;\n", + " }\n", + "\n", + " float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n", + " float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n", + "\n", + " //decide how to interpolate color \\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", + "`]),f=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec4 uv;\n", + "attribute float f;\n", + "\n", + "uniform vec3 objectOffset;\n", + "uniform mat3 permutation;\n", + "uniform mat4 model, view, projection;\n", + "uniform float height, zOffset;\n", + "uniform sampler2D colormap;\n", + "\n", + "varying float value, kill;\n", + "varying vec3 worldCoordinate;\n", + "varying vec2 planeCoordinate;\n", + "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", + "varying vec4 vColor;\n", + "\n", + "void main() {\n", + " vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n", + " worldCoordinate = objectOffset + dataCoordinate;\n", + " mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n", + " vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 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", + "`]),h=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool 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", + "\n", + "bool 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", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec2 shape;\n", + "uniform vec3 clipBounds[2];\n", + "uniform float pickId;\n", + "\n", + "varying float value, kill;\n", + "varying vec3 worldCoordinate;\n", + "varying vec2 planeCoordinate;\n", + "varying vec3 surfaceNormal;\n", + "\n", + "vec2 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", + "\n", + "void 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", + "`]);a.createShader=function(d){var v=s(d,u,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createPickShader=function(d){var v=s(d,u,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createContourShader=function(d){var v=s(d,f,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},a.createPickContourShader=function(d){var v=s(d,f,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(i,a,o){\"use strict\";i.exports=De;var s=o(8828),l=o(2762),u=o(8116),c=o(7766),f=o(1888),h=o(6729),d=o(5298),v=o(9994),m=o(9618),b=o(3711),p=o(6760),k=o(7608),M=o(2478),T=o(6199),L=o(990),x=L.createShader,C=L.createContourShader,S=L.createPickShader,g=L.createPickContourShader,P=4*10,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],z=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],q=[[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(){for(var Le=0;Le<3;++Le){var me=q[Le],Pe=(Le+1)%3,ce=(Le+2)%3;me[Pe+0]=1,me[ce+3]=1,me[Le+6]=1}})();function U(Le,me,Pe,ce,He){this.position=Le,this.index=me,this.uv=Pe,this.level=ce,this.dataCoordinate=He}var G=256;function Z(Le,me,Pe,ce,He,lt,mt,Vt,st,ct,Qt,Ht,nr,tt,je){this.gl=Le,this.shape=me,this.bounds=Pe,this.objectOffset=je,this.intensityBounds=[],this._shader=ce,this._pickShader=He,this._coordinateBuffer=lt,this._vao=mt,this._colorMap=Vt,this._contourShader=st,this._contourPickShader=ct,this._contourBuffer=Qt,this._contourVAO=Ht,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new U([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=nr,this._dynamicVAO=tt,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=[m(f.mallocFloat(1024),[0,0]),m(f.mallocFloat(1024),[0,0]),m(f.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 j=Z.prototype;j.genColormap=function(Le,me){var Pe=!1,ce=v([h({colormap:Le,nshades:G,format:\"rgba\"}).map(function(He,lt){var mt=me?N(lt/255,me):He[3];return mt<1&&(Pe=!0),[He[0],He[1],He[2],255*mt]})]);return d.divseq(ce,255),this.hasAlphaScale=Pe,ce},j.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},j.isOpaque=function(){return!this.isTransparent()},j.pickSlots=1,j.setPickBase=function(Le){this.pickId=Le};function N(Le,me){if(!me||!me.length)return 1;for(var Pe=0;PeLe&&Pe>0){var ce=(me[Pe][0]-Le)/(me[Pe][0]-me[Pe-1][0]);return me[Pe][1]*(1-ce)+ce*me[Pe-1][1]}}return 1}var H=[0,0,0],re={showSurface:!1,showContour:!1,projections:[E.slice(),E.slice(),E.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function oe(Le,me){var Pe,ce,He,lt=me.axes&&me.axes.lastCubeProps.axis||H,mt=me.showSurface,Vt=me.showContour;for(Pe=0;Pe<3;++Pe)for(mt=mt||me.surfaceProject[Pe],ce=0;ce<3;++ce)Vt=Vt||me.contourProject[Pe][ce];for(Pe=0;Pe<3;++Pe){var st=re.projections[Pe];for(ce=0;ce<16;++ce)st[ce]=0;for(ce=0;ce<4;++ce)st[5*ce]=1;st[5*Pe]=0,st[12+Pe]=me.axesBounds[+(lt[Pe]>0)][Pe],p(st,Le.model,st);var ct=re.clipBounds[Pe];for(He=0;He<2;++He)for(ce=0;ce<3;++ce)ct[He][ce]=Le.clipBounds[He][ce];ct[0][Pe]=-1e8,ct[1][Pe]=1e8}return re.showSurface=mt,re.showContour=Vt,re}var _e={model:E,view:E,projection:E,inverseModel:E.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},ke=E.slice(),Ce=[1,0,0,0,1,0,0,0,1];function ge(Le,me){Le=Le||{};var Pe=this.gl;Pe.disable(Pe.CULL_FACE),this._colorMap.bind(0);var ce=_e;ce.model=Le.model||E,ce.view=Le.view||E,ce.projection=Le.projection||E,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=k(ce.inverseModel,ce.model);for(var He=0;He<2;++He)for(var lt=ce.clipBounds[He],mt=0;mt<3;++mt)lt[mt]=Math.min(Math.max(this.clipBounds[He][mt],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=Ce,ce.vertexColor=this.vertexColor;var Vt=ke;for(p(Vt,ce.view,ce.model),p(Vt,ce.projection,Vt),k(Vt,Vt),He=0;He<3;++He)ce.eyePosition[He]=Vt[12+He]/Vt[15];var st=Vt[15];for(He=0;He<3;++He)st+=this.lightPosition[He]*Vt[4*He+3];for(He=0;He<3;++He){var ct=Vt[12+He];for(mt=0;mt<3;++mt)ct+=Vt[4*mt+He]*this.lightPosition[mt];ce.lightPosition[He]=ct/st}var Qt=oe(ce,this);if(Qt.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Pe.TRIANGLES,this._vertexCount),He=0;He<3;++He)!this.surfaceProject[He]||!this.vertexCount||(this._shader.uniforms.model=Qt.projections[He],this._shader.uniforms.clipBounds=Qt.clipBounds[He],this._vao.draw(Pe.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Qt.showContour){var Ht=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,Ht.bind(),Ht.uniforms=ce;var nr=this._contourVAO;for(nr.bind(),He=0;He<3;++He)for(Ht.uniforms.permutation=q[He],Pe.lineWidth(this.contourWidth[He]*this.pixelRatio),mt=0;mt>4)/16)/255,He=Math.floor(ce),lt=ce-He,mt=me[1]*(Le.value[1]+(Le.value[2]&15)/16)/255,Vt=Math.floor(mt),st=mt-Vt;He+=1,Vt+=1;var ct=Pe.position;ct[0]=ct[1]=ct[2]=0;for(var Qt=0;Qt<2;++Qt)for(var Ht=Qt?lt:1-lt,nr=0;nr<2;++nr)for(var tt=nr?st:1-st,je=He+Qt,Ue=Vt+nr,Ae=Ht*tt,rt=0;rt<3;++rt)ct[rt]+=this._field[rt].get(je,Ue)*Ae;for(var St=this._pickResult.level,Tt=0;Tt<3;++Tt)if(St[Tt]=M.le(this.contourLevels[Tt],ct[Tt]),St[Tt]<0)this.contourLevels[Tt].length>0&&(St[Tt]=0);else if(St[Tt]Math.abs(Et-ct[Tt])&&(St[Tt]+=1)}for(Pe.index[0]=lt<.5?He:He+1,Pe.index[1]=st<.5?Vt:Vt+1,Pe.uv[0]=ce/me[0],Pe.uv[1]=mt/me[1],rt=0;rt<3;++rt)Pe.dataCoordinate[rt]=this._field[rt].get(Pe.index[0],Pe.index[1]);return Pe},j.padField=function(Le,me){var Pe=me.shape.slice(),ce=Le.shape.slice();d.assign(Le.lo(1,1).hi(Pe[0],Pe[1]),me),d.assign(Le.lo(1).hi(Pe[0],1),me.hi(Pe[0],1)),d.assign(Le.lo(1,ce[1]-1).hi(Pe[0],1),me.lo(0,Pe[1]-1).hi(Pe[0],1)),d.assign(Le.lo(0,1).hi(1,Pe[1]),me.hi(1)),d.assign(Le.lo(ce[0]-1,1).hi(1,Pe[1]),me.lo(Pe[0]-1)),Le.set(0,0,me.get(0,0)),Le.set(0,ce[1]-1,me.get(0,Pe[1]-1)),Le.set(ce[0]-1,0,me.get(Pe[0]-1,0)),Le.set(ce[0]-1,ce[1]-1,me.get(Pe[0]-1,Pe[1]-1))};function Se(Le,me){return Array.isArray(Le)?[me(Le[0]),me(Le[1]),me(Le[2])]:[me(Le),me(Le),me(Le)]}function Ee(Le){return Array.isArray(Le)?Le.length===3?[Le[0],Le[1],Le[2],1]:[Le[0],Le[1],Le[2],Le[3]]:[0,0,0,1]}function we(Le){if(Array.isArray(Le)){if(Array.isArray(Le))return[Ee(Le[0]),Ee(Le[1]),Ee(Le[2])];var me=Ee(Le);return[me.slice(),me.slice(),me.slice()]}}j.update=function(Le){Le=Le||{},this.objectOffset=Le.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in Le&&(this.contourWidth=Se(Le.contourWidth,Number)),\"showContour\"in Le&&(this.showContour=Se(Le.showContour,Boolean)),\"showSurface\"in Le&&(this.showSurface=!!Le.showSurface),\"contourTint\"in Le&&(this.contourTint=Se(Le.contourTint,Boolean)),\"contourColor\"in Le&&(this.contourColor=we(Le.contourColor)),\"contourProject\"in Le&&(this.contourProject=Se(Le.contourProject,function(yn){return Se(yn,Boolean)})),\"surfaceProject\"in Le&&(this.surfaceProject=Le.surfaceProject),\"dynamicColor\"in Le&&(this.dynamicColor=we(Le.dynamicColor)),\"dynamicTint\"in Le&&(this.dynamicTint=Se(Le.dynamicTint,Number)),\"dynamicWidth\"in Le&&(this.dynamicWidth=Se(Le.dynamicWidth,Number)),\"opacity\"in Le&&(this.opacity=Le.opacity),\"opacityscale\"in Le&&(this.opacityscale=Le.opacityscale),\"colorBounds\"in Le&&(this.colorBounds=Le.colorBounds),\"vertexColor\"in Le&&(this.vertexColor=Le.vertexColor?1:0),\"colormap\"in Le&&this._colorMap.setPixels(this.genColormap(Le.colormap,this.opacityscale));var me=Le.field||Le.coords&&Le.coords[2]||null,Pe=!1;if(me||(this._field[2].shape[0]||this._field[2].shape[2]?me=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):me=this._field[2].hi(0,0)),\"field\"in Le||\"coords\"in Le){var ce=(me.shape[0]+2)*(me.shape[1]+2);ce>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(ce))),this._field[2]=m(this._field[2].data,[me.shape[0]+2,me.shape[1]+2]),this.padField(this._field[2],me),this.shape=me.shape.slice();for(var He=this.shape,lt=0;lt<2;++lt)this._field[2].size>this._field[lt].data.length&&(f.freeFloat(this._field[lt].data),this._field[lt].data=f.mallocFloat(this._field[2].size)),this._field[lt]=m(this._field[lt].data,[He[0]+2,He[1]+2]);if(Le.coords){var mt=Le.coords;if(!Array.isArray(mt)||mt.length!==3)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(lt=0;lt<2;++lt){var Vt=mt[lt];for(nr=0;nr<2;++nr)if(Vt.shape[nr]!==He[nr])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[lt],Vt)}}else if(Le.ticks){var st=Le.ticks;if(!Array.isArray(st)||st.length!==2)throw new Error(\"gl-surface: invalid ticks\");for(lt=0;lt<2;++lt){var ct=st[lt];if((Array.isArray(ct)||ct.length)&&(ct=m(ct)),ct.shape[0]!==He[lt])throw new Error(\"gl-surface: invalid tick length\");var Qt=m(ct.data,He);Qt.stride[lt]=ct.stride[0],Qt.stride[lt^1]=0,this.padField(this._field[lt],Qt)}}else{for(lt=0;lt<2;++lt){var Ht=[0,0];Ht[lt]=1,this._field[lt]=m(this._field[lt].data,[He[0]+2,He[1]+2],Ht,0)}this._field[0].set(0,0,0);for(var nr=0;nr0){for(var en=0;en<5;++en)Pi.pop();We-=1}continue e}}}Fn.push(We)}this._contourOffsets[ai]=un,this._contourCounts[ai]=Fn}var fn=f.mallocFloat(Pi.length);for(lt=0;ltU||z<0||z>U)throw new Error(\"gl-texture2d: Invalid texture size\");return P._shape=[E,z],P.bind(),q.texImage2D(q.TEXTURE_2D,0,P.format,E,z,0,P.format,P.type,null),P._mipLevels=[0],P}function p(P,E,z,q,U,G){this.gl=P,this.handle=E,this.format=U,this.type=G,this._shape=[z,q],this._mipLevels=[0],this._magFilter=P.NEAREST,this._minFilter=P.NEAREST,this._wrapS=P.CLAMP_TO_EDGE,this._wrapT=P.CLAMP_TO_EDGE,this._anisoSamples=1;var Z=this,j=[this._wrapS,this._wrapT];Object.defineProperties(j,[{get:function(){return Z._wrapS},set:function(H){return Z.wrapS=H}},{get:function(){return Z._wrapT},set:function(H){return Z.wrapT=H}}]),this._wrapVector=j;var N=[this._shape[0],this._shape[1]];Object.defineProperties(N,[{get:function(){return Z._shape[0]},set:function(H){return Z.width=H}},{get:function(){return Z._shape[1]},set:function(H){return Z.height=H}}]),this._shapeVector=N}var k=p.prototype;Object.defineProperties(k,{minFilter:{get:function(){return this._minFilter},set:function(P){this.bind();var E=this.gl;if(this.type===E.FLOAT&&c.indexOf(P)>=0&&(E.getExtension(\"OES_texture_float_linear\")||(P=E.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MIN_FILTER,P),this._minFilter=P}},magFilter:{get:function(){return this._magFilter},set:function(P){this.bind();var E=this.gl;if(this.type===E.FLOAT&&c.indexOf(P)>=0&&(E.getExtension(\"OES_texture_float_linear\")||(P=E.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MAG_FILTER,P),this._magFilter=P}},mipSamples:{get:function(){return this._anisoSamples},set:function(P){var E=this._anisoSamples;if(this._anisoSamples=Math.max(P,1)|0,E!==this._anisoSamples){var z=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");z&&this.gl.texParameterf(this.gl.TEXTURE_2D,z.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,P),this._wrapS=P}},wrapT:{get:function(){return this._wrapT},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,P),this._wrapT=P}},wrap:{get:function(){return this._wrapVector},set:function(P){if(Array.isArray(P)||(P=[P,P]),P.length!==2)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var E=0;E<2;++E)if(h.indexOf(P[E])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);this._wrapS=P[0],this._wrapT=P[1];var z=this.gl;return this.bind(),z.texParameteri(z.TEXTURE_2D,z.TEXTURE_WRAP_S,this._wrapS),z.texParameteri(z.TEXTURE_2D,z.TEXTURE_WRAP_T,this._wrapT),P}},shape:{get:function(){return this._shapeVector},set:function(P){if(!Array.isArray(P))P=[P|0,P|0];else if(P.length!==2)throw new Error(\"gl-texture2d: Invalid texture shape\");return b(this,P[0]|0,P[1]|0),[P[0]|0,P[1]|0]}},width:{get:function(){return this._shape[0]},set:function(P){return P=P|0,b(this,P,this._shape[1]),P}},height:{get:function(){return this._shape[1]},set:function(P){return P=P|0,b(this,this._shape[0],P),P}}}),k.bind=function(P){var E=this.gl;return P!==void 0&&E.activeTexture(E.TEXTURE0+(P|0)),E.bindTexture(E.TEXTURE_2D,this.handle),P!==void 0?P|0:E.getParameter(E.ACTIVE_TEXTURE)-E.TEXTURE0},k.dispose=function(){this.gl.deleteTexture(this.handle)},k.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var P=Math.min(this._shape[0],this._shape[1]),E=0;P>0;++E,P>>>=1)this._mipLevels.indexOf(E)<0&&this._mipLevels.push(E)},k.setPixels=function(P,E,z,q){var U=this.gl;this.bind(),Array.isArray(E)?(q=z,z=E[1]|0,E=E[0]|0):(E=E||0,z=z||0),q=q||0;var G=v(P)?P:P.raw;if(G){var Z=this._mipLevels.indexOf(q)<0;Z?(U.texImage2D(U.TEXTURE_2D,0,this.format,this.format,this.type,G),this._mipLevels.push(q)):U.texSubImage2D(U.TEXTURE_2D,q,E,z,this.format,this.type,G)}else if(P.shape&&P.stride&&P.data){if(P.shape.length<2||E+P.shape[1]>this._shape[1]>>>q||z+P.shape[0]>this._shape[0]>>>q||E<0||z<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");T(U,E,z,q,this.format,this.type,this._mipLevels,P)}else throw new Error(\"gl-texture2d: Unsupported data type\")};function M(P,E){return P.length===3?E[2]===1&&E[1]===P[0]*P[2]&&E[0]===P[2]:E[0]===1&&E[1]===P[0]}function T(P,E,z,q,U,G,Z,j){var N=j.dtype,H=j.shape.slice();if(H.length<2||H.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var re=0,oe=0,_e=M(H,j.stride.slice());N===\"float32\"?re=P.FLOAT:N===\"float64\"?(re=P.FLOAT,_e=!1,N=\"float32\"):N===\"uint8\"?re=P.UNSIGNED_BYTE:(re=P.UNSIGNED_BYTE,_e=!1,N=\"uint8\");var ke=1;if(H.length===2)oe=P.LUMINANCE,H=[H[0],H[1],1],j=s(j.data,H,[j.stride[0],j.stride[1],1],j.offset);else if(H.length===3){if(H[2]===1)oe=P.ALPHA;else if(H[2]===2)oe=P.LUMINANCE_ALPHA;else if(H[2]===3)oe=P.RGB;else if(H[2]===4)oe=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");ke=H[2]}else throw new Error(\"gl-texture2d: Invalid shape for texture\");if((oe===P.LUMINANCE||oe===P.ALPHA)&&(U===P.LUMINANCE||U===P.ALPHA)&&(oe=U),oe!==U)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var Ce=j.size,ge=Z.indexOf(q)<0;if(ge&&Z.push(q),re===G&&_e)j.offset===0&&j.data.length===Ce?ge?P.texImage2D(P.TEXTURE_2D,q,U,H[0],H[1],0,U,G,j.data):P.texSubImage2D(P.TEXTURE_2D,q,E,z,H[0],H[1],U,G,j.data):ge?P.texImage2D(P.TEXTURE_2D,q,U,H[0],H[1],0,U,G,j.data.subarray(j.offset,j.offset+Ce)):P.texSubImage2D(P.TEXTURE_2D,q,E,z,H[0],H[1],U,G,j.data.subarray(j.offset,j.offset+Ce));else{var ie;G===P.FLOAT?ie=u.mallocFloat32(Ce):ie=u.mallocUint8(Ce);var Se=s(ie,H,[H[2],H[2]*H[0],1]);re===P.FLOAT&&G===P.UNSIGNED_BYTE?m(Se,j):l.assign(Se,j),ge?P.texImage2D(P.TEXTURE_2D,q,U,H[0],H[1],0,U,G,ie.subarray(0,Ce)):P.texSubImage2D(P.TEXTURE_2D,q,E,z,H[0],H[1],U,G,ie.subarray(0,Ce)),G===P.FLOAT?u.freeFloat32(ie):u.freeUint8(ie)}}function L(P){var E=P.createTexture();return P.bindTexture(P.TEXTURE_2D,E),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MIN_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MAG_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,P.CLAMP_TO_EDGE),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,P.CLAMP_TO_EDGE),E}function x(P,E,z,q,U){var G=P.getParameter(P.MAX_TEXTURE_SIZE);if(E<0||E>G||z<0||z>G)throw new Error(\"gl-texture2d: Invalid texture shape\");if(U===P.FLOAT&&!P.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var Z=L(P);return P.texImage2D(P.TEXTURE_2D,0,q,E,z,0,q,U,null),new p(P,Z,E,z,q,U)}function C(P,E,z,q,U,G){var Z=L(P);return P.texImage2D(P.TEXTURE_2D,0,U,U,G,E),new p(P,Z,z,q,U,G)}function S(P,E){var z=E.dtype,q=E.shape.slice(),U=P.getParameter(P.MAX_TEXTURE_SIZE);if(q[0]<0||q[0]>U||q[1]<0||q[1]>U)throw new Error(\"gl-texture2d: Invalid texture size\");var G=M(q,E.stride.slice()),Z=0;z===\"float32\"?Z=P.FLOAT:z===\"float64\"?(Z=P.FLOAT,G=!1,z=\"float32\"):z===\"uint8\"?Z=P.UNSIGNED_BYTE:(Z=P.UNSIGNED_BYTE,G=!1,z=\"uint8\");var j=0;if(q.length===2)j=P.LUMINANCE,q=[q[0],q[1],1],E=s(E.data,q,[E.stride[0],E.stride[1],1],E.offset);else if(q.length===3)if(q[2]===1)j=P.ALPHA;else if(q[2]===2)j=P.LUMINANCE_ALPHA;else if(q[2]===3)j=P.RGB;else if(q[2]===4)j=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");else throw new Error(\"gl-texture2d: Invalid shape for texture\");Z===P.FLOAT&&!P.getExtension(\"OES_texture_float\")&&(Z=P.UNSIGNED_BYTE,G=!1);var N,H,re=E.size;if(G)E.offset===0&&E.data.length===re?N=E.data:N=E.data.subarray(E.offset,E.offset+re);else{var oe=[q[2],q[2]*q[0],1];H=u.malloc(re,z);var _e=s(H,q,oe,0);(z===\"float32\"||z===\"float64\")&&Z===P.UNSIGNED_BYTE?m(_e,E):l.assign(_e,E),N=H.subarray(0,re)}var ke=L(P);return P.texImage2D(P.TEXTURE_2D,0,j,q[0],q[1],0,j,Z,N),G||u.free(H),new p(P,ke,q[0],q[1],j,Z)}function g(P){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(c||d(P),typeof arguments[1]==\"number\")return x(P,arguments[1],arguments[2],arguments[3]||P.RGBA,arguments[4]||P.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return x(P,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(typeof arguments[1]==\"object\"){var E=arguments[1],z=v(E)?E:E.raw;if(z)return C(P,z,E.width|0,E.height|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(E.shape&&E.data&&E.stride)return S(P,E)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}},1433:function(i){\"use strict\";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error(\"gl-vao: Too many vertex attributes\");for(var c=0;c1?0:Math.acos(m)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2];return o[0]=c*v-f*d,o[1]=f*h-u*v,o[2]=u*d-c*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],d=u[2],v=c[0],m=c[1],b=c[2];return Math.abs(f-v)<=s*Math.max(1,Math.abs(f),Math.abs(v))&&Math.abs(h-m)<=s*Math.max(1,Math.abs(h),Math.abs(m))&&Math.abs(d-b)<=s*Math.max(1,Math.abs(d),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,c,f,h,d,v){var m,b;for(c||(c=3),f||(f=0),h?b=Math.min(h*c+f,u.length):b=u.length,m=f;m0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,d=s[2]-f,v=Math.sin(u),m=Math.cos(u);return o[0]=s[0],o[1]=c+h*m-d*v,o[2]=f+h*v+d*m,o}},109:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,d=s[2]-f,v=Math.sin(u),m=Math.cos(u);return o[0]=c+d*v+h*m,o[1]=s[1],o[2]=f+d*m-h*v,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,d=s[1]-f,v=Math.sin(u),m=Math.cos(u);return o[0]=c+h*m-d*v,o[1]=f+h*v+d*m,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],m=l[3],b=m*u+d*f-v*c,p=m*c+v*u-h*f,k=m*f+h*c-d*u,M=-h*u-d*c-v*f;return o[0]=b*m+M*-h+p*-v-k*-d,o[1]=p*m+M*-d+k*-h-b*-v,o[2]=k*m+M*-v+b*-d-p*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}},2573:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=d+u*(l[3]-d),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],m=l[3],b=m*u+d*f-v*c,p=m*c+v*u-h*f,k=m*f+h*c-d*u,M=-h*u-d*c-v*f;return o[0]=b*m+M*-h+p*-v-k*-d,o[1]=p*m+M*-d+k*-h-b*-v,o[2]=k*m+M*-v+b*-d-p*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h0)continue;Tt=Ae.slice(0,1).join(\"\")}return Pe(Tt),Ce+=Tt.length,N=N.slice(Tt.length),N.length}while(!0)}function nr(){return/[^a-fA-F0-9]/.test(Z)?(Pe(N.join(\"\")),G=h,q):(N.push(Z),j=Z,q+1)}function tt(){return Z===\".\"||/[eE]/.test(Z)?(N.push(Z),G=M,j=Z,q+1):Z===\"x\"&&N.length===1&&N[0]===\"0\"?(G=g,N.push(Z),j=Z,q+1):/[^\\d]/.test(Z)?(Pe(N.join(\"\")),G=h,q):(N.push(Z),j=Z,q+1)}function je(){return Z===\"f\"&&(N.push(Z),j=Z,q+=1),/[eE]/.test(Z)||(Z===\"-\"||Z===\"+\")&&/[eE]/.test(j)?(N.push(Z),j=Z,q+1):/[^\\d]/.test(Z)?(Pe(N.join(\"\")),G=h,q):(N.push(Z),j=Z,q+1)}function Ue(){if(/[^\\d\\w_]/.test(Z)){var Ae=N.join(\"\");return me[Ae]?G=x:Le[Ae]?G=L:G=T,Pe(N.join(\"\")),G=h,q}return N.push(Z),j=Z,q+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\\_|texture)/.test(l)}),i.exports=s.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\"])},6852:function(i){i.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\"]},7932:function(i,a,o){var s=o(620);i.exports=s.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},620:function(i){i.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"uint\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},7827:function(i){i.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}},3236:function(i){i.exports=function(a){typeof a==\"string\"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l>1,b=-7,p=l?c-1:0,k=l?-1:1,M=o[s+p];for(p+=k,f=M&(1<<-b)-1,M>>=-b,b+=d;b>0;f=f*256+o[s+p],p+=k,b-=8);for(h=f&(1<<-b)-1,f>>=-b,b+=u;b>0;h=h*256+o[s+p],p+=k,b-=8);if(f===0)f=1-m;else{if(f===v)return h?NaN:(M?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-m}return(M?-1:1)*h*Math.pow(2,f-u)},a.write=function(o,s,l,u,c,f){var h,d,v,m=f*8-c-1,b=(1<>1,k=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,M=u?0:f-1,T=u?1:-1,L=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(d=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+p>=1?s+=k/v:s+=k*Math.pow(2,1-p),s*v>=2&&(h++,v/=2),h+p>=b?(d=0,h=b):h+p>=1?(d=(s*v-1)*Math.pow(2,c),h=h+p):(d=s*Math.pow(2,p-1)*Math.pow(2,c),h=0));c>=8;o[l+M]=d&255,M+=T,d/=256,c-=8);for(h=h<0;o[l+M]=h&255,M+=T,h/=256,m-=8);o[l+M-T]|=L*128}},8954:function(i,a,o){\"use strict\";i.exports=p;var s=o(3250),l=o(6803).Fw;function u(k,M,T){this.vertices=k,this.adjacent=M,this.boundary=T,this.lastVisited=-1}u.prototype.flip=function(){var k=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=k;var M=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=M};function c(k,M,T){this.vertices=k,this.cell=M,this.index=T}function f(k,M){return l(k.vertices,M.vertices)}function h(k){return function(){var M=this.tuple;return k.apply(this,M)}}function d(k){var M=s[k+1];return M||(M=s),h(M)}var v=[];function m(k,M,T){this.dimension=k,this.vertices=M,this.simplices=T,this.interior=T.filter(function(C){return!C.boundary}),this.tuple=new Array(k+1);for(var L=0;L<=k;++L)this.tuple[L]=this.vertices[L];var x=v[k];x||(x=v[k]=d(k)),this.orient=x}var b=m.prototype;b.handleBoundaryDegeneracy=function(k,M){var T=this.dimension,L=this.vertices.length-1,x=this.tuple,C=this.vertices,S=[k];for(k.lastVisited=-L;S.length>0;){k=S.pop();for(var g=k.adjacent,P=0;P<=T;++P){var E=g[P];if(!(!E.boundary||E.lastVisited<=-L)){for(var z=E.vertices,q=0;q<=T;++q){var U=z[q];U<0?x[q]=M:x[q]=C[U]}var G=this.orient();if(G>0)return E;E.lastVisited=-L,G===0&&S.push(E)}}}return null},b.walk=function(k,M){var T=this.vertices.length-1,L=this.dimension,x=this.vertices,C=this.tuple,S=M?this.interior.length*Math.random()|0:this.interior.length-1,g=this.interior[S];e:for(;!g.boundary;){for(var P=g.vertices,E=g.adjacent,z=0;z<=L;++z)C[z]=x[P[z]];g.lastVisited=T;for(var z=0;z<=L;++z){var q=E[z];if(!(q.lastVisited>=T)){var U=C[z];C[z]=k;var G=this.orient();if(C[z]=U,G<0){g=q;continue e}else q.boundary?q.lastVisited=-T:q.lastVisited=T}}return}return g},b.addPeaks=function(k,M){var T=this.vertices.length-1,L=this.dimension,x=this.vertices,C=this.tuple,S=this.interior,g=this.simplices,P=[M];M.lastVisited=T,M.vertices[M.vertices.indexOf(-1)]=T,M.boundary=!1,S.push(M);for(var E=[];P.length>0;){var M=P.pop(),z=M.vertices,q=M.adjacent,U=z.indexOf(T);if(!(U<0)){for(var G=0;G<=L;++G)if(G!==U){var Z=q[G];if(!(!Z.boundary||Z.lastVisited>=T)){var j=Z.vertices;if(Z.lastVisited!==-T){for(var N=0,H=0;H<=L;++H)j[H]<0?(N=H,C[H]=k):C[H]=x[j[H]];var re=this.orient();if(re>0){j[N]=T,Z.boundary=!1,S.push(Z),P.push(Z),Z.lastVisited=T;continue}else Z.lastVisited=-T}var oe=Z.adjacent,_e=z.slice(),ke=q.slice(),Ce=new u(_e,ke,!0);g.push(Ce);var ge=oe.indexOf(M);if(!(ge<0)){oe[ge]=Ce,ke[U]=Z,_e[G]=-1,ke[G]=M,q[G]=Ce,Ce.flip();for(var H=0;H<=L;++H){var ie=_e[H];if(!(ie<0||ie===T)){for(var Se=new Array(L-1),Ee=0,we=0;we<=L;++we){var De=_e[we];De<0||we===H||(Se[Ee++]=De)}E.push(new c(Se,Ce,H))}}}}}}}E.sort(f);for(var G=0;G+1=0?S[P++]=g[z]:E=z&1;if(E===(k&1)){var q=S[0];S[0]=S[1],S[1]=q}M.push(S)}}return M};function p(k,M){var T=k.length;if(T===0)throw new Error(\"Must have at least d+1 points\");var L=k[0].length;if(T<=L)throw new Error(\"Must input at least d+1 points\");var x=k.slice(0,L+1),C=s.apply(void 0,x);if(C===0)throw new Error(\"Input not in general position\");for(var S=new Array(L+1),g=0;g<=L;++g)S[g]=g;C<0&&(S[0]=1,S[1]=0);for(var P=new u(S,new Array(L+1),!1),E=P.adjacent,z=new Array(L+2),g=0;g<=L;++g){for(var q=S.slice(),U=0;U<=L;++U)U===g&&(q[U]=-1);var G=q[0];q[0]=q[1],q[1]=G;var Z=new u(q,new Array(L+1),!0);E[g]=Z,z[g]=Z}z[L+1]=P;for(var g=0;g<=L;++g)for(var q=E[g].vertices,j=E[g].adjacent,U=0;U<=L;++U){var N=q[U];if(N<0){j[U]=P;continue}for(var H=0;H<=L;++H)E[H].vertices.indexOf(N)<0&&(j[U]=E[H])}for(var re=new m(L,x,z),oe=!!M,g=L+1;g3*(z+1)?m(this,E):this.left.insert(E):this.left=C([E]);else if(E[0]>this.mid)this.right?4*(this.right.count+1)>3*(z+1)?m(this,E):this.right.insert(E):this.right=C([E]);else{var q=s.ge(this.leftPoints,E,L),U=s.ge(this.rightPoints,E,x);this.leftPoints.splice(q,0,E),this.rightPoints.splice(U,0,E)}},h.remove=function(E){var z=this.count-this.leftPoints;if(E[1]3*(z-1))return b(this,E);var U=this.left.remove(E);return U===c?(this.left=null,this.count-=1,u):(U===u&&(this.count-=1),U)}else if(E[0]>this.mid){if(!this.right)return l;var G=this.left?this.left.count:0;if(4*G>3*(z-1))return b(this,E);var U=this.right.remove(E);return U===c?(this.right=null,this.count-=1,u):(U===u&&(this.count-=1),U)}else{if(this.count===1)return this.leftPoints[0]===E?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===E){if(this.left&&this.right){for(var Z=this,j=this.left;j.right;)Z=j,j=j.right;if(Z===this)j.right=this.right;else{var N=this.left,U=this.right;Z.count-=j.count,Z.right=j.left,j.left=N,j.right=U}d(this,j),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?d(this,this.left):d(this,this.right);return u}for(var N=s.ge(this.leftPoints,E,L);N=0&&E[U][1]>=z;--U){var G=q(E[U]);if(G)return G}}function M(E,z){for(var q=0;qthis.mid){if(this.right){var q=this.right.queryPoint(E,z);if(q)return q}return k(this.rightPoints,E,z)}else return M(this.leftPoints,z)},h.queryInterval=function(E,z,q){if(Ethis.mid&&this.right){var U=this.right.queryInterval(E,z,q);if(U)return U}return zthis.mid?k(this.rightPoints,E,q):M(this.leftPoints,q)};function T(E,z){return E-z}function L(E,z){var q=E[0]-z[0];return q||E[1]-z[1]}function x(E,z){var q=E[1]-z[1];return q||E[0]-z[0]}function C(E){if(E.length===0)return null;for(var z=[],q=0;q>1],G=[],Z=[],j=[],q=0;q13)&&s!==32&&s!==133&&s!==160&&s!==5760&&s!==6158&&(s<8192||s>8205)&&s!==8232&&s!==8233&&s!==8239&&s!==8287&&s!==8288&&s!==12288&&s!==65279)return!1;return!0}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),d={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},v=l(),m=l(),b=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],k=[0,0,0];i.exports=function(C,S,g,P,E,z){if(S||(S=[0,0,0]),g||(g=[0,0,0]),P||(P=[0,0,0]),E||(E=[0,0,0,1]),z||(z=[0,0,0,1]),!s(v,C)||(u(m,v),m[3]=0,m[7]=0,m[11]=0,m[15]=1,Math.abs(c(m)<1e-8)))return!1;var q=v[3],U=v[7],G=v[11],Z=v[12],j=v[13],N=v[14],H=v[15];if(q!==0||U!==0||G!==0){b[0]=q,b[1]=U,b[2]=G,b[3]=H;var re=f(m,m);if(!re)return!1;h(m,m),M(E,b,m)}else E[0]=E[1]=E[2]=0,E[3]=1;if(S[0]=Z,S[1]=j,S[2]=N,T(p,v),g[0]=d.length(p[0]),d.normalize(p[0],p[0]),P[0]=d.dot(p[0],p[1]),L(p[1],p[1],p[0],1,-P[0]),g[1]=d.length(p[1]),d.normalize(p[1],p[1]),P[0]/=g[1],P[1]=d.dot(p[0],p[2]),L(p[2],p[2],p[0],1,-P[1]),P[2]=d.dot(p[1],p[2]),L(p[2],p[2],p[1],1,-P[2]),g[2]=d.length(p[2]),d.normalize(p[2],p[2]),P[1]/=g[2],P[2]/=g[2],d.cross(k,p[1],p[2]),d.dot(p[0],k)<0)for(var oe=0;oe<3;oe++)g[oe]*=-1,p[oe][0]*=-1,p[oe][1]*=-1,p[oe][2]*=-1;return z[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),z[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),z[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),z[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(z[0]=-z[0]),p[0][2]>p[2][0]&&(z[1]=-z[1]),p[1][0]>p[0][1]&&(z[2]=-z[2]),!0};function M(x,C,S){var g=C[0],P=C[1],E=C[2],z=C[3];return x[0]=S[0]*g+S[4]*P+S[8]*E+S[12]*z,x[1]=S[1]*g+S[5]*P+S[9]*E+S[13]*z,x[2]=S[2]*g+S[6]*P+S[10]*E+S[14]*z,x[3]=S[3]*g+S[7]*P+S[11]*E+S[15]*z,x}function T(x,C){x[0][0]=C[0],x[0][1]=C[1],x[0][2]=C[2],x[1][0]=C[4],x[1][1]=C[5],x[1][2]=C[6],x[2][0]=C[8],x[2][1]=C[9],x[2][2]=C[10]}function L(x,C,S,g,P){x[0]=C[0]*g+S[0]*P,x[1]=C[1]*g+S[1]*P,x[2]=C[2]*g+S[2]*P}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=b(),d=b(),v=b();i.exports=m;function m(M,T,L,x){if(c(T)===0||c(L)===0)return!1;var C=u(T,h.translate,h.scale,h.skew,h.perspective,h.quaternion),S=u(L,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!C||!S?!1:(s(v.translate,h.translate,d.translate,x),s(v.skew,h.skew,d.skew,x),s(v.scale,h.scale,d.scale,x),s(v.perspective,h.perspective,d.perspective,x),f(v.quaternion,h.quaternion,d.quaternion,x),l(M,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function b(){return{translate:p(),scale:p(1),skew:p(),perspective:k(),quaternion:k()}}function p(M){return[M||0,M||0,M||0]}function k(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(f,h,d,v,m,b){return s.identity(f),s.fromRotationTranslation(f,b,h),f[3]=m[0],f[7]=m[1],f[11]=m[2],f[15]=m[3],s.identity(u),v[2]!==0&&(u[9]=v[2],s.multiply(f,f,u)),v[1]!==0&&(u[9]=0,u[8]=v[1],s.multiply(f,f,u)),v[0]!==0&&(u[8]=0,u[4]=v[0],s.multiply(f,f,u)),s.scale(f,f,d),f}},1811:function(i,a,o){\"use strict\";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),d=o(6582),v=o(7656),m=o(2504),b=o(3536),p=[0,0,0];i.exports=L;function k(x){this._components=x.slice(),this._time=[0],this.prevMatrix=x.slice(),this.nextMatrix=x.slice(),this.computedMatrix=x.slice(),this.computedInverse=x.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]}var M=k.prototype;M.recalcMatrix=function(x){var C=this._time,S=s.le(C,x),g=this.computedMatrix;if(!(S<0)){var P=this._components;if(S===C.length-1)for(var E=16*S,z=0;z<16;++z)g[z]=P[E++];else{for(var q=C[S+1]-C[S],E=16*S,U=this.prevMatrix,G=!0,z=0;z<16;++z)U[z]=P[E++];for(var Z=this.nextMatrix,z=0;z<16;++z)Z[z]=P[E++],G=G&&U[z]===Z[z];if(q<1e-6||G)for(var z=0;z<16;++z)g[z]=U[z];else l(g,U,Z,(x-C[S])/q)}var j=this.computedUp;j[0]=g[1],j[1]=g[5],j[2]=g[9],b(j,j);var N=this.computedInverse;u(N,g);var H=this.computedEye,re=N[15];H[0]=N[12]/re,H[1]=N[13]/re,H[2]=N[14]/re;for(var oe=this.computedCenter,_e=Math.exp(this.computedRadius[0]),z=0;z<3;++z)oe[z]=H[z]-g[2+4*z]*_e}},M.idle=function(x){if(!(x1&&s(u[d[p-2]],u[d[p-1]],b)<=0;)p-=1,d.pop();for(d.push(m),p=v.length;p>1&&s(u[v[p-2]],u[v[p-1]],b)>=0;)p-=1,v.pop();v.push(m)}for(var k=new Array(v.length+d.length-2),M=0,f=0,T=d.length;f0;--L)k[M++]=v[L];return k}},351:function(i,a,o){\"use strict\";i.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,d=0,v={shift:!1,alt:!1,control:!1,meta:!1},m=!1;function b(E){var z=!1;return\"altKey\"in E&&(z=z||E.altKey!==v.alt,v.alt=!!E.altKey),\"shiftKey\"in E&&(z=z||E.shiftKey!==v.shift,v.shift=!!E.shiftKey),\"ctrlKey\"in E&&(z=z||E.ctrlKey!==v.control,v.control=!!E.ctrlKey),\"metaKey\"in E&&(z=z||E.metaKey!==v.meta,v.meta=!!E.metaKey),z}function p(E,z){var q=s.x(z),U=s.y(z);\"buttons\"in z&&(E=z.buttons|0),(E!==f||q!==h||U!==d||b(z))&&(f=E|0,h=q||0,d=U||0,c&&c(f,h,d,v))}function k(E){p(0,E)}function M(){(f||h||d||v.shift||v.alt||v.meta||v.control)&&(h=d=0,f=0,v.shift=v.alt=v.control=v.meta=!1,c&&c(0,0,0,v))}function T(E){b(E)&&c&&c(f,h,d,v)}function L(E){s.buttons(E)===0?p(0,E):p(f,E)}function x(E){p(f|s.buttons(E),E)}function C(E){p(f&~s.buttons(E),E)}function S(){m||(m=!0,u.addEventListener(\"mousemove\",L),u.addEventListener(\"mousedown\",x),u.addEventListener(\"mouseup\",C),u.addEventListener(\"mouseleave\",k),u.addEventListener(\"mouseenter\",k),u.addEventListener(\"mouseout\",k),u.addEventListener(\"mouseover\",k),u.addEventListener(\"blur\",M),u.addEventListener(\"keyup\",T),u.addEventListener(\"keydown\",T),u.addEventListener(\"keypress\",T),u!==window&&(window.addEventListener(\"blur\",M),window.addEventListener(\"keyup\",T),window.addEventListener(\"keydown\",T),window.addEventListener(\"keypress\",T)))}function g(){m&&(m=!1,u.removeEventListener(\"mousemove\",L),u.removeEventListener(\"mousedown\",x),u.removeEventListener(\"mouseup\",C),u.removeEventListener(\"mouseleave\",k),u.removeEventListener(\"mouseenter\",k),u.removeEventListener(\"mouseout\",k),u.removeEventListener(\"mouseover\",k),u.removeEventListener(\"blur\",M),u.removeEventListener(\"keyup\",T),u.removeEventListener(\"keydown\",T),u.removeEventListener(\"keypress\",T),u!==window&&(window.removeEventListener(\"blur\",M),window.removeEventListener(\"keyup\",T),window.removeEventListener(\"keydown\",T),window.removeEventListener(\"keypress\",T)))}S();var P={element:u};return Object.defineProperties(P,{enabled:{get:function(){return m},set:function(E){E?S():g()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return d},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),P}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,d=s(u);return c[0]=f-d.left,c[1]=h-d.top,c}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){\"use strict\";function o(c){if(typeof c==\"object\"){if(\"buttons\"in c)return c.buttons;if(\"which\"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<=0)return 1<0){if(ke=1,ie[Ee++]=v(S[z],M,T,L),z+=re,x>0)for(_e=1,q=S[z],we=ie[Ee]=v(q,M,T,L),me=ie[Ee+De],He=ie[Ee+Pe],Vt=ie[Ee+lt],(we!==me||we!==He||we!==Vt)&&(G=S[z+U],j=S[z+Z],H=S[z+N],h(_e,ke,q,G,j,H,we,me,He,Vt,M,T,L),st=Se[Ee]=Ce++),Ee+=1,z+=re,_e=2;_e0)for(_e=1,q=S[z],we=ie[Ee]=v(q,M,T,L),me=ie[Ee+De],He=ie[Ee+Pe],Vt=ie[Ee+lt],(we!==me||we!==He||we!==Vt)&&(G=S[z+U],j=S[z+Z],H=S[z+N],h(_e,ke,q,G,j,H,we,me,He,Vt,M,T,L),st=Se[Ee]=Ce++,Vt!==He&&d(Se[Ee+Pe],st,j,H,He,Vt,M,T,L)),Ee+=1,z+=re,_e=2;_e0){if(_e=1,ie[Ee++]=v(S[z],M,T,L),z+=re,C>0)for(ke=1,q=S[z],we=ie[Ee]=v(q,M,T,L),He=ie[Ee+Pe],me=ie[Ee+De],Vt=ie[Ee+lt],(we!==He||we!==me||we!==Vt)&&(G=S[z+U],j=S[z+Z],H=S[z+N],h(_e,ke,q,G,j,H,we,He,me,Vt,M,T,L),st=Se[Ee]=Ce++),Ee+=1,z+=re,ke=2;ke0)for(ke=1,q=S[z],we=ie[Ee]=v(q,M,T,L),He=ie[Ee+Pe],me=ie[Ee+De],Vt=ie[Ee+lt],(we!==He||we!==me||we!==Vt)&&(G=S[z+U],j=S[z+Z],H=S[z+N],h(_e,ke,q,G,j,H,we,He,me,Vt,M,T,L),st=Se[Ee]=Ce++,Vt!==He&&d(Se[Ee+Pe],st,H,G,Vt,He,M,T,L)),Ee+=1,z+=re,ke=2;ke 0\"),typeof f.vertex!=\"function\"&&h(\"Must specify vertex creation function\"),typeof f.cell!=\"function\"&&h(\"Must specify cell creation function\"),typeof f.phase!=\"function\"&&h(\"Must specify phase function\");for(var b=f.getters||[],p=new Array(v),k=0;k=0?p[k]=!0:p[k]=!1;return u(f.vertex,f.cell,f.phase,m,d,p)}},6199:function(i,a,o){\"use strict\";var s=o(1338),l={zero:function(L,x,C,S){var g=L[0],P=C[0];S|=0;var E=0,z=P;for(E=0;E2&&E[1]>2&&S(P.pick(-1,-1).lo(1,1).hi(E[0]-2,E[1]-2),g.pick(-1,-1,0).lo(1,1).hi(E[0]-2,E[1]-2),g.pick(-1,-1,1).lo(1,1).hi(E[0]-2,E[1]-2)),E[1]>2&&(C(P.pick(0,-1).lo(1).hi(E[1]-2),g.pick(0,-1,1).lo(1).hi(E[1]-2)),x(g.pick(0,-1,0).lo(1).hi(E[1]-2))),E[1]>2&&(C(P.pick(E[0]-1,-1).lo(1).hi(E[1]-2),g.pick(E[0]-1,-1,1).lo(1).hi(E[1]-2)),x(g.pick(E[0]-1,-1,0).lo(1).hi(E[1]-2))),E[0]>2&&(C(P.pick(-1,0).lo(1).hi(E[0]-2),g.pick(-1,0,0).lo(1).hi(E[0]-2)),x(g.pick(-1,0,1).lo(1).hi(E[0]-2))),E[0]>2&&(C(P.pick(-1,E[1]-1).lo(1).hi(E[0]-2),g.pick(-1,E[1]-1,0).lo(1).hi(E[0]-2)),x(g.pick(-1,E[1]-1,1).lo(1).hi(E[0]-2))),g.set(0,0,0,0),g.set(0,0,1,0),g.set(E[0]-1,0,0,0),g.set(E[0]-1,0,1,0),g.set(0,E[1]-1,0,0),g.set(0,E[1]-1,1,0),g.set(E[0]-1,E[1]-1,0,0),g.set(E[0]-1,E[1]-1,1,0),g}}function T(L){var x=L.join(),E=v[x];if(E)return E;for(var C=L.length,S=[b,p],g=1;g<=C;++g)S.push(k(g));var P=M,E=P.apply(void 0,S);return v[x]=E,E}i.exports=function(x,C,S){if(Array.isArray(S)||(typeof S==\"string\"?S=s(C.dimension,S):S=s(C.dimension,\"clamp\")),C.size===0)return x;if(C.dimension===0)return x.set(0),x;var g=T(S);return g(x,C)}},4317:function(i){\"use strict\";function a(c,f){var h=Math.floor(f),d=f-h,v=0<=h&&h0;){j<64?(x=j,j=0):(x=64,j-=64);for(var N=v[1]|0;N>0;){N<64?(C=N,N=0):(C=64,N-=64),p=G+j*g+N*P,T=Z+j*z+N*q;var H=0,re=0,oe=0,_e=E,ke=g-S*E,Ce=P-x*g,ge=U,ie=z-S*U,Se=q-x*z;for(oe=0;oe0;){q<64?(x=q,q=0):(x=64,q-=64);for(var U=v[0]|0;U>0;){U<64?(L=U,U=0):(L=64,U-=64),p=E+q*S+U*C,T=z+q*P+U*g;var G=0,Z=0,j=S,N=C-x*S,H=P,re=g-x*P;for(Z=0;Z0;){Z<64?(C=Z,Z=0):(C=64,Z-=64);for(var j=v[0]|0;j>0;){j<64?(L=j,j=0):(L=64,j-=64);for(var N=v[1]|0;N>0;){N<64?(x=N,N=0):(x=64,N-=64),p=U+Z*P+j*S+N*g,T=G+Z*q+j*E+N*z;var H=0,re=0,oe=0,_e=P,ke=S-C*P,Ce=g-L*S,ge=q,ie=E-C*q,Se=z-L*E;for(oe=0;oek;){H=0,re=G-x;t:for(j=0;j_e)break t;re+=E,H+=z}for(H=G,re=G-x,j=0;j>1,N=j-U,H=j+U,re=G,oe=N,_e=j,ke=H,Ce=Z,ge=M+1,ie=T-1,Se=!0,Ee,we,De,Le,me,Pe,ce,He,lt,mt=0,Vt=0,st=0,ct,Qt,Ht,nr,tt,je,Ue,Ae,rt,St,Tt,dt,Et,pt,Xt,or,_r=P,Er=b(_r),ei=b(_r);Qt=C*re,Ht=C*oe,or=x;e:for(ct=0;ct0){we=re,re=oe,oe=we;break e}if(st<0)break e;or+=z}Qt=C*ke,Ht=C*Ce,or=x;e:for(ct=0;ct0){we=ke,ke=Ce,Ce=we;break e}if(st<0)break e;or+=z}Qt=C*re,Ht=C*_e,or=x;e:for(ct=0;ct0){we=re,re=_e,_e=we;break e}if(st<0)break e;or+=z}Qt=C*oe,Ht=C*_e,or=x;e:for(ct=0;ct0){we=oe,oe=_e,_e=we;break e}if(st<0)break e;or+=z}Qt=C*re,Ht=C*ke,or=x;e:for(ct=0;ct0){we=re,re=ke,ke=we;break e}if(st<0)break e;or+=z}Qt=C*_e,Ht=C*ke,or=x;e:for(ct=0;ct0){we=_e,_e=ke,ke=we;break e}if(st<0)break e;or+=z}Qt=C*oe,Ht=C*Ce,or=x;e:for(ct=0;ct0){we=oe,oe=Ce,Ce=we;break e}if(st<0)break e;or+=z}Qt=C*oe,Ht=C*_e,or=x;e:for(ct=0;ct0){we=oe,oe=_e,_e=we;break e}if(st<0)break e;or+=z}Qt=C*ke,Ht=C*Ce,or=x;e:for(ct=0;ct0){we=ke,ke=Ce,Ce=we;break e}if(st<0)break e;or+=z}for(Qt=C*re,Ht=C*oe,nr=C*_e,tt=C*ke,je=C*Ce,Ue=C*G,Ae=C*j,rt=C*Z,Xt=0,or=x,ct=0;ct0)ie--;else if(st<0){for(Qt=C*Pe,Ht=C*ge,nr=C*ie,or=x,ct=0;ct0)for(;;){ce=x+ie*C,Xt=0;e:for(ct=0;ct0){if(--ieZ){e:for(;;){for(ce=x+ge*C,Xt=0,or=x,ct=0;ct1&&k?T(p,k[0],k[1]):T(p)}var d={\"uint32,1,0\":function(m,b){return function(p){var k=p.data,M=p.offset|0,T=p.shape,L=p.stride,x=L[0]|0,C=T[0]|0,S=L[1]|0,g=T[1]|0,P=S,E=S,z=1;C<=32?m(0,C-1,k,M,x,S,C,g,P,E,z):b(0,C-1,k,M,x,S,C,g,P,E,z)}}};function v(m,b){var p=[b,m].join(\",\"),k=d[p],M=c(m,b),T=h(m,b,M);return k(M,T)}i.exports=v},446:function(i,a,o){\"use strict\";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,d=[f,h],v=d.join(\":\"),m=l[v];return m||(l[v]=m=s(f,h)),m(c),c}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array!=\"undefined\";function u(b,p){return b[0]-p[0]}function c(){var b=this.stride,p=new Array(b.length),k;for(k=0;k=0&&(S=x|0,C+=P*S,g-=S),new M(this.data,g,P,C)},T.step=function(x){var C=this.shape[0],S=this.stride[0],g=this.offset,P=0,E=Math.ceil;return typeof x==\"number\"&&(P=x|0,P<0?(g+=S*(C-1),C=E(-C/P)):C=E(C/P),S*=P),new M(this.data,C,S,g)},T.transpose=function(x){x=x===void 0?0:x|0;var C=this.shape,S=this.stride;return new M(this.data,C[x],S[x],this.offset)},T.pick=function(x){var C=[],S=[],g=this.offset;typeof x==\"number\"&&x>=0?g=g+this.stride[0]*x|0:(C.push(this.shape[0]),S.push(this.stride[0]));var P=p[C.length+1];return P(this.data,C,S,g)},function(x,C,S,g){return new M(x,C[0],S[0],g)}},2:function(b,p,k){function M(L,x,C,S,g,P){this.data=L,this.shape=[x,C],this.stride=[S,g],this.offset=P|0}var T=M.prototype;return T.dtype=b,T.dimension=2,Object.defineProperty(T,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(T,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),T.set=function(x,C,S){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*C,S):this.data[this.offset+this.stride[0]*x+this.stride[1]*C]=S},T.get=function(x,C){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*C):this.data[this.offset+this.stride[0]*x+this.stride[1]*C]},T.index=function(x,C){return this.offset+this.stride[0]*x+this.stride[1]*C},T.hi=function(x,C){return new M(this.data,typeof x!=\"number\"||x<0?this.shape[0]:x|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,this.stride[0],this.stride[1],this.offset)},T.lo=function(x,C){var S=this.offset,g=0,P=this.shape[0],E=this.shape[1],z=this.stride[0],q=this.stride[1];return typeof x==\"number\"&&x>=0&&(g=x|0,S+=z*g,P-=g),typeof C==\"number\"&&C>=0&&(g=C|0,S+=q*g,E-=g),new M(this.data,P,E,z,q,S)},T.step=function(x,C){var S=this.shape[0],g=this.shape[1],P=this.stride[0],E=this.stride[1],z=this.offset,q=0,U=Math.ceil;return typeof x==\"number\"&&(q=x|0,q<0?(z+=P*(S-1),S=U(-S/q)):S=U(S/q),P*=q),typeof C==\"number\"&&(q=C|0,q<0?(z+=E*(g-1),g=U(-g/q)):g=U(g/q),E*=q),new M(this.data,S,g,P,E,z)},T.transpose=function(x,C){x=x===void 0?0:x|0,C=C===void 0?1:C|0;var S=this.shape,g=this.stride;return new M(this.data,S[x],S[C],g[x],g[C],this.offset)},T.pick=function(x,C){var S=[],g=[],P=this.offset;typeof x==\"number\"&&x>=0?P=P+this.stride[0]*x|0:(S.push(this.shape[0]),g.push(this.stride[0])),typeof C==\"number\"&&C>=0?P=P+this.stride[1]*C|0:(S.push(this.shape[1]),g.push(this.stride[1]));var E=p[S.length+1];return E(this.data,S,g,P)},function(x,C,S,g){return new M(x,C[0],C[1],S[0],S[1],g)}},3:function(b,p,k){function M(L,x,C,S,g,P,E,z){this.data=L,this.shape=[x,C,S],this.stride=[g,P,E],this.offset=z|0}var T=M.prototype;return T.dtype=b,T.dimension=3,Object.defineProperty(T,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(T,\"order\",{get:function(){var x=Math.abs(this.stride[0]),C=Math.abs(this.stride[1]),S=Math.abs(this.stride[2]);return x>C?C>S?[2,1,0]:x>S?[1,2,0]:[1,0,2]:x>S?[2,0,1]:S>C?[0,1,2]:[0,2,1]}}),T.set=function(x,C,S,g){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S,g):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S]=g},T.get=function(x,C,S){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S]},T.index=function(x,C,S){return this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S},T.hi=function(x,C,S){return new M(this.data,typeof x!=\"number\"||x<0?this.shape[0]:x|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof S!=\"number\"||S<0?this.shape[2]:S|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},T.lo=function(x,C,S){var g=this.offset,P=0,E=this.shape[0],z=this.shape[1],q=this.shape[2],U=this.stride[0],G=this.stride[1],Z=this.stride[2];return typeof x==\"number\"&&x>=0&&(P=x|0,g+=U*P,E-=P),typeof C==\"number\"&&C>=0&&(P=C|0,g+=G*P,z-=P),typeof S==\"number\"&&S>=0&&(P=S|0,g+=Z*P,q-=P),new M(this.data,E,z,q,U,G,Z,g)},T.step=function(x,C,S){var g=this.shape[0],P=this.shape[1],E=this.shape[2],z=this.stride[0],q=this.stride[1],U=this.stride[2],G=this.offset,Z=0,j=Math.ceil;return typeof x==\"number\"&&(Z=x|0,Z<0?(G+=z*(g-1),g=j(-g/Z)):g=j(g/Z),z*=Z),typeof C==\"number\"&&(Z=C|0,Z<0?(G+=q*(P-1),P=j(-P/Z)):P=j(P/Z),q*=Z),typeof S==\"number\"&&(Z=S|0,Z<0?(G+=U*(E-1),E=j(-E/Z)):E=j(E/Z),U*=Z),new M(this.data,g,P,E,z,q,U,G)},T.transpose=function(x,C,S){x=x===void 0?0:x|0,C=C===void 0?1:C|0,S=S===void 0?2:S|0;var g=this.shape,P=this.stride;return new M(this.data,g[x],g[C],g[S],P[x],P[C],P[S],this.offset)},T.pick=function(x,C,S){var g=[],P=[],E=this.offset;typeof x==\"number\"&&x>=0?E=E+this.stride[0]*x|0:(g.push(this.shape[0]),P.push(this.stride[0])),typeof C==\"number\"&&C>=0?E=E+this.stride[1]*C|0:(g.push(this.shape[1]),P.push(this.stride[1])),typeof S==\"number\"&&S>=0?E=E+this.stride[2]*S|0:(g.push(this.shape[2]),P.push(this.stride[2]));var z=p[g.length+1];return z(this.data,g,P,E)},function(x,C,S,g){return new M(x,C[0],C[1],C[2],S[0],S[1],S[2],g)}},4:function(b,p,k){function M(L,x,C,S,g,P,E,z,q,U){this.data=L,this.shape=[x,C,S,g],this.stride=[P,E,z,q],this.offset=U|0}var T=M.prototype;return T.dtype=b,T.dimension=4,Object.defineProperty(T,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(T,\"order\",{get:k}),T.set=function(x,C,S,g,P){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S+this.stride[3]*g,P):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S+this.stride[3]*g]=P},T.get=function(x,C,S,g){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S+this.stride[3]*g):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S+this.stride[3]*g]},T.index=function(x,C,S,g){return this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S+this.stride[3]*g},T.hi=function(x,C,S,g){return new M(this.data,typeof x!=\"number\"||x<0?this.shape[0]:x|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof S!=\"number\"||S<0?this.shape[2]:S|0,typeof g!=\"number\"||g<0?this.shape[3]:g|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},T.lo=function(x,C,S,g){var P=this.offset,E=0,z=this.shape[0],q=this.shape[1],U=this.shape[2],G=this.shape[3],Z=this.stride[0],j=this.stride[1],N=this.stride[2],H=this.stride[3];return typeof x==\"number\"&&x>=0&&(E=x|0,P+=Z*E,z-=E),typeof C==\"number\"&&C>=0&&(E=C|0,P+=j*E,q-=E),typeof S==\"number\"&&S>=0&&(E=S|0,P+=N*E,U-=E),typeof g==\"number\"&&g>=0&&(E=g|0,P+=H*E,G-=E),new M(this.data,z,q,U,G,Z,j,N,H,P)},T.step=function(x,C,S,g){var P=this.shape[0],E=this.shape[1],z=this.shape[2],q=this.shape[3],U=this.stride[0],G=this.stride[1],Z=this.stride[2],j=this.stride[3],N=this.offset,H=0,re=Math.ceil;return typeof x==\"number\"&&(H=x|0,H<0?(N+=U*(P-1),P=re(-P/H)):P=re(P/H),U*=H),typeof C==\"number\"&&(H=C|0,H<0?(N+=G*(E-1),E=re(-E/H)):E=re(E/H),G*=H),typeof S==\"number\"&&(H=S|0,H<0?(N+=Z*(z-1),z=re(-z/H)):z=re(z/H),Z*=H),typeof g==\"number\"&&(H=g|0,H<0?(N+=j*(q-1),q=re(-q/H)):q=re(q/H),j*=H),new M(this.data,P,E,z,q,U,G,Z,j,N)},T.transpose=function(x,C,S,g){x=x===void 0?0:x|0,C=C===void 0?1:C|0,S=S===void 0?2:S|0,g=g===void 0?3:g|0;var P=this.shape,E=this.stride;return new M(this.data,P[x],P[C],P[S],P[g],E[x],E[C],E[S],E[g],this.offset)},T.pick=function(x,C,S,g){var P=[],E=[],z=this.offset;typeof x==\"number\"&&x>=0?z=z+this.stride[0]*x|0:(P.push(this.shape[0]),E.push(this.stride[0])),typeof C==\"number\"&&C>=0?z=z+this.stride[1]*C|0:(P.push(this.shape[1]),E.push(this.stride[1])),typeof S==\"number\"&&S>=0?z=z+this.stride[2]*S|0:(P.push(this.shape[2]),E.push(this.stride[2])),typeof g==\"number\"&&g>=0?z=z+this.stride[3]*g|0:(P.push(this.shape[3]),E.push(this.stride[3]));var q=p[P.length+1];return q(this.data,P,E,z)},function(x,C,S,g){return new M(x,C[0],C[1],C[2],C[3],S[0],S[1],S[2],S[3],g)}},5:function(p,k,M){function T(x,C,S,g,P,E,z,q,U,G,Z,j){this.data=x,this.shape=[C,S,g,P,E],this.stride=[z,q,U,G,Z],this.offset=j|0}var L=T.prototype;return L.dtype=p,L.dimension=5,Object.defineProperty(L,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,\"order\",{get:M}),L.set=function(C,S,g,P,E,z){return p===\"generic\"?this.data.set(this.offset+this.stride[0]*C+this.stride[1]*S+this.stride[2]*g+this.stride[3]*P+this.stride[4]*E,z):this.data[this.offset+this.stride[0]*C+this.stride[1]*S+this.stride[2]*g+this.stride[3]*P+this.stride[4]*E]=z},L.get=function(C,S,g,P,E){return p===\"generic\"?this.data.get(this.offset+this.stride[0]*C+this.stride[1]*S+this.stride[2]*g+this.stride[3]*P+this.stride[4]*E):this.data[this.offset+this.stride[0]*C+this.stride[1]*S+this.stride[2]*g+this.stride[3]*P+this.stride[4]*E]},L.index=function(C,S,g,P,E){return this.offset+this.stride[0]*C+this.stride[1]*S+this.stride[2]*g+this.stride[3]*P+this.stride[4]*E},L.hi=function(C,S,g,P,E){return new T(this.data,typeof C!=\"number\"||C<0?this.shape[0]:C|0,typeof S!=\"number\"||S<0?this.shape[1]:S|0,typeof g!=\"number\"||g<0?this.shape[2]:g|0,typeof P!=\"number\"||P<0?this.shape[3]:P|0,typeof E!=\"number\"||E<0?this.shape[4]:E|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(C,S,g,P,E){var z=this.offset,q=0,U=this.shape[0],G=this.shape[1],Z=this.shape[2],j=this.shape[3],N=this.shape[4],H=this.stride[0],re=this.stride[1],oe=this.stride[2],_e=this.stride[3],ke=this.stride[4];return typeof C==\"number\"&&C>=0&&(q=C|0,z+=H*q,U-=q),typeof S==\"number\"&&S>=0&&(q=S|0,z+=re*q,G-=q),typeof g==\"number\"&&g>=0&&(q=g|0,z+=oe*q,Z-=q),typeof P==\"number\"&&P>=0&&(q=P|0,z+=_e*q,j-=q),typeof E==\"number\"&&E>=0&&(q=E|0,z+=ke*q,N-=q),new T(this.data,U,G,Z,j,N,H,re,oe,_e,ke,z)},L.step=function(C,S,g,P,E){var z=this.shape[0],q=this.shape[1],U=this.shape[2],G=this.shape[3],Z=this.shape[4],j=this.stride[0],N=this.stride[1],H=this.stride[2],re=this.stride[3],oe=this.stride[4],_e=this.offset,ke=0,Ce=Math.ceil;return typeof C==\"number\"&&(ke=C|0,ke<0?(_e+=j*(z-1),z=Ce(-z/ke)):z=Ce(z/ke),j*=ke),typeof S==\"number\"&&(ke=S|0,ke<0?(_e+=N*(q-1),q=Ce(-q/ke)):q=Ce(q/ke),N*=ke),typeof g==\"number\"&&(ke=g|0,ke<0?(_e+=H*(U-1),U=Ce(-U/ke)):U=Ce(U/ke),H*=ke),typeof P==\"number\"&&(ke=P|0,ke<0?(_e+=re*(G-1),G=Ce(-G/ke)):G=Ce(G/ke),re*=ke),typeof E==\"number\"&&(ke=E|0,ke<0?(_e+=oe*(Z-1),Z=Ce(-Z/ke)):Z=Ce(Z/ke),oe*=ke),new T(this.data,z,q,U,G,Z,j,N,H,re,oe,_e)},L.transpose=function(C,S,g,P,E){C=C===void 0?0:C|0,S=S===void 0?1:S|0,g=g===void 0?2:g|0,P=P===void 0?3:P|0,E=E===void 0?4:E|0;var z=this.shape,q=this.stride;return new T(this.data,z[C],z[S],z[g],z[P],z[E],q[C],q[S],q[g],q[P],q[E],this.offset)},L.pick=function(C,S,g,P,E){var z=[],q=[],U=this.offset;typeof C==\"number\"&&C>=0?U=U+this.stride[0]*C|0:(z.push(this.shape[0]),q.push(this.stride[0])),typeof S==\"number\"&&S>=0?U=U+this.stride[1]*S|0:(z.push(this.shape[1]),q.push(this.stride[1])),typeof g==\"number\"&&g>=0?U=U+this.stride[2]*g|0:(z.push(this.shape[2]),q.push(this.stride[2])),typeof P==\"number\"&&P>=0?U=U+this.stride[3]*P|0:(z.push(this.shape[3]),q.push(this.stride[3])),typeof E==\"number\"&&E>=0?U=U+this.stride[4]*E|0:(z.push(this.shape[4]),q.push(this.stride[4]));var G=k[z.length+1];return G(this.data,z,q,U)},function(C,S,g,P){return new T(C,S[0],S[1],S[2],S[3],S[4],g[0],g[1],g[2],g[3],g[4],P)}}};function h(b,p){var k=p===-1?\"T\":String(p),M=f[k];return p===-1?M(b):p===0?M(b,v[b][0]):M(b,v[b],c)}function d(b){if(s(b))return\"buffer\";if(l)switch(Object.prototype.toString.call(b)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(b)?\"array\":\"generic\"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function m(b,p,k,M){if(b===void 0){var g=v.array[0];return g([])}else typeof b==\"number\"&&(b=[b]);p===void 0&&(p=[b.length]);var T=p.length;if(k===void 0){k=new Array(T);for(var L=T-1,x=1;L>=0;--L)k[L]=x,x*=p[L]}if(M===void 0){M=0;for(var L=0;L>>0;i.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var d=s.hi(f),v=s.lo(f);return h>f==f>0?v===u?(d+=1,v=0):v+=1:v===0?(v=u,d-=1):v-=1,s.pack(v,d)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),d=c===void 0?o:c,v=0;vd)for(var z=h[p],q=1/Math.sqrt(S*P),E=0;E<3;++E){var U=(E+1)%3,G=(E+2)%3;z[E]+=q*(g[U]*C[G]-g[G]*C[U])}}for(var v=0;vd)for(var q=1/Math.sqrt(Z),E=0;E<3;++E)z[E]*=q;else for(var E=0;E<3;++E)z[E]=0}return h},a.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),d=c===void 0?s:c,v=0;vd?L=1/Math.sqrt(L):L=0;for(var p=0;p<3;++p)T[p]*=L;h[v]=T}return h}},4081:function(i){\"use strict\";i.exports=a;function a(o,s,l,u,c,f,h,d,v,m){var b=s+f+m;if(p>0){var p=Math.sqrt(b+1);o[0]=.5*(h-v)/p,o[1]=.5*(d-u)/p,o[2]=.5*(l-f)/p,o[3]=.5*p}else{var k=Math.max(s,f,m),p=Math.sqrt(2*k-b+1);s>=k?(o[0]=.5*p,o[1]=.5*(c+l)/p,o[2]=.5*(d+u)/p,o[3]=.5*(h-v)/p):f>=k?(o[0]=.5*(l+c)/p,o[1]=.5*p,o[2]=.5*(v+h)/p,o[3]=.5*(d-u)/p):(o[0]=.5*(u+d)/p,o[1]=.5*(h+v)/p,o[2]=.5*p,o[3]=.5*(l-c)/p)}return o}},9977:function(i,a,o){\"use strict\";i.exports=p;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(k,M,T){return Math.sqrt(Math.pow(k,2)+Math.pow(M,2)+Math.pow(T,2))}function d(k,M,T,L){return Math.sqrt(Math.pow(k,2)+Math.pow(M,2)+Math.pow(T,2)+Math.pow(L,2))}function v(k,M){var T=M[0],L=M[1],x=M[2],C=M[3],S=d(T,L,x,C);S>1e-6?(k[0]=T/S,k[1]=L/S,k[2]=x/S,k[3]=C/S):(k[0]=k[1]=k[2]=0,k[3]=1)}function m(k,M,T){this.radius=s([T]),this.center=s(M),this.rotation=s(k),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 b=m.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(k){this.radius.curve(k),this.center.curve(k),this.rotation.curve(k);var M=this.computedRotation;v(M,M);var T=this.computedMatrix;u(T,M);var L=this.computedCenter,x=this.computedEye,C=this.computedUp,S=Math.exp(this.computedRadius[0]);x[0]=L[0]+S*T[2],x[1]=L[1]+S*T[6],x[2]=L[2]+S*T[10],C[0]=T[1],C[1]=T[5],C[2]=T[9];for(var g=0;g<3;++g){for(var P=0,E=0;E<3;++E)P+=T[g+4*E]*x[E];T[12+g]=-P}},b.getMatrix=function(k,M){this.recalcMatrix(k);var T=this.computedMatrix;if(M){for(var L=0;L<16;++L)M[L]=T[L];return M}return T},b.idle=function(k){this.center.idle(k),this.radius.idle(k),this.rotation.idle(k)},b.flush=function(k){this.center.flush(k),this.radius.flush(k),this.rotation.flush(k)},b.pan=function(k,M,T,L){M=M||0,T=T||0,L=L||0,this.recalcMatrix(k);var x=this.computedMatrix,C=x[1],S=x[5],g=x[9],P=h(C,S,g);C/=P,S/=P,g/=P;var E=x[0],z=x[4],q=x[8],U=E*C+z*S+q*g;E-=C*U,z-=S*U,q-=g*U;var G=h(E,z,q);E/=G,z/=G,q/=G;var Z=x[2],j=x[6],N=x[10],H=Z*C+j*S+N*g,re=Z*E+j*z+N*q;Z-=H*C+re*E,j-=H*S+re*z,N-=H*g+re*q;var oe=h(Z,j,N);Z/=oe,j/=oe,N/=oe;var _e=E*M+C*T,ke=z*M+S*T,Ce=q*M+g*T;this.center.move(k,_e,ke,Ce);var ge=Math.exp(this.computedRadius[0]);ge=Math.max(1e-4,ge+L),this.radius.set(k,Math.log(ge))},b.rotate=function(k,M,T,L){this.recalcMatrix(k),M=M||0,T=T||0;var x=this.computedMatrix,C=x[0],S=x[4],g=x[8],P=x[1],E=x[5],z=x[9],q=x[2],U=x[6],G=x[10],Z=M*C+T*P,j=M*S+T*E,N=M*g+T*z,H=-(U*N-G*j),re=-(G*Z-q*N),oe=-(q*j-U*Z),_e=Math.sqrt(Math.max(0,1-Math.pow(H,2)-Math.pow(re,2)-Math.pow(oe,2))),ke=d(H,re,oe,_e);ke>1e-6?(H/=ke,re/=ke,oe/=ke,_e/=ke):(H=re=oe=0,_e=1);var Ce=this.computedRotation,ge=Ce[0],ie=Ce[1],Se=Ce[2],Ee=Ce[3],we=ge*_e+Ee*H+ie*oe-Se*re,De=ie*_e+Ee*re+Se*H-ge*oe,Le=Se*_e+Ee*oe+ge*re-ie*H,me=Ee*_e-ge*H-ie*re-Se*oe;if(L){H=q,re=U,oe=G;var Pe=Math.sin(L)/h(H,re,oe);H*=Pe,re*=Pe,oe*=Pe,_e=Math.cos(M),we=we*_e+me*H+De*oe-Le*re,De=De*_e+me*re+Le*H-we*oe,Le=Le*_e+me*oe+we*re-De*H,me=me*_e-we*H-De*re-Le*oe}var ce=d(we,De,Le,me);ce>1e-6?(we/=ce,De/=ce,Le/=ce,me/=ce):(we=De=Le=0,me=1),this.rotation.set(k,we,De,Le,me)},b.lookAt=function(k,M,T,L){this.recalcMatrix(k),T=T||this.computedCenter,M=M||this.computedEye,L=L||this.computedUp;var x=this.computedMatrix;l(x,M,T,L);var C=this.computedRotation;f(C,x[0],x[1],x[2],x[4],x[5],x[6],x[8],x[9],x[10]),v(C,C),this.rotation.set(k,C[0],C[1],C[2],C[3]);for(var S=0,g=0;g<3;++g)S+=Math.pow(T[g]-M[g],2);this.radius.set(k,.5*Math.log(Math.max(S,1e-6))),this.center.set(k,T[0],T[1],T[2])},b.translate=function(k,M,T,L){this.center.move(k,M||0,T||0,L||0)},b.setMatrix=function(k,M){var T=this.computedRotation;f(T,M[0],M[1],M[2],M[4],M[5],M[6],M[8],M[9],M[10]),v(T,T),this.rotation.set(k,T[0],T[1],T[2],T[3]);var L=this.computedMatrix;c(L,M);var x=L[15];if(Math.abs(x)>1e-6){var C=L[12]/x,S=L[13]/x,g=L[14]/x;this.recalcMatrix(k);var P=Math.exp(this.computedRadius[0]);this.center.set(k,C-L[2]*P,S-L[6]*P,g-L[10]*P),this.radius.idle(k)}else this.center.idle(k),this.radius.idle(k)},b.setDistance=function(k,M){M>0&&this.radius.set(k,Math.log(M))},b.setDistanceLimits=function(k,M){k>0?k=Math.log(k):k=-1/0,M>0?M=Math.log(M):M=1/0,M=Math.max(M,k),this.radius.bounds[0][0]=k,this.radius.bounds[1][0]=M},b.getDistanceLimits=function(k){var M=this.radius.bounds;return k?(k[0]=Math.exp(M[0][0]),k[1]=Math.exp(M[1][0]),k):[Math.exp(M[0][0]),Math.exp(M[1][0])]},b.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]}},b.fromJSON=function(k){var M=this.lastT(),T=k.center;T&&this.center.set(M,T[0],T[1],T[2]);var L=k.rotation;L&&this.rotation.set(M,L[0],L[1],L[2],L[3]);var x=k.distance;x&&x>0&&this.radius.set(M,Math.log(x)),this.setDistanceLimits(k.zoomMin,k.zoomMax)};function p(k){k=k||{};var M=k.center||[0,0,0],T=k.rotation||[0,0,0,1],L=k.radius||1;M=[].slice.call(M,0,3),T=[].slice.call(T,0,4),v(T,T);var x=new m(T,M,Math.log(L));return x.setDistanceLimits(k.zoomMin,k.zoomMax),(\"eye\"in k||\"up\"in k)&&x.lookAt(0,k.eye,k.center,k.up),x}},1371:function(i,a,o){\"use strict\";var s=o(3233);i.exports=function(u,c,f){return f=typeof f!=\"undefined\"?f+\"\":\" \",s(f,c)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,\"\"]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",s}},3088:function(i,a,o){\"use strict\";i.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,d=[new Array(f),new Array(f)],v=0;v0){z=d[G][P][0],U=G;break}q=z[U^1];for(var Z=0;Z<2;++Z)for(var j=d[Z][P],N=0;N0&&(z=H,q=re,U=Z)}return E||z&&p(z,U),q}function M(g,P){var E=d[P][g][0],z=[g];p(E,P);for(var q=E[P^1],U=P;;){for(;q!==g;)z.push(q),q=k(z[z.length-2],q,!1);if(d[0][g].length+d[1][g].length===0)break;var G=z[z.length-1],Z=g,j=z[1],N=k(G,Z,!0);if(s(c[G],c[Z],c[j],c[N])<0)break;z.push(g),q=k(G,Z)}return z}function T(g,P){return P[1]===P[P.length-1]}for(var v=0;v0;){var C=d[0][v].length,S=M(v,L);T(x,S)?x.push.apply(x,S):(x.length>0&&b.push(x),x=S)}x.length>0&&b.push(x)}return b}},5609:function(i,a,o){\"use strict\";i.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),d=new Array(c.length),v=[],m=0;m0;){var p=v.pop();h[p]=!1;for(var k=f[p],m=0;m0}C=C.filter(S);for(var g=C.length,P=new Array(g),E=new Array(g),x=0;x0;){var ce=Le.pop(),He=ke[ce];h(He,function(ct,Qt){return ct-Qt});var lt=He.length,mt=me[ce],Vt;if(mt===0){var j=C[ce];Vt=[j]}for(var x=0;x=0)&&(me[st]=mt^1,Le.push(st),mt===0)){var j=C[st];De(j)||(j.reverse(),Vt.push(j))}}mt===0&&Pe.push(Vt)}return Pe}},5085:function(i,a,o){i.exports=k;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(M){return function(T,L){var x=M[T];return x?!!x.queryPoint(L,f):!1}}function d(M){for(var T={},L=0;L0&&T[x]===L[0])C=M[x-1];else return 1;for(var S=1;C;){var g=C.key,P=s(L,g[0],g[1]);if(g[0][0]0)S=-1,C=C.right;else return 0;else if(P>0)C=C.left;else if(P<0)S=1,C=C.right;else return 0}return S}}function m(M){return 1}function b(M){return function(L){return M(L[0],L[1])?0:1}}function p(M,T){return function(x){return M(x[0],x[1])?0:T(x)}}function k(M){for(var T=M.length,L=[],x=[],C=0,S=0;S=m?(g=1,E=m+2*k+T):(g=-k/m,E=k*g+T)):(g=0,M>=0?(P=0,E=T):-M>=p?(P=1,E=p+2*M+T):(P=-M/p,E=M*P+T));else if(P<0)P=0,k>=0?(g=0,E=T):-k>=m?(g=1,E=m+2*k+T):(g=-k/m,E=k*g+T);else{var z=1/S;g*=z,P*=z,E=g*(m*g+b*P+2*k)+P*(b*g+p*P+2*M)+T}else{var q,U,G,Z;g<0?(q=b+k,U=p+M,U>q?(G=U-q,Z=m-2*b+p,G>=Z?(g=1,P=0,E=m+2*k+T):(g=G/Z,P=1-g,E=g*(m*g+b*P+2*k)+P*(b*g+p*P+2*M)+T)):(g=0,U<=0?(P=1,E=p+2*M+T):M>=0?(P=0,E=T):(P=-M/p,E=M*P+T))):P<0?(q=b+M,U=m+k,U>q?(G=U-q,Z=m-2*b+p,G>=Z?(P=1,g=0,E=p+2*M+T):(P=G/Z,g=1-P,E=g*(m*g+b*P+2*k)+P*(b*g+p*P+2*M)+T)):(P=0,U<=0?(g=1,E=m+2*k+T):k>=0?(g=0,E=T):(g=-k/m,E=k*g+T))):(G=p+M-b-k,G<=0?(g=0,P=1,E=p+2*M+T):(Z=m-2*b+p,G>=Z?(g=1,P=0,E=m+2*k+T):(g=G/Z,P=1-g,E=g*(m*g+b*P+2*k)+P*(b*g+p*P+2*M)+T)))}for(var j=1-g-P,v=0;v0){var p=f[d-1];if(s(m,p)===0&&u(p)!==b){d-=1;continue}}f[d++]=m}}return f.length=d,f}},3233:function(i){\"use strict\";var a=\"\",o;i.exports=s;function s(l,u){if(typeof l!=\"string\")throw new TypeError(\"expected a string\");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o==\"undefined\")o=l,a=\"\";else if(a.length>=c)return a.substr(0,c);for(;c>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,c),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){\"use strict\";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var d=l-f,v=h-d;v&&(o[--u]=l,l=v)}for(var m=0,c=u;c0){if(U<=0)return G;Z=q+U}else if(q<0){if(U>=0)return G;Z=-(q+U)}else return G;var j=d*Z;return G>=j||G<=-j?G:M(P,E,z)},function(P,E,z,q){var U=P[0]-q[0],G=E[0]-q[0],Z=z[0]-q[0],j=P[1]-q[1],N=E[1]-q[1],H=z[1]-q[1],re=P[2]-q[2],oe=E[2]-q[2],_e=z[2]-q[2],ke=G*H,Ce=Z*N,ge=Z*j,ie=U*H,Se=U*N,Ee=G*j,we=re*(ke-Ce)+oe*(ge-ie)+_e*(Se-Ee),De=(Math.abs(ke)+Math.abs(Ce))*Math.abs(re)+(Math.abs(ge)+Math.abs(ie))*Math.abs(oe)+(Math.abs(Se)+Math.abs(Ee))*Math.abs(_e),Le=v*De;return we>Le||-we>Le?we:T(P,E,z,q)}];function x(g){var P=L[g.length];return P||(P=L[g.length]=k(g.length)),P.apply(void 0,g)}function C(g,P,E,z,q,U,G){return function(j,N,H,re,oe){switch(arguments.length){case 0:case 1:return 0;case 2:return z(j,N);case 3:return q(j,N,H);case 4:return U(j,N,H,re);case 5:return G(j,N,H,re,oe)}for(var _e=new Array(arguments.length),ke=0;ke0&&m>0||v<0&&m<0)return!1;var b=s(h,c,f),p=s(d,c,f);return b>0&&p>0||b<0&&p<0?!1:v===0&&m===0&&b===0&&p===0?l(c,f,h,d):!0}},8545:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],-l[0]);var f=u+c,h=new Array(f),d=0,v=0,m=0,b=Math.abs,p=s[v],k=b(p),M=-l[m],T=b(M),L,x;k=c?(L=p,v+=1,v=c?(L=p,v+=1,v>1,M=f[2*k+1];if(M===m)return k;m>1,M=f[2*k+1];if(M===m)return k;m>1,M=f[2*k+1];if(M===m)return k;m>1,M=f[2*k+1];if(M===m)return k;m>1,Z=d(P[G],E);Z<=0?(Z===0&&(U=G),z=G+1):Z>0&&(q=G-1)}return U}s=p;function k(P,E){for(var z=new Array(P.length),q=0,U=z.length;q=P.length||d(P[ke],G)!==0););}return z}s=k;function M(P,E){if(!E)return k(b(L(P,0)),P,0);for(var z=new Array(E),q=0;q>>H&1&&N.push(U[H]);E.push(N)}return m(E)}s=T;function L(P,E){if(E<0)return[];for(var z=[],q=(1<0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},2014:function(i,a,o){\"use strict\";\"use restrict\";var s=o(3105),l=o(4623);function u(g){for(var P=0,E=Math.max,z=0,q=g.length;z>1,G=h(g[U],P);G<=0?(G===0&&(q=U),E=U+1):G>0&&(z=U-1)}return q}a.findCell=b;function p(g,P){for(var E=new Array(g.length),z=0,q=E.length;z=g.length||h(g[_e],U)!==0););}return E}a.incidence=p;function k(g,P){if(!P)return p(m(T(g,0)),g,0);for(var E=new Array(P),z=0;z>>N&1&&j.push(q[N]);P.push(j)}return v(P)}a.explode=M;function T(g,P){if(P<0)return[];for(var E=[],z=(1<>1:(ie>>1)-1}function z(ie){for(var Se=P(ie);;){var Ee=Se,we=2*ie+1,De=2*(ie+1),Le=ie;if(we0;){var Ee=E(ie);if(Ee>=0){var we=P(Ee);if(Se0){var ie=j[0];return g(0,re-1),re-=1,z(0),ie}return-1}function G(ie,Se){var Ee=j[ie];return k[Ee]===Se?ie:(k[Ee]=-1/0,q(ie),U(),k[Ee]=Se,re+=1,q(re-1))}function Z(ie){if(!M[ie]){M[ie]=!0;var Se=b[ie],Ee=p[ie];b[Ee]>=0&&(b[Ee]=Se),p[Se]>=0&&(p[Se]=Ee),N[Se]>=0&&G(N[Se],S(Se)),N[Ee]>=0&&G(N[Ee],S(Ee))}}for(var j=[],N=new Array(v),T=0;T>1;T>=0;--T)z(T);for(;;){var oe=U();if(oe<0||k[oe]>d)break;Z(oe)}for(var _e=[],T=0;T=0&&Ee>=0&&Se!==Ee){var we=N[Se],De=N[Ee];we!==De&&ge.push([we,De])}}),l.unique(l.normalize(ge)),{positions:_e,edges:ge}}},1303:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){var h,d;if(f[0][0]f[1][0])h=f[1],d=f[0];else{var v=Math.min(c[0][1],c[1][1]),m=Math.max(c[0][1],c[1][1]),b=Math.min(f[0][1],f[1][1]),p=Math.max(f[0][1],f[1][1]);return mp?v-p:m-p}var k,M;c[0][1]f[1][0])h=f[1],d=f[0];else return l(f,c);var v,m;if(c[0][0]c[1][0])v=c[1],m=c[0];else return-l(c,f);var b=s(h,d,m),p=s(h,d,v);if(b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;if(b=s(m,v,d),p=s(m,v,h),b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;return d[0]-m[0]}},4209:function(i,a,o){\"use strict\";i.exports=p;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(k,M,T){this.slabs=k,this.coordinates=M,this.horizontal=T}var h=f.prototype;function d(k,M){return k.y-M}function v(k,M){for(var T=null;k;){var L=k.key,x,C;L[0][0]0)if(M[0]!==L[1][0])T=k,k=k.right;else{var g=v(k.right,M);if(g)return g;k=k.left}else{if(M[0]!==L[1][0])return k;var g=v(k.right,M);if(g)return g;k=k.left}}return T}h.castUp=function(k){var M=s.le(this.coordinates,k[0]);if(M<0)return-1;var T=this.slabs[M],L=v(this.slabs[M],k),x=-1;if(L&&(x=L.value),this.coordinates[M]===k[0]){var C=null;if(L&&(C=L.key),M>0){var S=v(this.slabs[M-1],k);S&&(C?c(S.key,C)>0&&(C=S.key,x=S.value):(x=S.value,C=S.key))}var g=this.horizontal[M];if(g.length>0){var P=s.ge(g,k[1],d);if(P=g.length)return x;E=g[P]}}if(E.start)if(C){var z=u(C[0],C[1],[k[0],E.y]);C[0][0]>C[1][0]&&(z=-z),z>0&&(x=E.index)}else x=E.index;else E.y!==k[1]&&(x=E.index)}}}return x};function m(k,M,T,L){this.y=k,this.index=M,this.start=T,this.closed=L}function b(k,M,T,L){this.x=k,this.segment=M,this.create=T,this.index=L}function p(k){for(var M=k.length,T=2*M,L=new Array(T),x=0;x1&&(M=1);for(var T=1-M,L=v.length,x=new Array(L),C=0;C0||k>0&&x<0){var C=c(M,x,T,k);b.push(C),p.push(C.slice())}x<0?p.push(T.slice()):x>0?b.push(T.slice()):(b.push(T.slice()),p.push(T.slice())),k=x}return{positive:b,negative:p}}function h(v,m){for(var b=[],p=u(v[v.length-1],m),k=v[v.length-1],M=v[0],T=0;T0||p>0&&L<0)&&b.push(c(k,L,M,p)),L>=0&&b.push(M.slice()),p=L}return b}function d(v,m){for(var b=[],p=u(v[v.length-1],m),k=v[v.length-1],M=v[0],T=0;T0||p>0&&L<0)&&b.push(c(k,L,M,p)),L<=0&&b.push(M.slice()),p=L}return b}},3387:function(i,a,o){var s;(function(){\"use strict\";var l={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 u(v){return f(d(v),arguments)}function c(v,m){return u.apply(null,[v].concat(m||[]))}function f(v,m){var b=1,p=v.length,k,M=\"\",T,L,x,C,S,g,P,E;for(T=0;T=0),x.type){case\"b\":k=parseInt(k,10).toString(2);break;case\"c\":k=String.fromCharCode(parseInt(k,10));break;case\"d\":case\"i\":k=parseInt(k,10);break;case\"j\":k=JSON.stringify(k,null,x.width?parseInt(x.width):0);break;case\"e\":k=x.precision?parseFloat(k).toExponential(x.precision):parseFloat(k).toExponential();break;case\"f\":k=x.precision?parseFloat(k).toFixed(x.precision):parseFloat(k);break;case\"g\":k=x.precision?String(Number(k.toPrecision(x.precision))):parseFloat(k);break;case\"o\":k=(parseInt(k,10)>>>0).toString(8);break;case\"s\":k=String(k),k=x.precision?k.substring(0,x.precision):k;break;case\"t\":k=String(!!k),k=x.precision?k.substring(0,x.precision):k;break;case\"T\":k=Object.prototype.toString.call(k).slice(8,-1).toLowerCase(),k=x.precision?k.substring(0,x.precision):k;break;case\"u\":k=parseInt(k,10)>>>0;break;case\"v\":k=k.valueOf(),k=x.precision?k.substring(0,x.precision):k;break;case\"x\":k=(parseInt(k,10)>>>0).toString(16);break;case\"X\":k=(parseInt(k,10)>>>0).toString(16).toUpperCase();break}l.json.test(x.type)?M+=k:(l.number.test(x.type)&&(!P||x.sign)?(E=P?\"+\":\"-\",k=k.toString().replace(l.sign,\"\")):E=\"\",S=x.pad_char?x.pad_char===\"0\"?\"0\":x.pad_char.charAt(1):\" \",g=x.width-(E+k).length,C=x.width&&g>0?S.repeat(g):\"\",M+=x.align?E+k+C:S===\"0\"?E+C+k:C+E+k)}return M}var h=Object.create(null);function d(v){if(h[v])return h[v];for(var m=v,b,p=[],k=0;m;){if((b=l.text.exec(m))!==null)p.push(b[0]);else if((b=l.modulo.exec(m))!==null)p.push(\"%\");else if((b=l.placeholder.exec(m))!==null){if(b[2]){k|=1;var M=[],T=b[2],L=[];if((L=l.key.exec(T))!==null)for(M.push(L[1]);(T=T.substring(L[0].length))!==\"\";)if((L=l.key_access.exec(T))!==null)M.push(L[1]);else if((L=l.index_access.exec(T))!==null)M.push(L[1]);else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");b[2]=M}else k|=2;if(k===3)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");p.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError(\"[sprintf] unexpected placeholder\");m=m.substring(b[0].length)}return h[v]=p}a.sprintf=u,a.vsprintf=c,typeof window!=\"undefined\"&&(window.sprintf=u,window.vsprintf=c,s=function(){return{sprintf:u,vsprintf:c}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){\"use strict\";i.exports=d;var s=o(2640),l=o(781),u={\"2d\":function(v,m,b){var p=v({order:m,scalarArguments:3,getters:b===\"generic\"?[0]:void 0,phase:function(M,T,L,x){return M>x|0},vertex:function(M,T,L,x,C,S,g,P,E,z,q,U,G){var Z=(g<<0)+(P<<1)+(E<<2)+(z<<3)|0;if(!(Z===0||Z===15))switch(Z){case 0:q.push([M-.5,T-.5]);break;case 1:q.push([M-.25-.25*(x+L-2*G)/(L-x),T-.25-.25*(C+L-2*G)/(L-C)]);break;case 2:q.push([M-.75-.25*(-x-L+2*G)/(x-L),T-.25-.25*(S+x-2*G)/(x-S)]);break;case 3:q.push([M-.5,T-.5-.5*(C+L+S+x-4*G)/(L-C+x-S)]);break;case 4:q.push([M-.25-.25*(S+C-2*G)/(C-S),T-.75-.25*(-C-L+2*G)/(C-L)]);break;case 5:q.push([M-.5-.5*(x+L+S+C-4*G)/(L-x+C-S),T-.5]);break;case 6:q.push([M-.5-.25*(-x-L+S+C)/(x-L+C-S),T-.5-.25*(-C-L+S+x)/(C-L+x-S)]);break;case 7:q.push([M-.75-.25*(S+C-2*G)/(C-S),T-.75-.25*(S+x-2*G)/(x-S)]);break;case 8:q.push([M-.75-.25*(-S-C+2*G)/(S-C),T-.75-.25*(-S-x+2*G)/(S-x)]);break;case 9:q.push([M-.5-.25*(x+L+-S-C)/(L-x+S-C),T-.5-.25*(C+L+-S-x)/(L-C+S-x)]);break;case 10:q.push([M-.5-.5*(-x-L+-S-C+4*G)/(x-L+S-C),T-.5]);break;case 11:q.push([M-.25-.25*(-S-C+2*G)/(S-C),T-.75-.25*(C+L-2*G)/(L-C)]);break;case 12:q.push([M-.5,T-.5-.5*(-C-L+-S-x+4*G)/(C-L+S-x)]);break;case 13:q.push([M-.75-.25*(x+L-2*G)/(L-x),T-.25-.25*(-S-x+2*G)/(S-x)]);break;case 14:q.push([M-.25-.25*(-x-L+2*G)/(x-L),T-.25-.25*(-C-L+2*G)/(C-L)]);break;case 15:q.push([M-.5,T-.5]);break}},cell:function(M,T,L,x,C,S,g,P,E){C?P.push([M,T]):P.push([T,M])}});return function(k,M){var T=[],L=[];return p(k,T,L,M),{positions:T,cells:L}}}};function c(v,m){var b=v.length+\"d\",p=u[b];if(p)return p(s,v,m)}function f(v,m){for(var b=l(v,m),p=b.length,k=new Array(p),M=new Array(p),T=0;TMath.max(x,C)?S[2]=1:x>Math.max(L,C)?S[0]=1:S[1]=1;for(var g=0,P=0,E=0;E<3;++E)g+=T[E]*T[E],P+=S[E]*T[E];for(var E=0;E<3;++E)S[E]-=P/g*T[E];return f(S,S),S}function b(T,L,x,C,S,g,P,E){this.center=s(x),this.up=s(C),this.right=s(S),this.radius=s([g]),this.angle=s([P,E]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(T,L),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 z=0;z<16;++z)this.computedMatrix[z]=.5;this.recalcMatrix(0)}var p=b.prototype;p.setDistanceLimits=function(T,L){T>0?T=Math.log(T):T=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,T),this.radius.bounds[0][0]=T,this.radius.bounds[1][0]=L},p.getDistanceLimits=function(T){var L=this.radius.bounds[0];return T?(T[0]=Math.exp(L[0][0]),T[1]=Math.exp(L[1][0]),T):[Math.exp(L[0][0]),Math.exp(L[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 L=this.computedUp,x=this.computedRight,C=0,S=0,g=0;g<3;++g)S+=L[g]*x[g],C+=L[g]*L[g];for(var P=Math.sqrt(C),E=0,g=0;g<3;++g)x[g]-=L[g]*S/C,E+=x[g]*x[g],L[g]/=P;for(var z=Math.sqrt(E),g=0;g<3;++g)x[g]/=z;var q=this.computedToward;c(q,L,x),f(q,q);for(var U=Math.exp(this.computedRadius[0]),G=this.computedAngle[0],Z=this.computedAngle[1],j=Math.cos(G),N=Math.sin(G),H=Math.cos(Z),re=Math.sin(Z),oe=this.computedCenter,_e=j*H,ke=N*H,Ce=re,ge=-j*re,ie=-N*re,Se=H,Ee=this.computedEye,we=this.computedMatrix,g=0;g<3;++g){var De=_e*x[g]+ke*q[g]+Ce*L[g];we[4*g+1]=ge*x[g]+ie*q[g]+Se*L[g],we[4*g+2]=De,we[4*g+3]=0}var Le=we[1],me=we[5],Pe=we[9],ce=we[2],He=we[6],lt=we[10],mt=me*lt-Pe*He,Vt=Pe*ce-Le*lt,st=Le*He-me*ce,ct=d(mt,Vt,st);mt/=ct,Vt/=ct,st/=ct,we[0]=mt,we[4]=Vt,we[8]=st;for(var g=0;g<3;++g)Ee[g]=oe[g]+we[2+4*g]*U;for(var g=0;g<3;++g){for(var E=0,Qt=0;Qt<3;++Qt)E+=we[g+4*Qt]*Ee[Qt];we[12+g]=-E}we[15]=1},p.getMatrix=function(T,L){this.recalcMatrix(T);var x=this.computedMatrix;if(L){for(var C=0;C<16;++C)L[C]=x[C];return L}return x};var k=[0,0,0];p.rotate=function(T,L,x,C){if(this.angle.move(T,L,x),C){this.recalcMatrix(T);var S=this.computedMatrix;k[0]=S[2],k[1]=S[6],k[2]=S[10];for(var g=this.computedUp,P=this.computedRight,E=this.computedToward,z=0;z<3;++z)S[4*z]=g[z],S[4*z+1]=P[z],S[4*z+2]=E[z];u(S,S,C,k);for(var z=0;z<3;++z)g[z]=S[4*z],P[z]=S[4*z+1];this.up.set(T,g[0],g[1],g[2]),this.right.set(T,P[0],P[1],P[2])}},p.pan=function(T,L,x,C){L=L||0,x=x||0,C=C||0,this.recalcMatrix(T);var S=this.computedMatrix,g=Math.exp(this.computedRadius[0]),P=S[1],E=S[5],z=S[9],q=d(P,E,z);P/=q,E/=q,z/=q;var U=S[0],G=S[4],Z=S[8],j=U*P+G*E+Z*z;U-=P*j,G-=E*j,Z-=z*j;var N=d(U,G,Z);U/=N,G/=N,Z/=N;var H=U*L+P*x,re=G*L+E*x,oe=Z*L+z*x;this.center.move(T,H,re,oe);var _e=Math.exp(this.computedRadius[0]);_e=Math.max(1e-4,_e+C),this.radius.set(T,Math.log(_e))},p.translate=function(T,L,x,C){this.center.move(T,L||0,x||0,C||0)},p.setMatrix=function(T,L,x,C){var S=1;typeof x==\"number\"&&(S=x|0),(S<0||S>3)&&(S=1);var g=(S+2)%3,P=(S+1)%3;L||(this.recalcMatrix(T),L=this.computedMatrix);var E=L[S],z=L[S+4],q=L[S+8];if(C){var G=Math.abs(E),Z=Math.abs(z),j=Math.abs(q),N=Math.max(G,Z,j);G===N?(E=E<0?-1:1,z=q=0):j===N?(q=q<0?-1:1,E=z=0):(z=z<0?-1:1,E=q=0)}else{var U=d(E,z,q);E/=U,z/=U,q/=U}var H=L[g],re=L[g+4],oe=L[g+8],_e=H*E+re*z+oe*q;H-=E*_e,re-=z*_e,oe-=q*_e;var ke=d(H,re,oe);H/=ke,re/=ke,oe/=ke;var Ce=z*oe-q*re,ge=q*H-E*oe,ie=E*re-z*H,Se=d(Ce,ge,ie);Ce/=Se,ge/=Se,ie/=Se,this.center.jump(T,Ue,Ae,rt),this.radius.idle(T),this.up.jump(T,E,z,q),this.right.jump(T,H,re,oe);var Ee,we;if(S===2){var De=L[1],Le=L[5],me=L[9],Pe=De*H+Le*re+me*oe,ce=De*Ce+Le*ge+me*ie;Vt<0?Ee=-Math.PI/2:Ee=Math.PI/2,we=Math.atan2(ce,Pe)}else{var He=L[2],lt=L[6],mt=L[10],Vt=He*E+lt*z+mt*q,st=He*H+lt*re+mt*oe,ct=He*Ce+lt*ge+mt*ie;Ee=Math.asin(v(Vt)),we=Math.atan2(ct,st)}this.angle.jump(T,we,Ee),this.recalcMatrix(T);var Qt=L[2],Ht=L[6],nr=L[10],tt=this.computedMatrix;l(tt,L);var je=tt[15],Ue=tt[12]/je,Ae=tt[13]/je,rt=tt[14]/je,St=Math.exp(this.computedRadius[0]);this.center.jump(T,Ue-Qt*St,Ae-Ht*St,rt-nr*St)},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,L){L>0&&this.radius.set(T,Math.log(L))},p.lookAt=function(T,L,x,C){this.recalcMatrix(T),L=L||this.computedEye,x=x||this.computedCenter,C=C||this.computedUp;var S=C[0],g=C[1],P=C[2],E=d(S,g,P);if(!(E<1e-6)){S/=E,g/=E,P/=E;var z=L[0]-x[0],q=L[1]-x[1],U=L[2]-x[2],G=d(z,q,U);if(!(G<1e-6)){z/=G,q/=G,U/=G;var Z=this.computedRight,j=Z[0],N=Z[1],H=Z[2],re=S*j+g*N+P*H;j-=re*S,N-=re*g,H-=re*P;var oe=d(j,N,H);if(!(oe<.01&&(j=g*U-P*q,N=P*z-S*U,H=S*q-g*z,oe=d(j,N,H),oe<1e-6))){j/=oe,N/=oe,H/=oe,this.up.set(T,S,g,P),this.right.set(T,j,N,H),this.center.set(T,x[0],x[1],x[2]),this.radius.set(T,Math.log(G));var _e=g*H-P*N,ke=P*j-S*H,Ce=S*N-g*j,ge=d(_e,ke,Ce);_e/=ge,ke/=ge,Ce/=ge;var ie=S*z+g*q+P*U,Se=j*z+N*q+H*U,Ee=_e*z+ke*q+Ce*U,we=Math.asin(v(ie)),De=Math.atan2(Ee,Se),Le=this.angle._state,me=Le[Le.length-1],Pe=Le[Le.length-2];me=me%(2*Math.PI);var ce=Math.abs(me+2*Math.PI-De),He=Math.abs(me-De),lt=Math.abs(me-2*Math.PI-De);ce0?H.pop():new ArrayBuffer(j)}a.mallocArrayBuffer=k;function M(Z){return new Uint8Array(k(Z),0,Z)}a.mallocUint8=M;function T(Z){return new Uint16Array(k(2*Z),0,Z)}a.mallocUint16=T;function L(Z){return new Uint32Array(k(4*Z),0,Z)}a.mallocUint32=L;function x(Z){return new Int8Array(k(Z),0,Z)}a.mallocInt8=x;function C(Z){return new Int16Array(k(2*Z),0,Z)}a.mallocInt16=C;function S(Z){return new Int32Array(k(4*Z),0,Z)}a.mallocInt32=S;function g(Z){return new Float32Array(k(4*Z),0,Z)}a.mallocFloat32=a.mallocFloat=g;function P(Z){return new Float64Array(k(8*Z),0,Z)}a.mallocFloat64=a.mallocDouble=P;function E(Z){return c?new Uint8ClampedArray(k(Z),0,Z):M(Z)}a.mallocUint8Clamped=E;function z(Z){return f?new BigUint64Array(k(8*Z),0,Z):null}a.mallocBigUint64=z;function q(Z){return h?new BigInt64Array(k(8*Z),0,Z):null}a.mallocBigInt64=q;function U(Z){return new DataView(k(Z),0,Z)}a.mallocDataView=U;function G(Z){Z=s.nextPow2(Z);var j=s.log2(Z),N=m[j];return N.length>0?N.pop():new u(Z)}a.mallocBuffer=G,a.clearCache=function(){for(var j=0;j<32;++j)d.UINT8[j].length=0,d.UINT16[j].length=0,d.UINT32[j].length=0,d.INT8[j].length=0,d.INT16[j].length=0,d.INT32[j].length=0,d.FLOAT[j].length=0,d.DOUBLE[j].length=0,d.BIGUINT64[j].length=0,d.BIGINT64[j].length=0,d.UINT8C[j].length=0,v[j].length=0,m[j].length=0}},1755:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l\",H=\"\",re=N.length,oe=H.length,_e=G[0]===k||G[0]===L,ke=0,Ce=-oe;ke>-1&&(ke=Z.indexOf(N,ke),!(ke===-1||(Ce=Z.indexOf(H,ke+re),Ce===-1)||Ce<=ke));){for(var ge=ke;ge=Ce)j[ge]=null,Z=Z.substr(0,ge)+\" \"+Z.substr(ge+1);else if(j[ge]!==null){var ie=j[ge].indexOf(G[0]);ie===-1?j[ge]+=G:_e&&(j[ge]=j[ge].substr(0,ie+1)+(1+parseInt(j[ge][ie+1]))+j[ge].substr(ie+2))}var Se=ke+re,Ee=Z.substr(Se,Ce-Se),we=Ee.indexOf(N);we!==-1?ke=we:ke=Ce+oe}return j}function S(U,G,Z){for(var j=G.textAlign||\"start\",N=G.textBaseline||\"alphabetic\",H=[1<<30,1<<30],re=[0,0],oe=U.length,_e=0;_e/g,`\n", + "`):Z=Z.replace(/\\/g,\" \");var re=\"\",oe=[];for(me=0;me-1?parseInt(Ae[1+Tt]):0,pt=dt>-1?parseInt(rt[1+dt]):0;Et!==pt&&(St=St.replace(st(),\"?px \"),He*=Math.pow(.75,pt-Et),St=St.replace(\"?px \",st())),ce+=.25*ie*(pt-Et)}if(H.superscripts===!0){var Xt=Ae.indexOf(k),or=rt.indexOf(k),_r=Xt>-1?parseInt(Ae[1+Xt]):0,Er=or>-1?parseInt(rt[1+or]):0;_r!==Er&&(St=St.replace(st(),\"?px \"),He*=Math.pow(.75,Er-_r),St=St.replace(\"?px \",st())),ce-=.25*ie*(Er-_r)}if(H.bolds===!0){var ei=Ae.indexOf(v)>-1,qr=rt.indexOf(v)>-1;!ei&&qr&&(jr?St=St.replace(\"italic \",\"italic bold \"):St=\"bold \"+St),ei&&!qr&&(St=St.replace(\"bold \",\"\"))}if(H.italics===!0){var jr=Ae.indexOf(b)>-1,gt=rt.indexOf(b)>-1;!jr&>&&(St=\"italic \"+St),jr&&!gt&&(St=St.replace(\"italic \",\"\"))}G.font=St}for(Le=0;Le0&&(N=j.size),j.lineSpacing&&j.lineSpacing>0&&(H=j.lineSpacing),j.styletags&&j.styletags.breaklines&&(re.breaklines=!!j.styletags.breaklines),j.styletags&&j.styletags.bolds&&(re.bolds=!!j.styletags.bolds),j.styletags&&j.styletags.italics&&(re.italics=!!j.styletags.italics),j.styletags&&j.styletags.subscripts&&(re.subscripts=!!j.styletags.subscripts),j.styletags&&j.styletags.superscripts&&(re.superscripts=!!j.styletags.superscripts)),Z.font=[j.fontStyle,j.fontVariant,j.fontWeight,N+\"px\",j.font].filter(function(_e){return _e}).join(\" \"),Z.textAlign=\"start\",Z.textBaseline=\"alphabetic\",Z.direction=\"ltr\";var oe=g(G,Z,U,N,H,re);return z(oe,j,N)}},1538:function(i){(function(){\"use strict\";if(typeof ses!=\"undefined\"&&ses.ok&&!ses.ok())return;function o(E){E.permitHostObjects___&&E.permitHostObjects___(o)}typeof ses!=\"undefined\"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap==\"function\"){var l=WeakMap;if(!(typeof navigator!=\"undefined\"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{i.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,d=Object.defineProperty,v=Object.isExtensible,m=\"weakmap:\",b=m+\"ident:\"+Math.random()+\"___\";if(typeof crypto!=\"undefined\"&&typeof crypto.getRandomValues==\"function\"&&typeof ArrayBuffer==\"function\"&&typeof Uint8Array==\"function\"){var p=new ArrayBuffer(25),k=new Uint8Array(p);crypto.getRandomValues(k),b=m+\"rand:\"+Array.prototype.map.call(k,function(E){return(E%36).toString(36)}).join(\"\")+\"___\"}function M(E){return!(E.substr(0,m.length)==m&&E.substr(E.length-3)===\"___\")}if(d(Object,\"getOwnPropertyNames\",{value:function(z){return h(z).filter(M)}}),\"getPropertyNames\"in Object){var T=Object.getPropertyNames;d(Object,\"getPropertyNames\",{value:function(z){return T(z).filter(M)}})}function L(E){if(E!==Object(E))throw new TypeError(\"Not an object: \"+E);var z=E[b];if(z&&z.key===E)return z;if(v(E)){z={key:E};try{return d(E,b,{value:z,writable:!1,enumerable:!1,configurable:!1}),z}catch(q){return}}}(function(){var E=Object.freeze;d(Object,\"freeze\",{value:function(G){return L(G),E(G)}});var z=Object.seal;d(Object,\"seal\",{value:function(G){return L(G),z(G)}});var q=Object.preventExtensions;d(Object,\"preventExtensions\",{value:function(G){return L(G),q(G)}})})();function x(E){return E.prototype=null,Object.freeze(E)}var C=!1;function S(){!C&&typeof console!=\"undefined\"&&(C=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}var g=0,P=function(){this instanceof P||S();var E=[],z=[],q=g++;function U(N,H){var re,oe=L(N);return oe?q in oe?oe[q]:H:(re=E.indexOf(N),re>=0?z[re]:H)}function G(N){var H=L(N);return H?q in H:E.indexOf(N)>=0}function Z(N,H){var re,oe=L(N);return oe?oe[q]=H:(re=E.indexOf(N),re>=0?z[re]=H:(re=E.length,z[re]=H,E[re]=N)),this}function j(N){var H=L(N),re,oe;return H?q in H&&delete H[q]:(re=E.indexOf(N),re<0?!1:(oe=E.length-1,E[re]=void 0,z[re]=z[oe],E[re]=E[oe],E.length=oe,z.length=oe,!0))}return Object.create(P.prototype,{get___:{value:x(U)},has___:{value:x(G)},set___:{value:x(Z)},delete___:{value:x(j)}})};P.prototype=Object.create(Object.prototype,{get:{value:function(z,q){return this.get___(z,q)},writable:!0,configurable:!0},has:{value:function(z){return this.has___(z)},writable:!0,configurable:!0},set:{value:function(z,q){return this.set___(z,q)},writable:!0,configurable:!0},delete:{value:function(z){return this.delete___(z)},writable:!0,configurable:!0}}),typeof l==\"function\"?function(){s&&typeof Proxy!=\"undefined\"&&(Proxy=void 0);function E(){this instanceof P||S();var z=new l,q=void 0,U=!1;function G(H,re){return q?z.has(H)?z.get(H):q.get___(H,re):z.get(H,re)}function Z(H){return z.has(H)||(q?q.has___(H):!1)}var j;s?j=function(H,re){return z.set(H,re),z.has(H)||(q||(q=new P),q.set(H,re)),this}:j=function(H,re){if(U)try{z.set(H,re)}catch(oe){q||(q=new P),q.set___(H,re)}else z.set(H,re);return this};function N(H){var re=!!z.delete(H);return q&&q.delete___(H)||re}return Object.create(P.prototype,{get___:{value:x(G)},has___:{value:x(Z)},set___:{value:x(j)},delete___:{value:x(N)},permitHostObjects___:{value:x(function(H){if(H===o)U=!0;else throw new Error(\"bogus call to permitHostObjects___\")})}})}E.prototype=P.prototype,i.exports=E,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy!=\"undefined\"&&(Proxy=void 0),i.exports=P)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(c){if((typeof c!=\"object\"||c===null)&&typeof c!=\"function\")throw new Error(\"Weakmap-shim: Key must be object\");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,\"valueOf\",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty(\"value\")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return\"value\"in u(c)},delete:function(c){return delete u(c).value}}}},3349:function(i){\"use strict\";function a(){return function(f,h,d,v,m,b){var p=f[0],k=d[0],M=[0],T=k;v|=0;var L=0,x=k;for(L=0;L=0!=S>=0&&m.push(M[0]+.5+.5*(C+S)/(C-S))}v+=x,++M[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,m,b){var p=v.dtype,k=v.order,M=[p,k.join()].join(),T=h[M];return T||(h[M]=T=f([p,k])),T(v.shape.slice(0),v.data,v.stride,v.offset|0,m,b)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"zeroCrossings\"})},781:function(i,a,o){\"use strict\";i.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis==\"object\")return globalThis;try{return this||new Function(\"return this\")()}catch(i){if(typeof window==\"object\")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);APe.exports=n})()});var TX=ye((sgr,SPe)=>{\"use strict\";SPe.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]}});var CPe=ye((lgr,kPe)=>{\"use strict\";var MPe=TX();kPe.exports=dIt;var EPe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function dIt(e){var t,r=[],n=1,i;if(typeof e==\"string\")if(e=e.toLowerCase(),MPe[e])r=MPe[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1],u=l===\"rgb\",a=l.replace(/a$/,\"\");i=a;var o=a===\"cmyk\"?4:a===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map(function(h,d){if(/%$/.test(h))return d===o?parseFloat(h)/100:a===\"rgb\"?parseFloat(h)*255/100:parseFloat(h);if(a[d]===\"h\"){if(/deg$/.test(h))return parseFloat(h);if(EPe[h]!==void 0)return EPe[h]}return parseFloat(h)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\\s|\\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join(\"\").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],i=\"rgb\",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(i=\"rgb\",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i=\"hsl\",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(i=\"rgb\",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:i,values:r,alpha:n}}});var PPe=ye((ugr,LPe)=>{\"use strict\";var vIt=CPe();LPe.exports=function(t){Array.isArray(t)&&t.raw&&(t=String.raw.apply(null,arguments));var r,n,i,a=vIt(t);if(!a.space)return[];var o=[0,0,0],s=a.space[0]===\"h\"?[360,100,100]:[255,255,255];return r=Array(3),r[0]=Math.min(Math.max(a.values[0],o[0]),s[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),s[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),s[2]),a.space[0]===\"h\"&&(r=pIt(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function pIt(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}});var rk=ye((cgr,IPe)=>{IPe.exports=gIt;function gIt(e,t,r){return tr?r:e:et?t:e}});var QD=ye((fgr,RPe)=>{RPe.exports=function(e){switch(e){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}}});var ox=ye((hgr,DPe)=>{\"use strict\";var mIt=PPe(),eF=rk(),yIt=QD();DPe.exports=function(t,r){(r===\"float\"||!r)&&(r=\"array\"),r===\"uint\"&&(r=\"uint8\"),r===\"uint_clamped\"&&(r=\"uint8_clamped\");var n=yIt(r),i=new n(4),a=r!==\"uint8\"&&r!==\"uint8_clamped\";return(!t.length||typeof t==\"string\")&&(t=mIt(t),t[0]/=255,t[1]/=255,t[2]/=255),_It(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=eF(Math.floor(t[0]*255),0,255),i[1]=eF(Math.floor(t[1]*255),0,255),i[2]=eF(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:eF(Math.floor(t[3]*255),0,255)),i)};function _It(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}});var n1=ye((dgr,FPe)=>{\"use strict\";var xIt=ox();function bIt(e){return e?xIt(e):[0,0,0,1]}FPe.exports=bIt});var a1=ye((vgr,VPe)=>{\"use strict\";var NPe=Eo(),wIt=fd(),tF=ox(),rF=tc(),TIt=Ih().defaultLine,zPe=vv().isArrayOrTypedArray,AX=tF(TIt),UPe=1;function qPe(e,t){var r=e;return r[3]*=t,r}function OPe(e){if(NPe(e))return AX;var t=tF(e);return t.length?t:AX}function BPe(e){return NPe(e)?e:UPe}function AIt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=zPe(n),a=zPe(t),o=rF.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=rF.makeColorScaleFuncFromTrace(e):l=OPe,i?u=function(v,m){return v[m]===void 0?AX:tF(l(v[m]))}:u=OPe,a?c=function(v,m){return v[m]===void 0?UPe:BPe(v[m])}:c=BPe,i||a)for(var d=0;d{\"use strict\";GPe.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]}});var iF=ye((ggr,HPe)=>{\"use strict\";HPe.exports={circle:\"\\u25CF\",\"circle-open\":\"\\u25CB\",square:\"\\u25A0\",\"square-open\":\"\\u25A1\",diamond:\"\\u25C6\",\"diamond-open\":\"\\u25C7\",cross:\"+\",x:\"\\u274C\"}});var WPe=ye((mgr,jPe)=>{\"use strict\";var MIt=Oa();function MX(e,t,r,n){if(!t||!t.visible)return null;for(var i=MIt.getComponentMethod(\"errorbars\",\"makeComputeError\")(t),a=new Array(e.length),o=0;o0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function EIt(e){for(var t=0;t{\"use strict\";var CIt=zd().gl_line3d,XPe=zd().gl_scatter3d,LIt=zd().gl_error3d,PIt=zd().gl_mesh3d,IIt=zd().delaunay_triangulate,o1=Pr(),$Pe=n1(),nF=a1().formatColor,RIt=O3(),EX=SX(),DIt=iF(),FIt=ho(),zIt=ip().appendArrayPointValue,qIt=WPe();function QPe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var CX=QPe.prototype;CX.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel=\"\",this.textLabels&&(o1.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function OIt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s-1?-1:e.indexOf(\"right\")>-1?1:0}function YPe(e){return e==null?0:e.indexOf(\"top\")>-1?-1:e.indexOf(\"bottom\")>-1?1:0}function NIt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i=0){var u=OIt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=PIt(u),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)};CX.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())};function HIt(e,t){var r=new QPe(e,t.uid);return r.update(t),r}eIe.exports=HIt});var DX=ye((_gr,aIe)=>{\"use strict\";var s1=pf(),jIt=ec(),RX=Tu(),LX=df().axisHoverFormat,{hovertemplateAttrs:WIt,texttemplateAttrs:XIt,templatefallbackAttrs:rIe}=Ll(),iIe=Gl(),ZIt=SX(),YIt=iF(),$g=Ao().extendFlat,KIt=mc().overrideAll,nIe=t_(),JIt=s1.line,J2=s1.marker,$It=J2.line,QIt=$g({width:JIt.width,dash:{valType:\"enumerated\",values:nIe(ZIt),dflt:\"solid\"}},RX(\"line\"));function PX(e){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var IX=aIe.exports=KIt({x:s1.x,y:s1.y,z:{valType:\"data_array\"},text:$g({},s1.text,{}),texttemplate:XIt(),texttemplatefallback:rIe({editType:\"calc\"}),hovertext:$g({},s1.hovertext,{}),hovertemplate:WIt(),hovertemplatefallback:rIe(),xhoverformat:LX(\"x\"),yhoverformat:LX(\"y\"),zhoverformat:LX(\"z\"),mode:$g({},s1.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:PX(\"x\"),y:PX(\"y\"),z:PX(\"z\")},connectgaps:s1.connectgaps,line:QIt,marker:$g({symbol:{valType:\"enumerated\",values:nIe(YIt),dflt:\"circle\",arrayOk:!0},size:$g({},J2.size,{dflt:8}),sizeref:J2.sizeref,sizemin:J2.sizemin,sizemode:J2.sizemode,opacity:$g({},J2.opacity,{arrayOk:!1}),colorbar:J2.colorbar,line:$g({width:$g({},$It.width,{arrayOk:!1})},RX(\"marker.line\"))},RX(\"marker\")),textposition:$g({},s1.textposition,{dflt:\"top center\"}),textfont:jIt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,variantValues:[\"normal\",\"small-caps\"]}),opacity:iIe.opacity,hoverinfo:$g({},iIe.hoverinfo)},\"calc\",\"nested\");IX.x.editType=IX.y.editType=IX.z.editType=\"calc+clearAxisTypes\"});var lIe=ye((xgr,sIe)=>{\"use strict\";var oIe=Oa(),e8t=Pr(),FX=Ru(),t8t=$p(),r8t=D0(),i8t=F0(),n8t=DX();sIe.exports=function(t,r,n,i){function a(d,v){return e8t.coerce(t,r,n8t,d,v)}var o=a8t(t,r,a,i);if(!o){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),a(\"mode\"),FX.hasMarkers(r)&&t8t(t,r,n,i,a,{noAngle:!0,noLineDash:!0,noSelect:!0}),FX.hasLines(r)&&(a(\"connectgaps\"),r8t(t,r,n,i,a)),FX.hasText(r)&&(a(\"texttemplate\"),a(\"texttemplatefallback\"),i8t(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a(\"surfaceaxis\")>=0&&a(\"surfacecolor\",s||l);for(var u=[\"x\",\"y\",\"z\"],c=0;c<3;++c){var f=\"projection.\"+u[c];a(f+\".show\")&&(a(f+\".opacity\"),a(f+\".scale\"))}var h=oIe.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,s||l||n,{axis:\"z\"}),h(t,r,s||l||n,{axis:\"y\",inherit:\"z\"}),h(t,r,s||l||n,{axis:\"x\",inherit:\"z\"})};function a8t(e,t,r,n){var i=0,a=r(\"x\"),o=r(\"y\"),s=r(\"z\"),l=oIe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return l(e,t,[\"x\",\"y\",\"z\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var cIe=ye((bgr,uIe)=>{\"use strict\";var o8t=Rm(),s8t=z0();uIe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return o8t(n,r),s8t(t,r),n}});var hIe=ye((wgr,fIe)=>{fIe.exports=l8t;function l8t(e,t){if(typeof e!=\"string\")throw new TypeError(\"must specify type string\");if(t=t||{},typeof document==\"undefined\"&&!t.canvas)return null;var r=t.canvas||document.createElement(\"canvas\");typeof t.width==\"number\"&&(r.width=t.width),typeof t.height==\"number\"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf(\"webgl\")===0&&a.push(\"experimental-\"+e);for(var o=0;o{var u8t=hIe();dIe.exports=function(t){return u8t(\"webgl\",t)}});var zX=ye((Agr,gIe)=>{\"use strict\";var pIe=ka(),c8t=function(){};gIe.exports=function(t){for(var r in t)typeof t[r]==\"function\"&&(t[r]=c8t);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement(\"div\");n.className=\"no-webgl\",n.style.cursor=\"pointer\",n.style.fontSize=\"24px\",n.style.color=pIe.defaults[0],n.style.position=\"absolute\",n.style.left=n.style.top=\"0px\",n.style.width=n.style.height=\"100%\",n.style[\"background-color\"]=pIe.lightLine,n.style[\"z-index\"]=30;var i=document.createElement(\"p\");return i.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",i.style.position=\"relative\",i.style.top=\"50%\",i.style.left=\"50%\",i.style.height=\"30%\",i.style.width=\"50%\",i.style.margin=\"-15% 0 0 -25%\",n.appendChild(i),t.container.appendChild(n),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}});var _Ie=ye((Sgr,yIe)=>{\"use strict\";var $2=n1(),f8t=Pr(),h8t=[\"xaxis\",\"yaxis\",\"zaxis\"];function mIe(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var d8t=mIe.prototype;d8t.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[h8t[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?f8t.templateString(i.title.text,e._meta):i.title.text,\"font\"in i.title&&(i.title.font.color&&(r.labelColor[n]=$2(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),\"showline\"in i&&(r.lineEnable[n]=i.showline),\"linecolor\"in i&&(r.lineColor[n]=$2(i.linecolor)),\"linewidth\"in i&&(r.lineWidth[n]=i.linewidth),\"showgrid\"in i&&(r.gridEnable[n]=i.showgrid),\"gridcolor\"in i&&(r.gridColor[n]=$2(i.gridcolor)),\"gridwidth\"in i&&(r.gridWidth[n]=i.gridwidth),i.type===\"log\"?r.zeroEnable[n]=!1:\"zeroline\"in i&&(r.zeroEnable[n]=i.zeroline),\"zerolinecolor\"in i&&(r.zeroLineColor[n]=$2(i.zerolinecolor)),\"zerolinewidth\"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),\"ticks\"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,\"ticklen\"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),\"tickcolor\"in i&&(r.lineTickColor[n]=$2(i.tickcolor)),\"tickwidth\"in i&&(r.lineTickWidth[n]=i.tickwidth),\"tickangle\"in i&&(r.tickAngle[n]=i.tickangle===\"auto\"?-3600:Math.PI*-i.tickangle/180),\"showticklabels\"in i&&(r.tickEnable[n]=i.showticklabels),\"tickfont\"in i&&(i.tickfont.color&&(r.tickColor[n]=$2(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),\"mirror\"in i?[\"ticks\",\"all\",\"allticks\"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,\"showbackground\"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=$2(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function v8t(e,t){var r=new mIe;return r.merge(e,t),r}yIe.exports=v8t});var wIe=ye((Mgr,bIe)=>{\"use strict\";var p8t=n1(),g8t=[\"xaxis\",\"yaxis\",\"zaxis\"];function xIe(){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]}var m8t=xIe.prototype;m8t.merge=function(e){for(var t=0;t<3;++t){var r=e[g8t[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=p8t(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function y8t(e){var t=new xIe;return t.merge(e),t}bIe.exports=y8t});var SIe=ye((Egr,AIe)=>{\"use strict\";AIe.exports=T8t;var TIe=ho(),_8t=Pr(),x8t=[\"xaxis\",\"yaxis\",\"zaxis\"],b8t=[0,0,0];function w8t(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a/g,\" \"));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){b8t[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var c=0;c<2;++c)t.bounds[c][a]=e.glplot.bounds[c][a]}e.contourLevels=w8t(i)}});var IIe=ye((kgr,PIe)=>{\"use strict\";var kIe=zd().gl_plot3d,A8t=kIe.createCamera,MIe=kIe.createScene,S8t=vIe(),M8t=UL(),sF=Oa(),cp=Pr(),oF=cp.preserveDrawingBuffer(),lF=ho(),Qg=vf(),E8t=n1(),k8t=zX(),C8t=XU(),L8t=_Ie(),P8t=wIe(),I8t=SIe(),R8t=Mg().applyAutorangeOptions,ik,aF,CIe=!1;function LIe(e,t){var r=document.createElement(\"div\"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=t,this.id=e.id||\"scene\",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=L8t(t,t[this.id]),this.spikeOptions=P8t(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=sF.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=sF.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var Sv=LIe.prototype;Sv.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:oF,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!aF&&(ik=document.createElement(\"canvas\"),aF=S8t({canvas:ik,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!aF))throw new Error(\"error creating static canvas/context for image server\");t.gl=aF,t.canvas=ik}return t};var EIe=!0;Sv.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=MIe(t)}catch(n){if(e.staticMode||!EIe||oF)r=!1;else{cp.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{oF=t.glOptions.preserveDrawingBuffer=!0,e.glplot=MIe(t)}catch(i){oF=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return EIe=!1,r};Sv.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type===\"orthographic\";e.camera=A8t(e.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:r,zoomMin:.01,zoomMax:100,mode:\"orbit\"})};Sv.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return k8t(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+\".camera\"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+\".aspectratio\"]=e.glplot.getAspectratio(),n[e.id].aspectmode!==\"manual\"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+\".aspectmode\"]=\"manual\")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit(\"plotly_relayout\",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener(\"mouseup\",function(){a(e)}),e.glplot.canvas.addEventListener(\"touchstart\",function(){CIe=!0}),e.glplot.canvas.addEventListener(\"wheel\",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},M8t?{passive:!1}:!1),e.glplot.canvas.addEventListener(\"mousemove\",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit(\"plotly_relayouting\",o)}}),e.staticMode||e.glplot.canvas.addEventListener(\"webglcontextlost\",function(o){r&&r.emit&&r.emit(\"plotly_webglcontextlost\",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};Sv.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,\"viewBox\",\"0 0 \"+s+\" \"+l),n.setAttributeNS(null,\"width\",s),n.setAttributeNS(null,\"height\",l),I8t(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h\")):r.type===\"isosurface\"||r.type===\"volume\"?(p.valueLabel=lF.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),x.push(\"value: \"+p.valueLabel),f.textLabel&&x.push(f.textLabel),L=x.join(\"
\")):L=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:m._input,fullData:m,curveNumber:m.index,pointNumber:b};Qg.appendArrayPointValue(C,m,b),r._module.eventData&&(C=m._module.eventData(C,f,m,{},b));var S={points:[C]};if(e.fullSceneLayout.hovermode){var g=[];Qg.loneHover({trace:m,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:p.xLabel,yLabel:p.yLabel,zLabel:p.zLabel,text:L,name:c.name,color:Qg.castHoverOption(m,b,\"bgcolor\")||c.color,borderColor:Qg.castHoverOption(m,b,\"bordercolor\"),fontFamily:Qg.castHoverOption(m,b,\"font.family\"),fontSize:Qg.castHoverOption(m,b,\"font.size\"),fontColor:Qg.castHoverOption(m,b,\"font.color\"),nameLength:Qg.castHoverOption(m,b,\"namelength\"),textAlign:Qg.castHoverOption(m,b,\"align\"),hovertemplate:cp.castOption(m,b,\"hovertemplate\"),hovertemplateLabels:cp.extendFlat({},C,p),eventData:[C]},{container:n,gd:t,inOut_bbox:g}),C.bbox=g[0]}f.distance<5&&(f.buttons||CIe)?t.emit(\"plotly_click\",S):t.emit(\"plotly_hover\",S),this.oldEventData=S}else Qg.loneUnhover(n),this.oldEventData&&t.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};Sv.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){cp.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var nk=[\"xaxis\",\"yaxis\",\"zaxis\"];function D8t(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=nk[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+\"calendar\"],c=t[\"_\"+o+\"length\"];if(!cp.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1);else for(var f,h=0;h<(c||l.length);h++)if(cp.isArrayOrTypedArray(l[h]))for(var d=0;dm[1][o])m[0][o]=-1,m[1][o]=1;else{var E=m[1][o]-m[0][o];m[0][o]-=E/32,m[1][o]+=E/32}if(k=[m[0][o],m[1][o]],k=R8t(k,l),m[0][o]=k[0],m[1][o]=k[1],l.isReversed()){var z=m[0][o];m[0][o]=m[1][o],m[1][o]=z}}else k=l.range,m[0][o]=l.r2l(k[0]),m[1][o]=l.r2l(k[1]);m[0][o]===m[1][o]&&(m[0][o]-=1,m[1][o]+=1),b[o]=m[1][o]-m[0][o],l.range=[m[0][o],m[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*d[o],max:l.range[1]*d[o]})}var q,U=c.aspectmode;if(U===\"cube\")q=[1,1,1];else if(U===\"manual\"){var G=c.aspectratio;q=[G.x,G.y,G.z]}else if(U===\"auto\"||U===\"data\"){var Z=[1,1,1];for(o=0;o<3;++o){l=c[nk[o]],u=l.type;var j=p[u];Z[o]=Math.pow(j.acc,1/j.count)/d[o]}U===\"data\"||Math.max.apply(null,Z)/Math.min.apply(null,Z)<=4?q=Z:q=[1,1,1]}else throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");c.aspectratio.x=f.aspectratio.x=q[0],c.aspectratio.y=f.aspectratio.y=q[1],c.aspectratio.z=f.aspectratio.z=q[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var N=c.domain||null,H=t._size||null;if(N&&H){var re=n.container.style;re.position=\"absolute\",re.left=H.l+N.x[0]*H.w+\"px\",re.top=H.t+(1-N.y[1])*H.h+\"px\",re.width=H.w*(N.x[1]-N.x[0])+\"px\",re.height=H.h*(N.y[1]-N.y[0])+\"px\"}n.glplot.redraw()}};Sv.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener(\"wheel\",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function z8t(e){return[[e.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]]}function q8t(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?\"orthographic\":\"perspective\"}}}Sv.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),q8t(e.camera)};Sv.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,z8t(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type===\"orthographic\",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};Sv.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=cp.nestedProperty(e,t.id+\".camera\"),i=n.get();function a(u,c,f,h){var d=[\"up\",\"center\",\"eye\"],v=[\"x\",\"y\",\"z\"];return c[d[f]]&&u[d[f]][v[h]]===c[d[f]][v[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};Sv.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=cp.nestedProperty(e,t.id+\".aspectratio\"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};Sv.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),i=cp.nestedProperty(e,t.id+\".camera\"),a=i.get(),h[t.id+\".camera\"]=a),c&&(o=t.glplot.getAspectratio(),s=cp.nestedProperty(e,t.id+\".aspectratio\"),l=s.get(),h[t.id+\".aspectratio\"]=l),sF.call(\"_storeDirectGUIEdit\",e,r._preGUI,h),u){i.set(n);var d=cp.nestedProperty(r,t.id+\".camera\");d.set(n)}if(c){s.set(o);var v=cp.nestedProperty(r,t.id+\".aspectratio\");v.set(o),t.glplot.redraw()}}return f};Sv.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e===\"orbit\")n.mode=\"orbit\",n.keyBindingMode=\"rotate\";else if(e===\"turntable\"){n.up=[0,0,1],n.mode=\"turntable\",n.keyBindingMode=\"rotate\";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+\".camera.up\",f={x:0,y:0,z:1},h={};h[c]=f;var d=i.layout;sF.call(\"_storeDirectGUIEdit\",d,a._preGUI,h),o.up=f,cp.nestedProperty(d,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function O8t(e,t,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}Sv.toImage=function(e){var t=this;e||(e=\"png\"),t.staticMode&&t.container.appendChild(ik),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),O8t(a,n,i),B8t(a,n,i);var o=document.createElement(\"canvas\");o.width=n,o.height=i;var s=o.getContext(\"2d\",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case\"jpeg\":u=o.toDataURL(\"image/jpeg\");break;case\"webp\":u=o.toDataURL(\"image/webp\");break;default:u=o.toDataURL(\"image/png\")}return t.staticMode&&t.container.removeChild(ik),u};Sv.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[nk[t]];lF.setConvert(r,e.fullLayout),r.setScale=cp.noop}};Sv.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},lF.setConvert(e._mockAxis,r)};PIe.exports=LIe});var DIe=ye((Cgr,RIe)=>{\"use strict\";RIe.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}});var OX=ye((Lgr,FIe)=>{\"use strict\";var N8t=ka(),xs=Rd(),qX=Ao().extendFlat,U8t=mc().overrideAll;FIe.exports=U8t({visible:xs.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:N8t.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:xs.color,categoryorder:xs.categoryorder,categoryarray:xs.categoryarray,title:{text:xs.title.text,font:xs.title.font},type:qX({},xs.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:xs.autotypenumbers,autorange:xs.autorange,autorangeoptions:{minallowed:xs.autorangeoptions.minallowed,maxallowed:xs.autorangeoptions.maxallowed,clipmin:xs.autorangeoptions.clipmin,clipmax:xs.autorangeoptions.clipmax,include:xs.autorangeoptions.include,editType:\"plot\"},rangemode:xs.rangemode,minallowed:xs.minallowed,maxallowed:xs.maxallowed,range:qX({},xs.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:xs.minor.tickmode,nticks:xs.nticks,tick0:xs.tick0,dtick:xs.dtick,tickvals:xs.tickvals,ticktext:xs.ticktext,ticks:xs.ticks,mirror:xs.mirror,ticklen:xs.ticklen,tickwidth:xs.tickwidth,tickcolor:xs.tickcolor,showticklabels:xs.showticklabels,labelalias:xs.labelalias,tickfont:xs.tickfont,tickangle:xs.tickangle,tickprefix:xs.tickprefix,showtickprefix:xs.showtickprefix,ticksuffix:xs.ticksuffix,showticksuffix:xs.showticksuffix,showexponent:xs.showexponent,exponentformat:xs.exponentformat,minexponent:xs.minexponent,separatethousands:xs.separatethousands,tickformat:xs.tickformat,tickformatstops:xs.tickformatstops,hoverformat:xs.hoverformat,showline:xs.showline,linecolor:xs.linecolor,linewidth:xs.linewidth,showgrid:xs.showgrid,gridcolor:qX({},xs.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:xs.gridwidth,zeroline:xs.zeroline,zerolinecolor:xs.zerolinecolor,zerolinewidth:xs.zerolinewidth},\"plot\",\"from-root\")});var VX=ye((Pgr,zIe)=>{\"use strict\";var BX=OX(),V8t=Cc().attributes,NX=Ao().extendFlat,G8t=Pr().counterRegex;function UX(e,t,r){return{x:{valType:\"number\",dflt:e,editType:\"camera\"},y:{valType:\"number\",dflt:t,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}zIe.exports={_arrayAttrRegexps:[G8t(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:NX(UX(0,0,1),{}),center:NX(UX(0,0,0),{}),eye:NX(UX(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:V8t({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:BX,yaxis:BX,zaxis:BX,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\"}});var NIe=ye((Igr,BIe)=>{\"use strict\";var H8t=fd().mix,qIe=Pr(),j8t=vl(),W8t=OX(),X8t=PU(),Z8t=f4(),OIe=[\"xaxis\",\"yaxis\",\"zaxis\"],Y8t=100*136/187;BIe.exports=function(t,r,n){var i,a;function o(u,c){return qIe.coerce(i,a,W8t,u,c)}for(var s=0;s{\"use strict\";var K8t=Pr(),J8t=ka(),$8t=Oa(),Q8t=q_(),eRt=NIe(),UIe=VX(),tRt=Id().getSubplotData,VIe=\"gl3d\";GIe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=K8t.validate(t[o],UIe[o]);if(s)return t[o]}}Q8t(t,r,n,{type:VIe,attributes:UIe,handleDefaults:rRt,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function rRt(e,t,r,n){for(var i=r(\"bgcolor\"),a=J8t.combine(i,n.paper_bgcolor),o=[\"up\",\"center\",\"eye\"],s=0;s.999)&&(h=\"turntable\")}else h=\"turntable\";r(\"dragmode\",h),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}});var sx=ye(fp=>{\"use strict\";var iRt=mc().overrideAll,nRt=W1(),aRt=IIe(),oRt=Id().getSubplotData,sRt=Pr(),lRt=Wp(),ZA=\"gl3d\",GX=\"scene\";fp.name=ZA;fp.attr=GX;fp.idRoot=GX;fp.idRegex=fp.attrRegex=sRt.counterRegex(\"scene\");fp.attributes=DIe();fp.layoutAttributes=VX();fp.baseLayoutAttrOverrides=iRt({hoverlabel:nRt.hoverlabel},\"plot\",\"nested\");fp.supplyLayoutDefaults=HIe();fp.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[ZA],a=0;a{\"use strict\";jIe.exports={plot:tIe(),attributes:DX(),markerSymbols:iF(),supplyDefaults:lIe(),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:cIe(),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:sx(),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var ZIe=ye((zgr,XIe)=>{\"use strict\";XIe.exports=WIe()});var ak=ye((qgr,JIe)=>{\"use strict\";var YIe=ka(),uRt=Tu(),HX=df().axisHoverFormat,{hovertemplateAttrs:cRt,templatefallbackAttrs:fRt}=Ll(),KIe=Gl(),jX=Ao().extendFlat,hRt=mc().overrideAll;function WX(e){return{valType:\"boolean\",dflt:!1}}function XX(e){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:WX(\"x\"),y:WX(\"y\"),z:WX(\"z\")},color:{valType:\"color\",dflt:YIe.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:YIe.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var ZX=JIe.exports=hRt(jX({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:cRt(),hovertemplatefallback:fRt(),xhoverformat:HX(\"x\"),yhoverformat:HX(\"y\"),zhoverformat:HX(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},uRt(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:XX(\"x\"),y:XX(\"y\"),z:XX(\"z\")},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,description:\"Represents the level that incident rays are reflected in a single direction, causing shine.\"},roughness:{valType:\"number\",min:0,max:1,dflt:.5,description:\"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.\"},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},opacityscale:{valType:\"any\",editType:\"calc\"},hoverinfo:jX({},KIe.hoverinfo),showlegend:jX({},KIe.showlegend,{dflt:!1})}),\"calc\",\"nested\");ZX.x.editType=ZX.y.editType=ZX.z.editType=\"calc+clearAxisTypes\"});var KX=ye((Ogr,e8e)=>{\"use strict\";var dRt=Oa(),$Ie=Pr(),vRt=td(),pRt=ak(),YX=.1;function gRt(e,t){for(var r=[],n=32,i=0;i{\"use strict\";var t8e=gv();r8e.exports=function(t,r){r.surfacecolor?t8e(t,r,{vals:r.surfacecolor,containerStr:\"\",cLetter:\"c\"}):t8e(t,r,{vals:r.z,containerStr:\"\",cLetter:\"c\"})}});var u8e=ye((Ngr,l8e)=>{\"use strict\";var _Rt=zd().gl_surface3d,YA=zd().ndarray,xRt=zd().ndarray_linear_interpolate.d2,bRt=c8(),wRt=f8(),ok=Pr().isArrayOrTypedArray,TRt=a1().parseColorScale,n8e=n1(),ARt=tc().extractOpts;function o8e(e,t,r){this.scene=e,this.uid=r,this.surface=t,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 em=o8e.prototype;em.getXat=function(e,t,r,n){var i=ok(this.data.x)?ok(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};em.getYat=function(e,t,r,n){var i=ok(this.data.y)?ok(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};em.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};em.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return ok(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel=\"\",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function SRt(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var KA=[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 MRt(e,t){if(e0){r=KA[n];break}return r}function kRt(e,t){if(!(e<1||t<1)){for(var r=JX(e),n=JX(t),i=1,a=0;auF;)n--,n/=ERt(n),n++,n1?i:1};function LRt(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function PRt(e,t,r){return IRt(e,t,LRt,r),e}function IRt(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];ih&&(this.minValues[u]=h),this.maxValues[u]{\"use strict\";c8e.exports={attributes:ak(),supplyDefaults:KX().supplyDefaults,colorbar:{min:\"cmin\",max:\"cmax\"},calc:i8e(),plot:u8e(),moduleType:\"trace\",name:\"surface\",basePlotModule:sx(),categories:[\"gl3d\",\"2dMap\",\"showLegend\"],meta:{}}});var d8e=ye((Vgr,h8e)=>{\"use strict\";h8e.exports=f8e()});var JA=ye((Ggr,p8e)=>{\"use strict\";var FRt=Tu(),$X=df().axisHoverFormat,{hovertemplateAttrs:zRt,templatefallbackAttrs:qRt}=Ll(),lx=ak(),v8e=Gl(),ux=Ao().extendFlat;p8e.exports=ux({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:zRt({editType:\"calc\"}),hovertemplatefallback:qRt({editType:\"calc\"}),xhoverformat:$X(\"x\"),yhoverformat:$X(\"y\"),zhoverformat:$X(\"z\"),delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},intensitymode:{valType:\"enumerated\",values:[\"vertex\",\"cell\"],dflt:\"vertex\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"}},FRt(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:lx.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:ux({},lx.contours.x.show,{}),color:lx.contours.x.color,width:lx.contours.x.width,editType:\"calc\"},lightposition:{x:ux({},lx.lightposition.x,{dflt:1e5}),y:ux({},lx.lightposition.y,{dflt:1e5}),z:ux({},lx.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:ux({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\",description:\"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\",description:\"Epsilon for face normals calculation avoids math issues arising from degenerate geometry.\"},editType:\"calc\"},lx.lighting),hoverinfo:ux({},v8e.hoverinfo,{editType:\"calc\"}),showlegend:ux({},v8e.showlegend,{dflt:!1})})});var fF=ye((Hgr,m8e)=>{\"use strict\";var ORt=Tu(),cF=df().axisHoverFormat,{hovertemplateAttrs:BRt,templatefallbackAttrs:NRt}=Ll(),sk=JA(),g8e=Gl(),QX=Ao().extendFlat,URt=mc().overrideAll;function eZ(e){return{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}}function tZ(e){return{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}}var $A=m8e.exports=URt(QX({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:eZ(\"x\"),y:eZ(\"y\"),z:eZ(\"z\")},caps:{x:tZ(\"x\"),y:tZ(\"y\"),z:tZ(\"z\")},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:BRt(),hovertemplatefallback:NRt(),xhoverformat:cF(\"x\"),yhoverformat:cF(\"y\"),zhoverformat:cF(\"z\"),valuehoverformat:cF(\"value\",1),showlegend:QX({},g8e.showlegend,{dflt:!1})},ORt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:sk.opacity,lightposition:sk.lightposition,lighting:sk.lighting,flatshading:sk.flatshading,contour:sk.contour,hoverinfo:QX({},g8e.hoverinfo)}),\"calc\",\"nested\");$A.flatshading.dflt=!0;$A.lighting.facenormalsepsilon.dflt=0;$A.x.editType=$A.y.editType=$A.z.editType=$A.value.editType=\"calc+clearAxisTypes\"});var rZ=ye((jgr,_8e)=>{\"use strict\";var VRt=Pr(),GRt=Oa(),HRt=fF(),jRt=td();function WRt(e,t,r,n){function i(a,o){return VRt.coerce(e,t,HRt,a,o)}y8e(e,t,r,n,i)}function y8e(e,t,r,n,i){var a=i(\"isomin\"),o=i(\"isomax\");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i(\"x\"),l=i(\"y\"),u=i(\"z\"),c=i(\"value\");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=GRt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");f(e,t,[\"x\",\"y\",\"z\"],n),i(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach(function(m){i(m+\"hoverformat\");var b=\"caps.\"+m,p=i(b+\".show\");p&&i(b+\".fill\");var k=\"slices.\"+m,M=i(k+\".show\");M&&(i(k+\".fill\"),i(k+\".locations\"))});var h=i(\"spaceframe.show\");h&&i(\"spaceframe.fill\");var d=i(\"surface.show\");d&&(i(\"surface.count\"),i(\"surface.fill\"),i(\"surface.pattern\"));var v=i(\"contour.show\");v&&(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(m){i(m)}),jRt(e,t,n,i,{prefix:\"\",cLetter:\"c\"}),t._length=null}_8e.exports={supplyDefaults:WRt,supplyIsoDefaults:y8e}});var hF=ye((Wgr,b8e)=>{\"use strict\";var nZ=Pr(),XRt=gv();function ZRt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=Jm(t.u,t._len),t._v=Jm(t.v,t._len),t._w=Jm(t.w,t._len),t._x=Jm(t.x,t._len),t._y=Jm(t.y,t._len),t._z=Jm(t.z,t._len);var r=x8e(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=Jm(t.starts.x||[]),a=Jm(t.starts.y||[]),o=Jm(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u1&&(M=t[i-1],L=r[i-1],C=n[i-1]),a=0;aM?\"-\":\"+\")+\"x\"),v=v.replace(\"y\",(T>L?\"-\":\"+\")+\"y\"),v=v.replace(\"z\",(x>C?\"-\":\"+\")+\"z\");var E=function(){i=0,S=[],g=[],P=[]};(!i||i{\"use strict\";var YRt=gv(),KRt=hF().processGrid,dF=hF().filter;w8e.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=dF(r.x,r._len),r._y=dF(r.y,r._len),r._z=dF(r.z,r._len),r._value=dF(r.value,r._len);var n=KRt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o{\"use strict\";T8e.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o{\"use strict\";var JRt=zd().gl_mesh3d,$Rt=a1().parseColorScale,QRt=Pr().isArrayOrTypedArray,eDt=n1(),tDt=tc().extractOpts,A8e=QA(),lk=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n-1}function oe(St,Tt){return St===null?Tt:St}function _e(St,Tt,dt){E();var Et=[Tt],pt=[dt];if(j>=1)Et=[Tt],pt=[dt];else if(j>0){var Xt=H(Tt,dt);Et=Xt.xyzv,pt=Xt.abc}for(var or=0;or-1?dt[Er]:P(ei,qr,jr);Ge>-1?_r[Er]=Ge:_r[Er]=q(ei,qr,jr,oe(St,gt))}U(_r[0],_r[1],_r[2])}}function ke(St,Tt,dt){var Et=function(pt,Xt,or){_e(St,[Tt[pt],Tt[Xt],Tt[or]],[dt[pt],dt[Xt],dt[or]])};Et(0,1,2),Et(2,3,0)}function Ce(St,Tt,dt){var Et=function(pt,Xt,or){_e(St,[Tt[pt],Tt[Xt],Tt[or]],[dt[pt],dt[Xt],dt[or]])};Et(0,1,2),Et(3,0,1),Et(2,3,0),Et(1,2,3)}function ge(St,Tt,dt,Et){var pt=St[3];ptEt&&(pt=Et);for(var Xt=(St[3]-pt)/(St[3]-Tt[3]+1e-9),or=[],_r=0;_r<4;_r++)or[_r]=(1-Xt)*St[_r]+Xt*Tt[_r];return or}function ie(St,Tt,dt){return St>=Tt&&St<=dt}function Se(St){var Tt=.001*(L-T);return St>=T-Tt&&St<=L+Tt}function Ee(St){for(var Tt=[],dt=0;dt<4;dt++){var Et=St[dt];Tt.push([e._x[Et],e._y[Et],e._z[Et],e._value[Et]])}return Tt}var we=3;function De(St,Tt,dt,Et,pt,Xt){Xt||(Xt=1),dt=[-1,-1,-1];var or=!1,_r=[ie(Tt[0][3],Et,pt),ie(Tt[1][3],Et,pt),ie(Tt[2][3],Et,pt)];if(!_r[0]&&!_r[1]&&!_r[2])return!1;var Er=function(qr,jr,gt){return Se(jr[0][3])&&Se(jr[1][3])&&Se(jr[2][3])?(_e(qr,jr,gt),!0):Xt_r?[k,Xt]:[Xt,M];Ht(Tt,Er[0],Er[1])}}var ei=[[Math.min(T,M),Math.max(T,M)],[Math.min(k,L),Math.max(k,L)]];[\"x\",\"y\",\"z\"].forEach(function(qr){for(var jr=[],gt=0;gt0&&(At.push(Sr.id),qr===\"x\"?Kt.push([Sr.distRatio,0,0]):qr===\"y\"?Kt.push([0,Sr.distRatio,0]):Kt.push([0,0,Sr.distRatio]))}else qr===\"x\"?xt=Ue(1,d-1):qr===\"y\"?xt=Ue(1,v-1):xt=Ue(1,m-1);At.length>0&&(qr===\"x\"?jr[Ge]=nr(St,At,Je,We,Kt,jr[Ge]):qr===\"y\"?jr[Ge]=tt(St,At,Je,We,Kt,jr[Ge]):jr[Ge]=je(St,At,Je,We,Kt,jr[Ge]),Ge++),xt.length>0&&(qr===\"x\"?jr[Ge]=mt(St,xt,Je,We,jr[Ge]):qr===\"y\"?jr[Ge]=Vt(St,xt,Je,We,jr[Ge]):jr[Ge]=st(St,xt,Je,We,jr[Ge]),Ge++)}var Gr=e.caps[qr];Gr.show&&Gr.fill&&(N(Gr.fill),qr===\"x\"?jr[Ge]=mt(St,[0,d-1],Je,We,jr[Ge]):qr===\"y\"?jr[Ge]=Vt(St,[0,v-1],Je,We,jr[Ge]):jr[Ge]=st(St,[0,m-1],Je,We,jr[Ge]),Ge++)}}),s===0&&z(),e._meshX=x,e._meshY=C,e._meshZ=S,e._meshIntensity=g,e._Xs=c,e._Ys=f,e._Zs=h}return rt(),e}function iDt(e,t){var r=e.glplot.gl,n=JRt({gl:r}),i=new S8e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}E8e.exports={findNearestOnAxis:lk,generateIsoMeshes:M8e,createIsosurfaceTrace:iDt}});var C8e=ye((Kgr,k8e)=>{\"use strict\";k8e.exports={attributes:fF(),supplyDefaults:rZ().supplyDefaults,calc:aZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:vF().createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:sx(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var P8e=ye((Jgr,L8e)=>{\"use strict\";L8e.exports=C8e()});var lZ=ye(($gr,R8e)=>{\"use strict\";var nDt=Tu(),xh=fF(),aDt=ak(),I8e=Gl(),sZ=Ao().extendFlat,oDt=mc().overrideAll,pF=R8e.exports=oDt(sZ({x:xh.x,y:xh.y,z:xh.z,value:xh.value,isomin:xh.isomin,isomax:xh.isomax,surface:xh.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:xh.slices,caps:xh.caps,text:xh.text,hovertext:xh.hovertext,xhoverformat:xh.xhoverformat,yhoverformat:xh.yhoverformat,zhoverformat:xh.zhoverformat,valuehoverformat:xh.valuehoverformat,hovertemplate:xh.hovertemplate,hovertemplatefallback:xh.hovertemplatefallback},nDt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:xh.colorbar,opacity:xh.opacity,opacityscale:aDt.opacityscale,lightposition:xh.lightposition,lighting:xh.lighting,flatshading:xh.flatshading,contour:xh.contour,hoverinfo:sZ({},I8e.hoverinfo),showlegend:sZ({},I8e.showlegend,{dflt:!1})}),\"calc\",\"nested\");pF.x.editType=pF.y.editType=pF.z.editType=pF.value.editType=\"calc+clearAxisTypes\"});var F8e=ye((Qgr,D8e)=>{\"use strict\";var sDt=Pr(),lDt=lZ(),uDt=rZ().supplyIsoDefaults,cDt=KX().opacityscaleDefaults;D8e.exports=function(t,r,n,i){function a(o,s){return sDt.coerce(t,r,lDt,o,s)}uDt(t,r,n,i,a),cDt(t,r,i,a)}});var B8e=ye((emr,O8e)=>{\"use strict\";var fDt=zd().gl_mesh3d,hDt=a1().parseColorScale,dDt=Pr().isArrayOrTypedArray,vDt=n1(),pDt=tc().extractOpts,z8e=QA(),uZ=vF().findNearestOnAxis,gDt=vF().generateIsoMeshes;function q8e(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var cZ=q8e.prototype;cZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=uZ(r,this.data._Xs).id,l=uZ(n,this.data._Ys).id,u=uZ(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return dDt(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};cZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=gDt(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=z8e(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=z8e(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:vDt(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=pDt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=hDt(e),this.mesh.update(o)};cZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function mDt(e,t){var r=e.glplot.gl,n=fDt({gl:r}),i=new q8e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}O8e.exports=mDt});var U8e=ye((tmr,N8e)=>{\"use strict\";N8e.exports={attributes:lZ(),supplyDefaults:F8e(),calc:aZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:B8e(),moduleType:\"trace\",name:\"volume\",basePlotModule:sx(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var G8e=ye((rmr,V8e)=>{\"use strict\";V8e.exports=U8e()});var W8e=ye((imr,j8e)=>{\"use strict\";var yDt=Oa(),H8e=Pr(),_Dt=td(),xDt=JA();j8e.exports=function(t,r,n,i){function a(c,f){return H8e.coerce(t,r,xDt,c,f)}function o(c){var f=c.map(function(h){var d=a(h);return d&&H8e.isArrayOrTypedArray(d)?d:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o([\"x\",\"y\",\"z\"]);if(!s){r.visible=!1;return}if(o([\"i\",\"j\",\"k\"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var l=yDt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");l(t,r,[\"x\",\"y\",\"z\"],i),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(c){a(c)});var u=a(\"contour.show\");u&&(a(\"contour.color\"),a(\"contour.width\")),\"intensity\"in t?(a(\"intensity\"),a(\"intensitymode\"),_Dt(t,r,i,a,{prefix:\"\",cLetter:\"c\"})):(r.showscale=!1,\"facecolor\"in t?a(\"facecolor\"):\"vertexcolor\"in t?a(\"vertexcolor\"):a(\"color\",n)),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var Z8e=ye((nmr,X8e)=>{\"use strict\";var bDt=gv();X8e.exports=function(t,r){r.intensity&&bDt(t,r,{vals:r.intensity,containerStr:\"\",cLetter:\"c\"})}});var Q8e=ye((amr,$8e)=>{\"use strict\";var wDt=zd().gl_mesh3d,TDt=zd().delaunay_triangulate,ADt=zd().alpha_shape,SDt=zd().convex_hull,MDt=a1().parseColorScale,EDt=Pr().isArrayOrTypedArray,vZ=n1(),kDt=tc().extractOpts,Y8e=QA();function J8e(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var pZ=J8e.prototype;pZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return EDt(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function K8e(e){for(var t=[],r=e.length,n=0;n=t-.5)return!1;return!0}pZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=Y8e(fZ(r.xaxis,e.x,t.dataScale[0],e.xcalendar),fZ(r.yaxis,e.y,t.dataScale[1],e.ycalendar),fZ(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!dZ(e.i,n)||!dZ(e.j,n)||!dZ(e.k,n))return;a=Y8e(hZ(e.i),hZ(e.j),hZ(e.k))}else e.alphahull===0?a=SDt(i):e.alphahull>0?a=ADt(e.alphahull,i):a=CDt(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:vZ(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=kDt(e);this.color=\"#fff\";var l=e.intensitymode;o[l+\"Intensity\"]=e.intensity,o[l+\"IntensityBounds\"]=[s.min,s.max],o.colormap=MDt(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=K8e(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=K8e(e.facecolor)):(this.color=e.color,o.meshColor=vZ(e.color));this.mesh.update(o)};pZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function LDt(e,t){var r=e.glplot.gl,n=wDt({gl:r}),i=new J8e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}$8e.exports=LDt});var tRe=ye((omr,eRe)=>{\"use strict\";eRe.exports={attributes:JA(),supplyDefaults:W8e(),calc:Z8e(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:Q8e(),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:sx(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var iRe=ye((smr,rRe)=>{\"use strict\";rRe.exports=tRe()});var mZ=ye((lmr,aRe)=>{\"use strict\";var PDt=Tu(),e5=df().axisHoverFormat,{hovertemplateAttrs:IDt,templatefallbackAttrs:RDt}=Ll(),DDt=JA(),nRe=Gl(),gZ=Ao().extendFlat,gF={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\",\"raw\"],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:IDt({editType:\"calc\"},{keys:[\"norm\"]}),hovertemplatefallback:RDt({editType:\"calc\"}),uhoverformat:e5(\"u\",1),vhoverformat:e5(\"v\",1),whoverformat:e5(\"w\",1),xhoverformat:e5(\"x\"),yhoverformat:e5(\"y\"),zhoverformat:e5(\"z\"),showlegend:gZ({},nRe.showlegend,{dflt:!1})};gZ(gF,PDt(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var FDt=[\"opacity\",\"lightposition\",\"lighting\"];FDt.forEach(function(e){gF[e]=DDt[e]});gF.hoverinfo=gZ({},nRe.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});aRe.exports=gF});var sRe=ye((umr,oRe)=>{\"use strict\";var zDt=Pr(),qDt=td(),ODt=mZ();oRe.exports=function(t,r,n,i){function a(d,v){return zDt.coerce(t,r,ODt,d,v)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=a(\"sizemode\");a(\"sizeref\",h===\"raw\"?1:.5),a(\"anchor\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),qDt(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var uRe=ye((cmr,lRe)=>{\"use strict\";var BDt=gv();lRe.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u{\"use strict\";var NDt=zd().gl_cone3d,UDt=zd().gl_cone3d.createConeMesh,VDt=Pr().simpleMap,GDt=a1().parseColorScale,HDt=tc().extractOpts,jDt=Pr().isArrayOrTypedArray,cRe=QA();function fRe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var yZ=fRe.prototype;yZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return jDt(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var WDt={xaxis:0,yaxis:1,zaxis:2},XDt={tip:1,tail:0,cm:.25,center:.5},ZDt={tip:1,tail:1,cm:.75,center:.5};function hRe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(c,f){var h=r[f],d=n[WDt[f]];return VDt(c,function(v){return h.d2l(v)*d})}i.vectors=cRe(a(t.u,\"xaxis\"),a(t.v,\"yaxis\"),a(t.w,\"zaxis\"),t._len),i.positions=cRe(a(t.x,\"xaxis\"),a(t.y,\"yaxis\"),a(t.z,\"zaxis\"),t._len);var o=HDt(t);i.colormap=GDt(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=XDt[t.anchor];var s=t.sizemode;s===\"scaled\"?i.coneSize=t.sizeref||.5:s===\"absolute\"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s===\"raw\"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=NDt(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=ZDt[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}yZ.update=function(e){this.data=e;var t=hRe(this.scene,e);this.mesh.update(t)};yZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function YDt(e,t){var r=e.glplot.gl,n=hRe(e,t),i=UDt(r,n),a=new fRe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}dRe.exports=YDt});var gRe=ye((hmr,pRe)=>{\"use strict\";pRe.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:sx(),categories:[\"gl3d\",\"showLegend\"],attributes:mZ(),supplyDefaults:sRe(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:uRe(),plot:vRe(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var yRe=ye((dmr,mRe)=>{\"use strict\";mRe.exports=gRe()});var xZ=ye((vmr,xRe)=>{\"use strict\";var KDt=Tu(),t5=df().axisHoverFormat,{hovertemplateAttrs:JDt,templatefallbackAttrs:$Dt}=Ll(),QDt=JA(),_Re=Gl(),_Z=Ao().extendFlat,mF={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\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:JDt({editType:\"calc\"},{keys:[\"tubex\",\"tubey\",\"tubez\",\"tubeu\",\"tubev\",\"tubew\",\"norm\",\"divergence\"]}),hovertemplatefallback:$Dt({editType:\"calc\"}),uhoverformat:t5(\"u\",1),vhoverformat:t5(\"v\",1),whoverformat:t5(\"w\",1),xhoverformat:t5(\"x\"),yhoverformat:t5(\"y\"),zhoverformat:t5(\"z\"),showlegend:_Z({},_Re.showlegend,{dflt:!1})};_Z(mF,KDt(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var eFt=[\"opacity\",\"lightposition\",\"lighting\"];eFt.forEach(function(e){mF[e]=QDt[e]});mF.hoverinfo=_Z({},_Re.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});xRe.exports=mF});var wRe=ye((pmr,bRe)=>{\"use strict\";var tFt=Pr(),rFt=td(),iFt=xZ();bRe.exports=function(t,r,n,i){function a(h,d){return tFt.coerce(t,r,iFt,h,d)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}a(\"starts.x\"),a(\"starts.y\"),a(\"starts.z\"),a(\"maxdisplayed\"),a(\"sizeref\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),rFt(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var LRe=ye((gmr,CRe)=>{\"use strict\";var SRe=zd().gl_streamtube3d,nFt=SRe.createTubeMesh,aFt=Pr(),oFt=a1().parseColorScale,sFt=tc().extractOpts,TRe=QA(),MRe={xaxis:0,yaxis:1,zaxis:2};function ERe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var wZ=ERe.prototype;wZ.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[MRe[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function ARe(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function bZ(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function kRe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(z,q){var U=r[q],G=n[MRe[q]];return aFt.simpleMap(z,function(Z){return U.d2l(Z)*G})}if(a.vectors=TRe(o(t._u,\"xaxis\"),o(t._v,\"yaxis\"),o(t._w,\"zaxis\"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,\"xaxis\"),l=o(t._Ys,\"yaxis\"),u=o(t._Zs,\"zaxis\");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var c=t._slen;if(c)a.startingPositions=TRe(o(t._startsX,\"xaxis\"),o(t._startsY,\"yaxis\"),o(t._startsZ,\"zaxis\"));else{for(var f=l[0],h=ARe(s),d=ARe(u),v=new Array(h.length*d.length),m=0,b=0;b{\"use strict\";PRe.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:sx(),categories:[\"gl3d\",\"showLegend\"],attributes:xZ(),supplyDefaults:wRe(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:hF().calc,plot:LRe(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var DRe=ye((ymr,RRe)=>{\"use strict\";RRe.exports=IRe()});var ew=ye((xmr,BRe)=>{\"use strict\";var{hovertemplateAttrs:uFt,texttemplateAttrs:cFt,templatefallbackAttrs:FRe}=Ll(),fFt=Pg(),$m=pf(),hFt=Gl(),zRe=Tu(),dFt=Pd().dash,Q2=Ao().extendFlat,vFt=mc().overrideAll,rg=$m.marker,qRe=$m.line,ORe=rg.line,_mr=[\"The library used by the *country names* `locationmode` option is changing in an upcoming version.\",\"Country names in existing plots may not work in the new version.\"].join(\" \");BRe.exports=vFt({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\",\"geojson-id\"],dflt:\"ISO-3\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:{valType:\"string\",editType:\"calc\",dflt:\"id\"},mode:Q2({},$m.mode,{dflt:\"markers\"}),text:Q2({},$m.text,{}),texttemplate:cFt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"location\",\"text\"]}),texttemplatefallback:FRe({editType:\"plot\"}),hovertext:Q2({},$m.hovertext,{}),textfont:$m.textfont,textposition:$m.textposition,line:{color:qRe.color,width:qRe.width,dash:dFt},connectgaps:$m.connectgaps,marker:Q2({symbol:rg.symbol,opacity:rg.opacity,angle:rg.angle,angleref:Q2({},rg.angleref,{values:[\"previous\",\"up\",\"north\"]}),standoff:rg.standoff,size:rg.size,sizeref:rg.sizeref,sizemin:rg.sizemin,sizemode:rg.sizemode,colorbar:rg.colorbar,line:Q2({width:ORe.width,dash:ORe.dash},zRe(\"marker.line\")),gradient:rg.gradient},zRe(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:fFt(),selected:$m.selected,unselected:$m.unselected,hoverinfo:Q2({},hFt.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]}),hovertemplate:uFt(),hovertemplatefallback:FRe()},\"calc\",\"nested\")});var URe=ye((bmr,NRe)=>{\"use strict\";var yF=Pr(),TZ=Ru(),pFt=$p(),gFt=D0(),mFt=F0(),yFt=Fg(),_Ft=ew(),xFt=[\"The library used by the *country names* `locationmode` option is changing in the next major version.\",\"Some country names in existing plots may not work in the new version.\",\"To ensure consistent behavior, consider setting `locationmode` to *ISO-3*.\"].join(\" \");NRe.exports=function(t,r,n,i){function a(d,v){return yF.coerce(t,r,_Ft,d,v)}var o=a(\"locations\"),s;if(o&&o.length){var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||yF.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"country names\"&&yF.warn(xFt),c===\"geojson-id\"&&a(\"featureidkey\"),s=o.length}else{var f=a(\"lon\")||[],h=a(\"lat\")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"mode\"),TZ.hasMarkers(r)&&pFt(t,r,n,i,a,{gradient:!0}),TZ.hasLines(r)&&(gFt(t,r,n,i,a),a(\"connectgaps\")),TZ.hasText(r)&&(a(\"texttemplate\"),a(\"texttemplatefallback\"),mFt(t,r,i,a)),a(\"fill\"),r.fill!==\"none\"&&yFt(t,r,n,a),yF.coerceSelectionMarkerOpacity(r,a)}});var HRe=ye((wmr,GRe)=>{\"use strict\";var VRe=ho();GRe.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=VRe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=VRe.tickText(o,o.c2l(s[1]),!0).text,i}});var _F=ye((Tmr,ZRe)=>{\"use strict\";var AZ=Eo(),jRe=fs().BADNUM,bFt=z0(),wFt=Rm(),TFt=q0(),AFt=Pr().isArrayOrTypedArray,WRe=Pr()._;function XRe(e){return e&&typeof e==\"string\"}ZRe.exports=function(t,r){var n=AFt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return XRe(h)||AZ(h)}:o=XRe;for(var s=0;s{\"use strict\";Mv.projNames={airy:\"airy\",aitoff:\"aitoff\",\"albers usa\":\"albersUsa\",albers:\"albers\",august:\"august\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",baker:\"baker\",bertin1953:\"bertin1953\",boggs:\"boggs\",bonne:\"bonne\",bottomley:\"bottomley\",bromley:\"bromley\",collignon:\"collignon\",\"conic conformal\":\"conicConformal\",\"conic equal area\":\"conicEqualArea\",\"conic equidistant\":\"conicEquidistant\",craig:\"craig\",craster:\"craster\",\"cylindrical equal area\":\"cylindricalEqualArea\",\"cylindrical stereographic\":\"cylindricalStereographic\",eckert1:\"eckert1\",eckert2:\"eckert2\",eckert3:\"eckert3\",eckert4:\"eckert4\",eckert5:\"eckert5\",eckert6:\"eckert6\",eisenlohr:\"eisenlohr\",\"equal earth\":\"equalEarth\",equirectangular:\"equirectangular\",fahey:\"fahey\",\"foucaut sinusoidal\":\"foucautSinusoidal\",foucaut:\"foucaut\",ginzburg4:\"ginzburg4\",ginzburg5:\"ginzburg5\",ginzburg6:\"ginzburg6\",ginzburg8:\"ginzburg8\",ginzburg9:\"ginzburg9\",gnomonic:\"gnomonic\",\"gringorten quincuncial\":\"gringortenQuincuncial\",gringorten:\"gringorten\",guyou:\"guyou\",hammer:\"hammer\",hill:\"hill\",homolosine:\"homolosine\",hufnagel:\"hufnagel\",hyperelliptical:\"hyperelliptical\",kavrayskiy7:\"kavrayskiy7\",lagrange:\"lagrange\",larrivee:\"larrivee\",laskowski:\"laskowski\",loximuthal:\"loximuthal\",mercator:\"mercator\",miller:\"miller\",mollweide:\"mollweide\",\"mt flat polar parabolic\":\"mtFlatPolarParabolic\",\"mt flat polar quartic\":\"mtFlatPolarQuartic\",\"mt flat polar sinusoidal\":\"mtFlatPolarSinusoidal\",\"natural earth\":\"naturalEarth\",\"natural earth1\":\"naturalEarth1\",\"natural earth2\":\"naturalEarth2\",\"nell hammer\":\"nellHammer\",nicolosi:\"nicolosi\",orthographic:\"orthographic\",patterson:\"patterson\",\"peirce quincuncial\":\"peirceQuincuncial\",polyconic:\"polyconic\",\"rectangular polyconic\":\"rectangularPolyconic\",robinson:\"robinson\",satellite:\"satellite\",\"sinu mollweide\":\"sinuMollweide\",sinusoidal:\"sinusoidal\",stereographic:\"stereographic\",times:\"times\",\"transverse mercator\":\"transverseMercator\",\"van der grinten\":\"vanDerGrinten\",\"van der grinten2\":\"vanDerGrinten2\",\"van der grinten3\":\"vanDerGrinten3\",\"van der grinten4\":\"vanDerGrinten4\",wagner4:\"wagner4\",wagner6:\"wagner6\",wiechel:\"wiechel\",\"winkel tripel\":\"winkel3\",winkel3:\"winkel3\"};Mv.axesNames=[\"lonaxis\",\"lataxis\"];Mv.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360};Mv.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180};Mv.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]},antarctica:{lonaxisRange:[-180,180],lataxisRange:[-90,-60],projType:\"equirectangular\",projRotate:[0,0,0]},oceania:{lonaxisRange:[-180,180],lataxisRange:[-50,25],projType:\"equirectangular\",projRotate:[0,0,0]}};Mv.clipPad=.001;Mv.precision=.1;Mv.landColor=\"#F0DC82\";Mv.waterColor=\"#3399FF\";Mv.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"};Mv.sphereSVG={type:\"Sphere\"};Mv.fillLayers={ocean:1,land:1,lakes:1};Mv.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Mv.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"];Mv.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"];Mv.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}});var SZ=ye((xF,YRe)=>{(function(e,t){typeof xF==\"object\"&&typeof YRe!=\"undefined\"?t(xF):(e=e||self,t(e.topojson=e.topojson||{}))})(xF,function(e){\"use strict\";function t(M){return M}function r(M){if(M==null)return t;var T,L,x=M.scale[0],C=M.scale[1],S=M.translate[0],g=M.translate[1];return function(P,E){E||(T=L=0);var z=2,q=P.length,U=new Array(q);for(U[0]=(T+=P[0])*x+S,U[1]=(L+=P[1])*C+g;zS&&(S=z[0]),z[1]g&&(g=z[1])}function E(z){switch(z.type){case\"GeometryCollection\":z.geometries.forEach(E);break;case\"Point\":P(z.coordinates);break;case\"MultiPoint\":z.coordinates.forEach(P);break}}M.arcs.forEach(function(z){for(var q=-1,U=z.length,G;++qS&&(S=G[0]),G[1]g&&(g=G[1])});for(L in M.objects)E(M.objects[L]);return[x,C,S,g]}function i(M,T){for(var L,x=M.length,C=x-T;C<--x;)L=M[C],M[C++]=M[x],M[x]=L}function a(M,T){return typeof T==\"string\"&&(T=M.objects[T]),T.type===\"GeometryCollection\"?{type:\"FeatureCollection\",features:T.geometries.map(function(L){return o(M,L)})}:o(M,T)}function o(M,T){var L=T.id,x=T.bbox,C=T.properties==null?{}:T.properties,S=s(M,T);return L==null&&x==null?{type:\"Feature\",properties:C,geometry:S}:x==null?{type:\"Feature\",id:L,properties:C,geometry:S}:{type:\"Feature\",id:L,bbox:x,properties:C,geometry:S}}function s(M,T){var L=r(M.transform),x=M.arcs;function C(q,U){U.length&&U.pop();for(var G=x[q<0?~q:q],Z=0,j=G.length;Z1)x=f(M,T,L);else for(C=0,x=new Array(S=M.arcs.length);C1)for(var U=1,G=P(z[0]),Z,j;UG&&(j=z[0],z[0]=z[U],z[U]=j,G=Z);return z}).filter(function(E){return E.length>0})}}function m(M,T){for(var L=0,x=M.length;L>>1;M[C]=2))throw new Error(\"n must be \\u22652\");E=M.bbox||n(M);var L=E[0],x=E[1],C=E[2],S=E[3],g;T={scale:[C-L?(C-L)/(g-1):1,S-x?(S-x)/(g-1):1],translate:[L,x]}}else E=M.bbox;var P=p(T),E,z,q=M.objects,U={};function G(N){return P(N)}function Z(N){var H;switch(N.type){case\"GeometryCollection\":H={type:\"GeometryCollection\",geometries:N.geometries.map(Z)};break;case\"Point\":H={type:\"Point\",coordinates:G(N.coordinates)};break;case\"MultiPoint\":H={type:\"MultiPoint\",coordinates:N.coordinates.map(G)};break;default:return N}return N.id!=null&&(H.id=N.id),N.bbox!=null&&(H.bbox=N.bbox),N.properties!=null&&(H.properties=N.properties),H}function j(N){var H=0,re=1,oe=N.length,_e,ke=new Array(oe);for(ke[0]=P(N[0],0);++H{\"use strict\";var MZ=KRe.exports={},SFt=uk().locationmodeToLayer,MFt=SZ().feature;MZ.getTopojsonName=function(e){return[e.scope.replace(/ /g,\"-\"),\"_\",e.resolution.toString(),\"m\"].join(\"\")};MZ.getTopojsonPath=function(e,t){return e+=e.endsWith(\"/\")?\"\":\"/\",`${e}${t}.json`};MZ.getTopojsonFeatures=function(e,t){var r=SFt[e.locationmode],n=t.objects[r];return MFt(t,n).features}});var cx=ye(ck=>{\"use strict\";var EFt=fs().BADNUM;ck.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};ck.makeLine=function(e){return e.length===1?{type:\"LineString\",coordinates:e[0]}:{type:\"MultiLineString\",coordinates:e}};ck.makePolygon=function(e){if(e.length===1)return{type:\"Polygon\",coordinates:e};for(var t=new Array(e.length),r=0;r{JRe.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\"}});var AF=ye(ic=>{\"use strict\";Object.defineProperty(ic,\"__esModule\",{value:!0});var qp=63710088e-1,kZ={centimeters:qp*100,centimetres:qp*100,degrees:360/(2*Math.PI),feet:qp*3.28084,inches:qp*39.37,kilometers:qp/1e3,kilometres:qp/1e3,meters:qp,metres:qp,miles:qp/1609.344,millimeters:qp*1e3,millimetres:qp*1e3,nauticalmiles:qp/1852,radians:1,yards:qp*1.0936},EZ={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function fx(e,t,r={}){let n={type:\"Feature\"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function kFt(e,t,r={}){switch(e){case\"Point\":return CZ(t).geometry;case\"LineString\":return PZ(t).geometry;case\"Polygon\":return LZ(t).geometry;case\"MultiPoint\":return eDe(t).geometry;case\"MultiLineString\":return QRe(t).geometry;case\"MultiPolygon\":return tDe(t).geometry;default:throw new Error(e+\" is invalid\")}}function CZ(e,t,r={}){if(!e)throw new Error(\"coordinates is required\");if(!Array.isArray(e))throw new Error(\"coordinates must be an Array\");if(e.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!wF(e[0])||!wF(e[1]))throw new Error(\"coordinates must contain numbers\");return fx({type:\"Point\",coordinates:e},t,r)}function CFt(e,t,r={}){return TF(e.map(n=>CZ(n,t)),r)}function LZ(e,t,r={}){for(let i of e){if(i.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");if(i[i.length-1].length!==i[0].length)throw new Error(\"First and last Position are not equivalent.\");for(let a=0;aLZ(n,t)),r)}function PZ(e,t,r={}){if(e.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return fx({type:\"LineString\",coordinates:e},t,r)}function PFt(e,t,r={}){return TF(e.map(n=>PZ(n,t)),r)}function TF(e,t={}){let r={type:\"FeatureCollection\"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function QRe(e,t,r={}){return fx({type:\"MultiLineString\",coordinates:e},t,r)}function eDe(e,t,r={}){return fx({type:\"MultiPoint\",coordinates:e},t,r)}function tDe(e,t,r={}){return fx({type:\"MultiPolygon\",coordinates:e},t,r)}function IFt(e,t,r={}){return fx({type:\"GeometryCollection\",geometries:e},t,r)}function RFt(e,t=0){if(t&&!(t>=0))throw new Error(\"precision must be a positive number\");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function rDe(e,t=\"kilometers\"){let r=kZ[t];if(!r)throw new Error(t+\" units is invalid\");return e*r}function IZ(e,t=\"kilometers\"){let r=kZ[t];if(!r)throw new Error(t+\" units is invalid\");return e/r}function DFt(e,t){return iDe(IZ(e,t))}function FFt(e){let t=e%360;return t<0&&(t+=360),t}function zFt(e){return e=e%360,e>180?e-360:e<-180?e+360:e}function iDe(e){return e%(2*Math.PI)*180/Math.PI}function qFt(e){return e%360*Math.PI/180}function OFt(e,t=\"kilometers\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"length must be a positive number\");return rDe(IZ(e,t),r)}function BFt(e,t=\"meters\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"area must be a positive number\");let n=EZ[t];if(!n)throw new Error(\"invalid original units\");let i=EZ[r];if(!i)throw new Error(\"invalid final units\");return e/n*i}function wF(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function NFt(e){return e!==null&&typeof e==\"object\"&&!Array.isArray(e)}function UFt(e){if(!e)throw new Error(\"bbox is required\");if(!Array.isArray(e))throw new Error(\"bbox must be an Array\");if(e.length!==4&&e.length!==6)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");e.forEach(t=>{if(!wF(t))throw new Error(\"bbox must only contain numbers\")})}function VFt(e){if(!e)throw new Error(\"id is required\");if([\"string\",\"number\"].indexOf(typeof e)===-1)throw new Error(\"id must be a number or a string\")}ic.areaFactors=EZ;ic.azimuthToBearing=zFt;ic.bearingToAzimuth=FFt;ic.convertArea=BFt;ic.convertLength=OFt;ic.degreesToRadians=qFt;ic.earthRadius=qp;ic.factors=kZ;ic.feature=fx;ic.featureCollection=TF;ic.geometry=kFt;ic.geometryCollection=IFt;ic.isNumber=wF;ic.isObject=NFt;ic.lengthToDegrees=DFt;ic.lengthToRadians=IZ;ic.lineString=PZ;ic.lineStrings=PFt;ic.multiLineString=QRe;ic.multiPoint=eDe;ic.multiPolygon=tDe;ic.point=CZ;ic.points=CFt;ic.polygon=LZ;ic.polygons=LFt;ic.radiansToDegrees=iDe;ic.radiansToLength=rDe;ic.round=RFt;ic.validateBBox=UFt;ic.validateId=VFt});var MF=ye(qd=>{\"use strict\";Object.defineProperty(qd,\"__esModule\",{value:!0});var Wv=AF();function fk(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,c=0,f=0,h,d=e.type,v=d===\"FeatureCollection\",m=d===\"Feature\",b=v?e.features.length:1,p=0;pl||v>u||m>c){s=f,l=n,u=v,c=m,a=0;return}var b=Wv.lineString.call(void 0,[s,f],r.properties);if(t(b,n,i,m,a)===!1)return!1;a++,s=f})===!1)return!1}}})}function YFt(e,t,r){var n=r,i=!1;return oDe(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function sDe(e,t){if(!e)throw new Error(\"geojson is required\");SF(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case\"LineString\":if(t(r,n,i,0,0)===!1)return!1;break;case\"Polygon\":for(var s=0;s{\"use strict\";Object.defineProperty(EF,\"__esModule\",{value:!0});var lDe=AF(),QFt=MF();function fDe(e){return QFt.geomReduce.call(void 0,e,(t,r)=>t+ezt(r),0)}function ezt(e){let t=0,r;switch(e.type){case\"Polygon\":return uDe(e.coordinates);case\"MultiPolygon\":for(r=0;r0){t+=Math.abs(cDe(e[0]));for(let r=1;r=t?(n+2)%t:n+2],s=i[0]*DZ,l=a[1]*DZ,u=o[0]*DZ;r+=(u-s)*Math.sin(l),n++}return r*tzt}var rzt=fDe;EF.area=fDe;EF.default=rzt});var vDe=ye(kF=>{\"use strict\";Object.defineProperty(kF,\"__esModule\",{value:!0});var izt=AF(),nzt=MF();function dDe(e,t={}){let r=0,n=0,i=0;return nzt.coordEach.call(void 0,e,function(a){r+=a[0],n+=a[1],i++},!0),izt.point.call(void 0,[r/i,n/i],t.properties)}var azt=dDe;kF.centroid=dDe;kF.default=azt});var gDe=ye(CF=>{\"use strict\";Object.defineProperty(CF,\"__esModule\",{value:!0});var ozt=MF();function pDe(e,t={}){if(e.bbox!=null&&t.recompute!==!0)return e.bbox;let r=[1/0,1/0,-1/0,-1/0];return ozt.coordEach.call(void 0,e,n=>{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]{\"use strict\";var mDe={alabama:\"AL\",alaska:\"AK\",arizona:\"AZ\",arkansas:\"AR\",california:\"CA\",colorado:\"CO\",connecticut:\"CT\",delaware:\"DE\",\"district of columbia\":\"DC\",florida:\"FL\",georgia:\"GA\",hawaii:\"HI\",idaho:\"ID\",illinois:\"IL\",indiana:\"IN\",iowa:\"IA\",kansas:\"KS\",kentucky:\"KY\",louisiana:\"LA\",maine:\"ME\",maryland:\"MD\",massachusetts:\"MA\",michigan:\"MI\",minnesota:\"MN\",mississippi:\"MS\",missouri:\"MO\",montana:\"MT\",nebraska:\"NE\",nevada:\"NV\",\"new hampshire\":\"NH\",\"new jersey\":\"NJ\",\"new mexico\":\"NM\",\"new york\":\"NY\",\"north carolina\":\"NC\",\"north dakota\":\"ND\",ohio:\"OH\",oklahoma:\"OK\",oregon:\"OR\",pennsylvania:\"PA\",\"rhode island\":\"RI\",\"south carolina\":\"SC\",\"south dakota\":\"SD\",tennessee:\"TN\",texas:\"TX\",utah:\"UT\",vermont:\"VT\",virginia:\"VA\",washington:\"WA\",\"washington dc\":\"DC\",\"washington d.c.\":\"DC\",\"west virginia\":\"WV\",wisconsin:\"WI\",wyoming:\"WY\"},lzt=new Set(Object.values(mDe));yDe.exports={usaLocationAbbreviations:lzt,usaLocationList:mDe}});var hx=ye((Dmr,TDe)=>{\"use strict\";var uzt=qa(),bDe=$Re(),{area:czt}=hDe(),{centroid:fzt}=vDe(),{bbox:hzt}=gDe(),dzt=ZS(),tw=K1(),vzt=Ty(),pzt=FS(),LF=FM(),{usaLocationAbbreviations:gzt,usaLocationList:mzt}=_De(),xDe=Object.keys(bDe),yzt={\"ISO-3\":dzt,\"USA-states\":xzt,\"country names\":_zt};function _zt(e){for(var t=0;t0&&c[f+1][0]<0)return f;return null}switch(n===\"RUS\"||n===\"FJI\"?a=function(c){var f;if(u(c)===null)f=c;else for(f=new Array(c.length),l=0;lf?h[d++]=[c[l][0]+360,c[l][1]]:l===f?(h[d++]=c[l],h[d++]=[c[l][0],-90]):h[d++]=c[l];var v=LF.tester(h);v.pts.pop(),i.push(v)}:a=function(c){i.push(LF.tester(c))},t.type){case\"MultiPolygon\":for(o=0;o0?v.properties.ct=Azt(v):v.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=v,i.push(v)}else tw.log([\"Location\",h.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete n[f]}switch(r.type){case\"FeatureCollection\":var l=r.features;for(a=0;ai&&(i=s,r=o)}else r=t;return fzt(r).geometry.coordinates}function Szt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){uzt.json(l,function(f,h){if(f){delete t[l];var d=f.status===404?'GeoJSON at URL \"'+l+'\" does not exist.':\"Unexpected error while fetching from \"+l;return c(new Error(d))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!==\"pending\")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c(\"Unexpected error while fetching from \"+l);f++},50)})}for(var a=0;a{\"use strict\";var Ezt=qa(),kzt=So(),ADe=ka(),SDe=sp(),Czt=SDe.stylePoints,Lzt=SDe.styleText;MDe.exports=function(t,r){r&&Pzt(t,r)};function Pzt(e,t){var r=t[0].trace,n=t[0].node3;n.style(\"opacity\",t[0].trace.opacity),Czt(n,r,e),Lzt(n,r,e),n.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(i){var a=Ezt.select(this),o=i.trace,s=o.line||{};a.call(ADe.stroke,s.color).call(kzt.dashLine,s.dash||\"\",s.width||0),o.fill!==\"none\"&&a.call(ADe.fill,o.fillcolor)})}});var BZ=ye((zmr,CDe)=>{\"use strict\";var EDe=qa(),IF=Pr(),Izt=bF().getTopojsonFeatures,zZ=cx(),PF=hx(),kDe=Mg().findExtremes,OZ=fs().BADNUM,Rzt=O0().calcMarkerSize,qZ=Ru(),Dzt=FZ();function Fzt(e,t,r){var n=t.layers.frontplot.select(\".scatterlayer\"),i=IF.makeTraceGroups(n,r,\"trace scattergeo\");function a(o,s){o.lonlat[0]===OZ&&EDe.select(s).remove()}i.selectAll(\"*\").remove(),i.each(function(o){var s=EDe.select(this),l=o[0].trace;if(qZ.hasLines(l)||l.fill!==\"none\"){var u=zZ.calcTraceToLineCoords(o),c=l.fill!==\"none\"?zZ.makePolygon(u):zZ.makeLine(u);s.selectAll(\"path.js-line\").data([{geojson:c,trace:l}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}qZ.hasMarkers(l)&&s.selectAll(\"path.point\").data(IF.identity).enter().append(\"path\").classed(\"point\",!0).each(function(f){a(f,this)}),qZ.hasText(l)&&s.selectAll(\"g\").data(IF.identity).enter().append(\"g\").append(\"text\").each(function(f){a(f,this)}),Dzt(e,o)})}function zzt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(IF.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l===\"geojson-id\"?PF.extractTraceFeature(e):Izt(r,i.topojson);for(o=0;o{\"use strict\";var qzt=vf(),Ozt=fs().BADNUM,Bzt=mT(),Nzt=Pr().fillText,Uzt=ew();LDe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(k){var M=k.lonlat;if(M[0]===Ozt||u(M))return 1/0;var T=c(M),L=c([r,n]),x=Math.abs(T[0]-L[0]),C=Math.abs(T[1]-L[1]),S=Math.max(3,k.mrc||0);return Math.max(Math.sqrt(x*x+C*C)-S,1-3/S)}if(qzt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],d=h.lonlat,v=[o.c2p(d),s.c2p(d)],m=h.mrc||1;t.x0=v[0]-m,t.x1=v[0]+m,t.y0=v[1]-m,t.y1=v[1]+m,t.loc=h.loc,t.lon=d[0],t.lat=d[1];var b={};b[a.geo]={_subplot:l};var p=a._module.formatLabels(h,a,b);return t.lonLabel=p.lonLabel,t.latLabel=p.latLabel,t.color=Bzt(a,h),t.extraText=Vzt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function Vzt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i===\"all\"?Uzt.hoverinfo.flags:i.split(\"+\"),o=a.indexOf(\"location\")!==-1&&Array.isArray(e.locations),s=a.indexOf(\"lon\")!==-1,l=a.indexOf(\"lat\")!==-1,u=a.indexOf(\"text\")!==-1,c=[];function f(h){return h+\"\\xB0\"}return o?c.push(t.loc):s&&l?c.push(\"(\"+f(r.latLabel)+\", \"+f(r.lonLabel)+\")\"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&Nzt(t,e,c),c.join(\"
\")}});var RDe=ye((Omr,IDe)=>{\"use strict\";IDe.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var zDe=ye((Bmr,FDe)=>{\"use strict\";var DDe=Ru(),Gzt=fs().BADNUM;FDe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,d=!DDe.hasMarkers(s)&&!DDe.hasText(s);if(d)return[];if(r===!1)for(h=0;h{(function(e,t){t(typeof RF==\"object\"&&typeof qDe!=\"undefined\"?RF:e.d3=e.d3||{})})(RF,function(e){\"use strict\";function t(Ee,we){return Eewe?1:Ee>=we?0:NaN}function r(Ee){return Ee.length===1&&(Ee=n(Ee)),{left:function(we,De,Le,me){for(Le==null&&(Le=0),me==null&&(me=we.length);Le>>1;Ee(we[Pe],De)<0?Le=Pe+1:me=Pe}return Le},right:function(we,De,Le,me){for(Le==null&&(Le=0),me==null&&(me=we.length);Le>>1;Ee(we[Pe],De)>0?me=Pe:Le=Pe+1}return Le}}}function n(Ee){return function(we,De){return t(Ee(we),De)}}var i=r(t),a=i.right,o=i.left;function s(Ee,we){we==null&&(we=l);for(var De=0,Le=Ee.length-1,me=Ee[0],Pe=new Array(Le<0?0:Le);DeEe?1:we>=Ee?0:NaN}function f(Ee){return Ee===null?NaN:+Ee}function h(Ee,we){var De=Ee.length,Le=0,me=-1,Pe=0,ce,He,lt=0;if(we==null)for(;++me1)return lt/(Le-1)}function d(Ee,we){var De=h(Ee,we);return De&&Math.sqrt(De)}function v(Ee,we){var De=Ee.length,Le=-1,me,Pe,ce;if(we==null){for(;++Le=me)for(Pe=ce=me;++Leme&&(Pe=me),ce=me)for(Pe=ce=me;++Leme&&(Pe=me),ce0)return[Ee];if((Le=we0)for(Ee=Math.ceil(Ee/He),we=Math.floor(we/He),ce=new Array(Pe=Math.ceil(we-Ee+1));++me=0?(Pe>=L?10:Pe>=x?5:Pe>=C?2:1)*Math.pow(10,me):-Math.pow(10,-me)/(Pe>=L?10:Pe>=x?5:Pe>=C?2:1)}function P(Ee,we,De){var Le=Math.abs(we-Ee)/Math.max(0,De),me=Math.pow(10,Math.floor(Math.log(Le)/Math.LN10)),Pe=Le/me;return Pe>=L?me*=10:Pe>=x?me*=5:Pe>=C&&(me*=2),west;)ct.pop(),--Qt;var Ht=new Array(Qt+1),nr;for(Pe=0;Pe<=Qt;++Pe)nr=Ht[Pe]=[],nr.x0=Pe>0?ct[Pe-1]:Vt,nr.x1=Pe=1)return+De(Ee[Le-1],Le-1,Ee);var Le,me=(Le-1)*we,Pe=Math.floor(me),ce=+De(Ee[Pe],Pe,Ee),He=+De(Ee[Pe+1],Pe+1,Ee);return ce+(He-ce)*(me-Pe)}}function U(Ee,we,De){return Ee=p.call(Ee,f).sort(t),Math.ceil((De-we)/(2*(q(Ee,.75)-q(Ee,.25))*Math.pow(Ee.length,-1/3)))}function G(Ee,we,De){return Math.ceil((De-we)/(3.5*d(Ee)*Math.pow(Ee.length,-1/3)))}function Z(Ee,we){var De=Ee.length,Le=-1,me,Pe;if(we==null){for(;++Le=me)for(Pe=me;++LePe&&(Pe=me)}else for(;++Le=me)for(Pe=me;++LePe&&(Pe=me);return Pe}function j(Ee,we){var De=Ee.length,Le=De,me=-1,Pe,ce=0;if(we==null)for(;++me=0;)for(ce=Ee[we],De=ce.length;--De>=0;)Pe[--me]=ce[De];return Pe}function re(Ee,we){var De=Ee.length,Le=-1,me,Pe;if(we==null){for(;++Le=me)for(Pe=me;++Leme&&(Pe=me)}else for(;++Le=me)for(Pe=me;++Leme&&(Pe=me);return Pe}function oe(Ee,we){for(var De=we.length,Le=new Array(De);De--;)Le[De]=Ee[we[De]];return Le}function _e(Ee,we){if(De=Ee.length){var De,Le=0,me=0,Pe,ce=Ee[me];for(we==null&&(we=t);++Le{(function(e,t){typeof DF==\"object\"&&typeof ODe!=\"undefined\"?t(DF,hk()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(DF,function(e,t){\"use strict\";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(kt){a(i,kt,this.t),a(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new n;function a(kt,Zt,Mr){var xr=kt.s=Zt+Mr,Kr=xr-Zt,Mi=xr-Kr;kt.t=Zt-Mi+(Mr-Kr)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,d=l/180,v=Math.abs,m=Math.atan,b=Math.atan2,p=Math.cos,k=Math.ceil,M=Math.exp,T=Math.log,L=Math.pow,x=Math.sin,C=Math.sign||function(kt){return kt>0?1:kt<0?-1:0},S=Math.sqrt,g=Math.tan;function P(kt){return kt>1?0:kt<-1?l:Math.acos(kt)}function E(kt){return kt>1?u:kt<-1?-u:Math.asin(kt)}function z(kt){return(kt=x(kt/2))*kt}function q(){}function U(kt,Zt){kt&&Z.hasOwnProperty(kt.type)&&Z[kt.type](kt,Zt)}var G={Feature:function(kt,Zt){U(kt.geometry,Zt)},FeatureCollection:function(kt,Zt){for(var Mr=kt.features,xr=-1,Kr=Mr.length;++xr=0?1:-1,Kr=xr*Mr,Mi=p(Zt),Wi=x(Zt),dn=ie*Wi,wn=ge*Mi+dn*p(Kr),On=dn*xr*x(Kr);re.add(b(On,wn)),Ce=kt,ge=Mi,ie=Wi}function me(kt){return oe.reset(),H(kt,Se),oe*2}function Pe(kt){return[b(kt[1],kt[0]),E(kt[2])]}function ce(kt){var Zt=kt[0],Mr=kt[1],xr=p(Mr);return[xr*p(Zt),xr*x(Zt),x(Mr)]}function He(kt,Zt){return kt[0]*Zt[0]+kt[1]*Zt[1]+kt[2]*Zt[2]}function lt(kt,Zt){return[kt[1]*Zt[2]-kt[2]*Zt[1],kt[2]*Zt[0]-kt[0]*Zt[2],kt[0]*Zt[1]-kt[1]*Zt[0]]}function mt(kt,Zt){kt[0]+=Zt[0],kt[1]+=Zt[1],kt[2]+=Zt[2]}function Vt(kt,Zt){return[kt[0]*Zt,kt[1]*Zt,kt[2]*Zt]}function st(kt){var Zt=S(kt[0]*kt[0]+kt[1]*kt[1]+kt[2]*kt[2]);kt[0]/=Zt,kt[1]/=Zt,kt[2]/=Zt}var ct,Qt,Ht,nr,tt,je,Ue,Ae,rt=r(),St,Tt,dt={point:Et,lineStart:Xt,lineEnd:or,polygonStart:function(){dt.point=_r,dt.lineStart=Er,dt.lineEnd=ei,rt.reset(),Se.polygonStart()},polygonEnd:function(){Se.polygonEnd(),dt.point=Et,dt.lineStart=Xt,dt.lineEnd=or,re<0?(ct=-(Ht=180),Qt=-(nr=90)):rt>o?nr=90:rt<-o&&(Qt=-90),Tt[0]=ct,Tt[1]=Ht},sphere:function(){ct=-(Ht=180),Qt=-(nr=90)}};function Et(kt,Zt){St.push(Tt=[ct=kt,Ht=kt]),Ztnr&&(nr=Zt)}function pt(kt,Zt){var Mr=ce([kt*d,Zt*d]);if(Ae){var xr=lt(Ae,Mr),Kr=[xr[1],-xr[0],0],Mi=lt(Kr,xr);st(Mi),Mi=Pe(Mi);var Wi=kt-tt,dn=Wi>0?1:-1,wn=Mi[0]*h*dn,On,Yi=v(Wi)>180;Yi^(dn*ttnr&&(nr=On)):(wn=(wn+360)%360-180,Yi^(dn*ttnr&&(nr=Zt))),Yi?ktqr(ct,Ht)&&(Ht=kt):qr(kt,Ht)>qr(ct,Ht)&&(ct=kt):Ht>=ct?(ktHt&&(Ht=kt)):kt>tt?qr(ct,kt)>qr(ct,Ht)&&(Ht=kt):qr(kt,Ht)>qr(ct,Ht)&&(ct=kt)}else St.push(Tt=[ct=kt,Ht=kt]);Ztnr&&(nr=Zt),Ae=Mr,tt=kt}function Xt(){dt.point=pt}function or(){Tt[0]=ct,Tt[1]=Ht,dt.point=Et,Ae=null}function _r(kt,Zt){if(Ae){var Mr=kt-tt;rt.add(v(Mr)>180?Mr+(Mr>0?360:-360):Mr)}else je=kt,Ue=Zt;Se.point(kt,Zt),pt(kt,Zt)}function Er(){Se.lineStart()}function ei(){_r(je,Ue),Se.lineEnd(),v(rt)>o&&(ct=-(Ht=180)),Tt[0]=ct,Tt[1]=Ht,Ae=null}function qr(kt,Zt){return(Zt-=kt)<0?Zt+360:Zt}function jr(kt,Zt){return kt[0]-Zt[0]}function gt(kt,Zt){return kt[0]<=kt[1]?kt[0]<=Zt&&Zt<=kt[1]:Ztqr(xr[0],xr[1])&&(xr[1]=Kr[1]),qr(Kr[0],xr[1])>qr(xr[0],xr[1])&&(xr[0]=Kr[0])):Mi.push(xr=Kr);for(Wi=-1/0,Mr=Mi.length-1,Zt=0,xr=Mi[Mr];Zt<=Mr;xr=Kr,++Zt)Kr=Mi[Zt],(dn=qr(xr[1],Kr[0]))>Wi&&(Wi=dn,ct=Kr[0],Ht=xr[1])}return St=Tt=null,ct===1/0||Qt===1/0?[[NaN,NaN],[NaN,NaN]]:[[ct,Qt],[Ht,nr]]}var Je,We,et,xt,At,Kt,er,Sr,Gr,Ir,Yr,_i,Pi,ai,mi,un,Fn={sphere:q,point:An,lineStart:Qn,lineEnd:Jn,polygonStart:function(){Fn.lineStart=Gt,Fn.lineEnd=wt},polygonEnd:function(){Fn.lineStart=Qn,Fn.lineEnd=Jn}};function An(kt,Zt){kt*=d,Zt*=d;var Mr=p(Zt);Hn(Mr*p(kt),Mr*x(kt),x(Zt))}function Hn(kt,Zt,Mr){++Je,et+=(kt-et)/Je,xt+=(Zt-xt)/Je,At+=(Mr-At)/Je}function Qn(){Fn.point=Vi}function Vi(kt,Zt){kt*=d,Zt*=d;var Mr=p(Zt);ai=Mr*p(kt),mi=Mr*x(kt),un=x(Zt),Fn.point=Kn,Hn(ai,mi,un)}function Kn(kt,Zt){kt*=d,Zt*=d;var Mr=p(Zt),xr=Mr*p(kt),Kr=Mr*x(kt),Mi=x(Zt),Wi=b(S((Wi=mi*Mi-un*Kr)*Wi+(Wi=un*xr-ai*Mi)*Wi+(Wi=ai*Kr-mi*xr)*Wi),ai*xr+mi*Kr+un*Mi);We+=Wi,Kt+=Wi*(ai+(ai=xr)),er+=Wi*(mi+(mi=Kr)),Sr+=Wi*(un+(un=Mi)),Hn(ai,mi,un)}function Jn(){Fn.point=An}function Gt(){Fn.point=rr}function wt(){ir(_i,Pi),Fn.point=An}function rr(kt,Zt){_i=kt,Pi=Zt,kt*=d,Zt*=d,Fn.point=ir;var Mr=p(Zt);ai=Mr*p(kt),mi=Mr*x(kt),un=x(Zt),Hn(ai,mi,un)}function ir(kt,Zt){kt*=d,Zt*=d;var Mr=p(Zt),xr=Mr*p(kt),Kr=Mr*x(kt),Mi=x(Zt),Wi=mi*Mi-un*Kr,dn=un*xr-ai*Mi,wn=ai*Kr-mi*xr,On=S(Wi*Wi+dn*dn+wn*wn),Yi=E(On),$i=On&&-Yi/On;Gr+=$i*Wi,Ir+=$i*dn,Yr+=$i*wn,We+=Yi,Kt+=Yi*(ai+(ai=xr)),er+=Yi*(mi+(mi=Kr)),Sr+=Yi*(un+(un=Mi)),Hn(ai,mi,un)}function wr(kt){Je=We=et=xt=At=Kt=er=Sr=Gr=Ir=Yr=0,H(kt,Fn);var Zt=Gr,Mr=Ir,xr=Yr,Kr=Zt*Zt+Mr*Mr+xr*xr;return Krl?kt+Math.round(-kt/f)*f:kt,Zt]}$r.invert=$r;function Ri(kt,Zt,Mr){return(kt%=f)?Zt||Mr?ti(en(kt),fn(Zt,Mr)):en(kt):Zt||Mr?fn(Zt,Mr):$r}function Zi(kt){return function(Zt,Mr){return Zt+=kt,[Zt>l?Zt-f:Zt<-l?Zt+f:Zt,Mr]}}function en(kt){var Zt=Zi(kt);return Zt.invert=Zi(-kt),Zt}function fn(kt,Zt){var Mr=p(kt),xr=x(kt),Kr=p(Zt),Mi=x(Zt);function Wi(dn,wn){var On=p(wn),Yi=p(dn)*On,$i=x(dn)*On,an=x(wn),Fi=an*Mr+Yi*xr;return[b($i*Kr-Fi*Mi,Yi*Mr-an*xr),E(Fi*Kr+$i*Mi)]}return Wi.invert=function(dn,wn){var On=p(wn),Yi=p(dn)*On,$i=x(dn)*On,an=x(wn),Fi=an*Kr-$i*Mi;return[b($i*Kr+an*Mi,Yi*Mr+Fi*xr),E(Fi*Mr-Yi*xr)]},Wi}function yn(kt){kt=Ri(kt[0]*d,kt[1]*d,kt.length>2?kt[2]*d:0);function Zt(Mr){return Mr=kt(Mr[0]*d,Mr[1]*d),Mr[0]*=h,Mr[1]*=h,Mr}return Zt.invert=function(Mr){return Mr=kt.invert(Mr[0]*d,Mr[1]*d),Mr[0]*=h,Mr[1]*=h,Mr},Zt}function Mn(kt,Zt,Mr,xr,Kr,Mi){if(Mr){var Wi=p(Zt),dn=x(Zt),wn=xr*Mr;Kr==null?(Kr=Zt+xr*f,Mi=Zt-wn/2):(Kr=Ba(Wi,Kr),Mi=Ba(Wi,Mi),(xr>0?KrMi)&&(Kr+=xr*f));for(var On,Yi=Kr;xr>0?Yi>Mi:Yi1&&kt.push(kt.pop().concat(kt.shift()))},result:function(){var Mr=kt;return kt=[],Zt=null,Mr}}}function Wa(kt,Zt){return v(kt[0]-Zt[0])=0;--dn)Kr.point(($i=Yi[dn])[0],$i[1]);else xr(an.x,an.p.x,-1,Kr);an=an.p}an=an.o,Yi=an.z,Fi=!Fi}while(!an.v);Kr.lineEnd()}}}function da(kt){if(Zt=kt.length){for(var Zt,Mr=0,xr=kt[0],Kr;++Mr=0?1:-1,as=Ss*Zo,ws=as>l,Ho=Ca*Ka;if(jn.add(b(Ho*Ss*x(as),Ra*bo+Ho*p(as))),Wi+=ws?Zo+Ss*f:Zo,ws^Fi>=Mr^Zn>=Mr){var ml=lt(ce(an),ce(Na));st(ml);var Ws=lt(Mi,ml);st(Ws);var Ls=(ws^Zo>=0?-1:1)*E(Ws[2]);(xr>Ls||xr===Ls&&(ml[0]||ml[1]))&&(dn+=ws^Zo>=0?1:-1)}}return(Wi<-o||Wi0){for(wn||(Kr.polygonStart(),wn=!0),Kr.lineStart(),bo=0;bo1&&Dn&2&&Ka.push(Ka.pop().concat(Ka.shift())),Yi.push(Ka.filter(Ct))}}return an}}function Ct(kt){return kt.length>1}function Ar(kt,Zt){return((kt=kt.x)[0]<0?kt[1]-u-o:u-kt[1])-((Zt=Zt.x)[0]<0?Zt[1]-u-o:u-Zt[1])}var Jr=Gn(function(){return!0},hi,Sn,[-l,-u]);function hi(kt){var Zt=NaN,Mr=NaN,xr=NaN,Kr;return{lineStart:function(){kt.lineStart(),Kr=1},point:function(Mi,Wi){var dn=Mi>0?l:-l,wn=v(Mi-Zt);v(wn-l)0?u:-u),kt.point(xr,Mr),kt.lineEnd(),kt.lineStart(),kt.point(dn,Mr),kt.point(Mi,Mr),Kr=0):xr!==dn&&wn>=l&&(v(Zt-xr)o?m((x(Zt)*(Mi=p(xr))*x(Mr)-x(xr)*(Kr=p(Zt))*x(kt))/(Kr*Mi*Wi)):(Zt+xr)/2}function Sn(kt,Zt,Mr,xr){var Kr;if(kt==null)Kr=Mr*u,xr.point(-l,Kr),xr.point(0,Kr),xr.point(l,Kr),xr.point(l,0),xr.point(l,-Kr),xr.point(0,-Kr),xr.point(-l,-Kr),xr.point(-l,0),xr.point(-l,Kr);else if(v(kt[0]-Zt[0])>o){var Mi=kt[0]0,Kr=v(Zt)>o;function Mi(Yi,$i,an,Fi){Mn(Fi,kt,Mr,an,Yi,$i)}function Wi(Yi,$i){return p(Yi)*p($i)>Zt}function dn(Yi){var $i,an,Fi,ta,Ca;return{lineStart:function(){ta=Fi=!1,Ca=1},point:function(Ra,La){var Na=[Ra,La],Zn,Dn=Wi(Ra,La),Ka=xr?Dn?0:On(Ra,La):Dn?On(Ra+(Ra<0?l:-l),La):0;if(!$i&&(ta=Fi=Dn)&&Yi.lineStart(),Dn!==Fi&&(Zn=wn($i,Na),(!Zn||Wa($i,Zn)||Wa(Na,Zn))&&(Na[2]=1)),Dn!==Fi)Ca=0,Dn?(Yi.lineStart(),Zn=wn(Na,$i),Yi.point(Zn[0],Zn[1])):(Zn=wn($i,Na),Yi.point(Zn[0],Zn[1],2),Yi.lineEnd()),$i=Zn;else if(Kr&&$i&&xr^Dn){var bo;!(Ka&an)&&(bo=wn(Na,$i,!0))&&(Ca=0,xr?(Yi.lineStart(),Yi.point(bo[0][0],bo[0][1]),Yi.point(bo[1][0],bo[1][1]),Yi.lineEnd()):(Yi.point(bo[1][0],bo[1][1]),Yi.lineEnd(),Yi.lineStart(),Yi.point(bo[0][0],bo[0][1],3)))}Dn&&(!$i||!Wa($i,Na))&&Yi.point(Na[0],Na[1]),$i=Na,Fi=Dn,an=Ka},lineEnd:function(){Fi&&Yi.lineEnd(),$i=null},clean:function(){return Ca|(ta&&Fi)<<1}}}function wn(Yi,$i,an){var Fi=ce(Yi),ta=ce($i),Ca=[1,0,0],Ra=lt(Fi,ta),La=He(Ra,Ra),Na=Ra[0],Zn=La-Na*Na;if(!Zn)return!an&&Yi;var Dn=Zt*La/Zn,Ka=-Zt*Na/Zn,bo=lt(Ca,Ra),Zo=Vt(Ca,Dn),Ss=Vt(Ra,Ka);mt(Zo,Ss);var as=bo,ws=He(Zo,as),Ho=He(as,as),ml=ws*ws-Ho*(He(Zo,Zo)-1);if(!(ml<0)){var Ws=S(ml),Ls=Vt(as,(-ws-Ws)/Ho);if(mt(Ls,Zo),Ls=Pe(Ls),!an)return Ls;var va=Yi[0],no=$i[0],ys=Yi[1],rs=$i[1],Ql;no0^Ls[1]<(v(Ls[0]-va)l^(va<=Ls[0]&&Ls[0]<=no)){var pu=Vt(as,(-ws+Ws)/Ho);return mt(pu,Zo),[Ls,Pe(pu)]}}}function On(Yi,$i){var an=xr?kt:l-kt,Fi=0;return Yi<-an?Fi|=1:Yi>an&&(Fi|=2),$i<-an?Fi|=4:$i>an&&(Fi|=8),Fi}return Gn(Wi,dn,Mi,xr?[0,-kt]:[-l,kt-l])}function ki(kt,Zt,Mr,xr,Kr,Mi){var Wi=kt[0],dn=kt[1],wn=Zt[0],On=Zt[1],Yi=0,$i=1,an=wn-Wi,Fi=On-dn,ta;if(ta=Mr-Wi,!(!an&&ta>0)){if(ta/=an,an<0){if(ta0){if(ta>$i)return;ta>Yi&&(Yi=ta)}if(ta=Kr-Wi,!(!an&&ta<0)){if(ta/=an,an<0){if(ta>$i)return;ta>Yi&&(Yi=ta)}else if(an>0){if(ta0)){if(ta/=Fi,Fi<0){if(ta0){if(ta>$i)return;ta>Yi&&(Yi=ta)}if(ta=Mi-dn,!(!Fi&&ta<0)){if(ta/=Fi,Fi<0){if(ta>$i)return;ta>Yi&&(Yi=ta)}else if(Fi>0){if(ta0&&(kt[0]=Wi+Yi*an,kt[1]=dn+Yi*Fi),$i<1&&(Zt[0]=Wi+$i*an,Zt[1]=dn+$i*Fi),!0}}}}}var _n=1e9,ya=-_n;function ea(kt,Zt,Mr,xr){function Kr(On,Yi){return kt<=On&&On<=Mr&&Zt<=Yi&&Yi<=xr}function Mi(On,Yi,$i,an){var Fi=0,ta=0;if(On==null||(Fi=Wi(On,$i))!==(ta=Wi(Yi,$i))||wn(On,Yi)<0^$i>0)do an.point(Fi===0||Fi===3?kt:Mr,Fi>1?xr:Zt);while((Fi=(Fi+$i+4)%4)!==ta);else an.point(Yi[0],Yi[1])}function Wi(On,Yi){return v(On[0]-kt)0?0:3:v(On[0]-Mr)0?2:1:v(On[1]-Zt)0?1:0:Yi>0?3:2}function dn(On,Yi){return wn(On.x,Yi.x)}function wn(On,Yi){var $i=Wi(On,1),an=Wi(Yi,1);return $i!==an?$i-an:$i===0?Yi[1]-On[1]:$i===1?On[0]-Yi[0]:$i===2?On[1]-Yi[1]:Yi[0]-On[0]}return function(On){var Yi=On,$i=ma(),an,Fi,ta,Ca,Ra,La,Na,Zn,Dn,Ka,bo,Zo={point:Ss,lineStart:ml,lineEnd:Ws,polygonStart:ws,polygonEnd:Ho};function Ss(va,no){Kr(va,no)&&Yi.point(va,no)}function as(){for(var va=0,no=0,ys=Fi.length;noxr&&(Uc-Nc)*(xr-pu)>(xu-pu)*(kt-Nc)&&++va:xu<=xr&&(Uc-Nc)*(xr-pu)<(xu-pu)*(kt-Nc)&&--va;return va}function ws(){Yi=$i,an=[],Fi=[],bo=!0}function Ho(){var va=as(),no=bo&&va,ys=(an=t.merge(an)).length;(no||ys)&&(On.polygonStart(),no&&(On.lineStart(),Mi(null,null,1,On),On.lineEnd()),ys&&Xo(an,dn,va,Mi,On),On.polygonEnd()),Yi=On,an=Fi=ta=null}function ml(){Zo.point=Ls,Fi&&Fi.push(ta=[]),Ka=!0,Dn=!1,Na=Zn=NaN}function Ws(){an&&(Ls(Ca,Ra),La&&Dn&&$i.rejoin(),an.push($i.result())),Zo.point=Ss,Dn&&Yi.lineEnd()}function Ls(va,no){var ys=Kr(va,no);if(Fi&&ta.push([va,no]),Ka)Ca=va,Ra=no,La=ys,Ka=!1,ys&&(Yi.lineStart(),Yi.point(va,no));else if(ys&&Dn)Yi.point(va,no);else{var rs=[Na=Math.max(ya,Math.min(_n,Na)),Zn=Math.max(ya,Math.min(_n,Zn))],Ql=[va=Math.max(ya,Math.min(_n,va)),no=Math.max(ya,Math.min(_n,no))];ki(rs,Ql,kt,Zt,Mr,xr)?(Dn||(Yi.lineStart(),Yi.point(rs[0],rs[1])),Yi.point(Ql[0],Ql[1]),ys||Yi.lineEnd(),bo=!1):ys&&(Yi.lineStart(),Yi.point(va,no),bo=!1)}Na=va,Zn=no,Dn=ys}return Zo}}function Ma(){var kt=0,Zt=0,Mr=960,xr=500,Kr,Mi,Wi;return Wi={stream:function(dn){return Kr&&Mi===dn?Kr:Kr=ea(kt,Zt,Mr,xr)(Mi=dn)},extent:function(dn){return arguments.length?(kt=+dn[0][0],Zt=+dn[0][1],Mr=+dn[1][0],xr=+dn[1][1],Kr=Mi=null,Wi):[[kt,Zt],[Mr,xr]]}}}var _o=r(),No,po,Lo,ko={sphere:q,point:q,lineStart:Ds,lineEnd:q,polygonStart:q,polygonEnd:q};function Ds(){ko.point=ll,ko.lineEnd=Fs}function Fs(){ko.point=ko.lineEnd=q}function ll(kt,Zt){kt*=d,Zt*=d,No=kt,po=x(Zt),Lo=p(Zt),ko.point=ul}function ul(kt,Zt){kt*=d,Zt*=d;var Mr=x(Zt),xr=p(Zt),Kr=v(kt-No),Mi=p(Kr),Wi=x(Kr),dn=xr*Wi,wn=Lo*Mr-po*xr*Mi,On=po*Mr+Lo*xr*Mi;_o.add(b(S(dn*dn+wn*wn),On)),No=kt,po=Mr,Lo=xr}function zl(kt){return _o.reset(),H(kt,ko),+_o}var us=[null,null],il={type:\"LineString\",coordinates:us};function As(kt,Zt){return us[0]=kt,us[1]=Zt,zl(il)}var cl={Feature:function(kt,Zt){return zs(kt.geometry,Zt)},FeatureCollection:function(kt,Zt){for(var Mr=kt.features,xr=-1,Kr=Mr.length;++xr0&&(Kr=As(kt[Mi],kt[Mi-1]),Kr>0&&Mr<=Kr&&xr<=Kr&&(Mr+xr-Kr)*(1-Math.pow((Mr-xr)/Kr,2))o}).map(an)).concat(t.range(k(Mi/On)*On,Kr,On).filter(function(Zn){return v(Zn%$i)>o}).map(Fi))}return La.lines=function(){return Na().map(function(Zn){return{type:\"LineString\",coordinates:Zn}})},La.outline=function(){return{type:\"Polygon\",coordinates:[ta(xr).concat(Ca(Wi).slice(1),ta(Mr).reverse().slice(1),Ca(dn).reverse().slice(1))]}},La.extent=function(Zn){return arguments.length?La.extentMajor(Zn).extentMinor(Zn):La.extentMinor()},La.extentMajor=function(Zn){return arguments.length?(xr=+Zn[0][0],Mr=+Zn[1][0],dn=+Zn[0][1],Wi=+Zn[1][1],xr>Mr&&(Zn=xr,xr=Mr,Mr=Zn),dn>Wi&&(Zn=dn,dn=Wi,Wi=Zn),La.precision(Ra)):[[xr,dn],[Mr,Wi]]},La.extentMinor=function(Zn){return arguments.length?(Zt=+Zn[0][0],kt=+Zn[1][0],Mi=+Zn[0][1],Kr=+Zn[1][1],Zt>kt&&(Zn=Zt,Zt=kt,kt=Zn),Mi>Kr&&(Zn=Mi,Mi=Kr,Kr=Zn),La.precision(Ra)):[[Zt,Mi],[kt,Kr]]},La.step=function(Zn){return arguments.length?La.stepMajor(Zn).stepMinor(Zn):La.stepMinor()},La.stepMajor=function(Zn){return arguments.length?(Yi=+Zn[0],$i=+Zn[1],La):[Yi,$i]},La.stepMinor=function(Zn){return arguments.length?(wn=+Zn[0],On=+Zn[1],La):[wn,On]},La.precision=function(Zn){return arguments.length?(Ra=+Zn,an=Rn(Mi,Kr,90),Fi=_a(Zt,kt,Ra),ta=Rn(dn,Wi,90),Ca=_a(xr,Mr,Ra),La):Ra},La.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function ql(){return Vu()()}function xo(kt,Zt){var Mr=kt[0]*d,xr=kt[1]*d,Kr=Zt[0]*d,Mi=Zt[1]*d,Wi=p(xr),dn=x(xr),wn=p(Mi),On=x(Mi),Yi=Wi*p(Mr),$i=Wi*x(Mr),an=wn*p(Kr),Fi=wn*x(Kr),ta=2*E(S(z(Mi-xr)+Wi*wn*z(Kr-Mr))),Ca=x(ta),Ra=ta?function(La){var Na=x(La*=ta)/Ca,Zn=x(ta-La)/Ca,Dn=Zn*Yi+Na*an,Ka=Zn*$i+Na*Fi,bo=Zn*dn+Na*On;return[b(Ka,Dn)*h,b(bo,S(Dn*Dn+Ka*Ka))*h]}:function(){return[Mr*h,xr*h]};return Ra.distance=ta,Ra}function Kl(kt){return kt}var Ns=r(),Hl=r(),ac,oa,qo,Oo,Ol={point:q,lineStart:q,lineEnd:q,polygonStart:function(){Ol.lineStart=Pc,Ol.lineEnd=Vf},polygonEnd:function(){Ol.lineStart=Ol.lineEnd=Ol.point=q,Ns.add(v(Hl)),Hl.reset()},result:function(){var kt=Ns/2;return Ns.reset(),kt}};function Pc(){Ol.point=Do}function Do(kt,Zt){Ol.point=rf,ac=qo=kt,oa=Oo=Zt}function rf(kt,Zt){Hl.add(Oo*kt-qo*Zt),qo=kt,Oo=Zt}function Vf(){rf(ac,oa)}var pl=1/0,Zc=pl,Jl=-pl,qs=Jl,yu={point:oc,lineStart:q,lineEnd:q,polygonStart:q,polygonEnd:q,result:function(){var kt=[[pl,Zc],[Jl,qs]];return Jl=qs=-(Zc=pl=1/0),kt}};function oc(kt,Zt){ktJl&&(Jl=kt),Ztqs&&(qs=Zt)}var Cf=0,sc=0,jh=0,Lf=0,cs=0,nf=0,Gf=0,$l=0,fl=0,lc,Fu,Es,Hs,Go={point:ps,lineStart:uc,lineEnd:Os,polygonStart:function(){Go.lineStart=od,Go.lineEnd=Po},polygonEnd:function(){Go.point=ps,Go.lineStart=uc,Go.lineEnd=Os},result:function(){var kt=fl?[Gf/fl,$l/fl]:nf?[Lf/nf,cs/nf]:jh?[Cf/jh,sc/jh]:[NaN,NaN];return Cf=sc=jh=Lf=cs=nf=Gf=$l=fl=0,kt}};function ps(kt,Zt){Cf+=kt,sc+=Zt,++jh}function uc(){Go.point=xl}function xl(kt,Zt){Go.point=Gu,ps(Es=kt,Hs=Zt)}function Gu(kt,Zt){var Mr=kt-Es,xr=Zt-Hs,Kr=S(Mr*Mr+xr*xr);Lf+=Kr*(Es+kt)/2,cs+=Kr*(Hs+Zt)/2,nf+=Kr,ps(Es=kt,Hs=Zt)}function Os(){Go.point=ps}function od(){Go.point=sd}function Po(){Ko(lc,Fu)}function sd(kt,Zt){Go.point=Ko,ps(lc=Es=kt,Fu=Hs=Zt)}function Ko(kt,Zt){var Mr=kt-Es,xr=Zt-Hs,Kr=S(Mr*Mr+xr*xr);Lf+=Kr*(Es+kt)/2,cs+=Kr*(Hs+Zt)/2,nf+=Kr,Kr=Hs*kt-Es*Zt,Gf+=Kr*(Es+kt),$l+=Kr*(Hs+Zt),fl+=Kr*3,ps(Es=kt,Hs=Zt)}function Pa(kt){this._context=kt}Pa.prototype={_radius:4.5,pointRadius:function(kt){return this._radius=kt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(kt,Zt){switch(this._point){case 0:{this._context.moveTo(kt,Zt),this._point=1;break}case 1:{this._context.lineTo(kt,Zt);break}default:{this._context.moveTo(kt+this._radius,Zt),this._context.arc(kt,Zt,this._radius,0,f);break}}},result:q};var af=r(),Hu,bl,Hf,Ic,yf,Bl={point:q,lineStart:function(){Bl.point=Ah},lineEnd:function(){Hu&&Qf(bl,Hf),Bl.point=q},polygonStart:function(){Hu=!0},polygonEnd:function(){Hu=null},result:function(){var kt=+af;return af.reset(),kt}};function Ah(kt,Zt){Bl.point=Qf,bl=Ic=kt,Hf=yf=Zt}function Qf(kt,Zt){Ic-=kt,yf-=Zt,af.add(S(Ic*Ic+yf*yf)),Ic=kt,yf=Zt}function _f(){this._string=[]}_f.prototype={_radius:4.5,_circle:Yc(4.5),pointRadius:function(kt){return(kt=+kt)!==this._radius&&(this._radius=kt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push(\"Z\"),this._point=NaN},point:function(kt,Zt){switch(this._point){case 0:{this._string.push(\"M\",kt,\",\",Zt),this._point=1;break}case 1:{this._string.push(\"L\",kt,\",\",Zt);break}default:{this._circle==null&&(this._circle=Yc(this._radius)),this._string.push(\"M\",kt,\",\",Zt,this._circle);break}}},result:function(){if(this._string.length){var kt=this._string.join(\"\");return this._string=[],kt}else return null}};function Yc(kt){return\"m0,\"+kt+\"a\"+kt+\",\"+kt+\" 0 1,1 0,\"+-2*kt+\"a\"+kt+\",\"+kt+\" 0 1,1 0,\"+2*kt+\"z\"}function eh(kt,Zt){var Mr=4.5,xr,Kr;function Mi(Wi){return Wi&&(typeof Mr==\"function\"&&Kr.pointRadius(+Mr.apply(this,arguments)),H(Wi,xr(Kr))),Kr.result()}return Mi.area=function(Wi){return H(Wi,xr(Ol)),Ol.result()},Mi.measure=function(Wi){return H(Wi,xr(Bl)),Bl.result()},Mi.bounds=function(Wi){return H(Wi,xr(yu)),yu.result()},Mi.centroid=function(Wi){return H(Wi,xr(Go)),Go.result()},Mi.projection=function(Wi){return arguments.length?(xr=Wi==null?(kt=null,Kl):(kt=Wi).stream,Mi):kt},Mi.context=function(Wi){return arguments.length?(Kr=Wi==null?(Zt=null,new _f):new Pa(Zt=Wi),typeof Mr!=\"function\"&&Kr.pointRadius(Mr),Mi):Zt},Mi.pointRadius=function(Wi){return arguments.length?(Mr=typeof Wi==\"function\"?Wi:(Kr.pointRadius(+Wi),+Wi),Mi):Mr},Mi.projection(kt).context(Zt)}function th(kt){return{stream:ju(kt)}}function ju(kt){return function(Zt){var Mr=new jf;for(var xr in kt)Mr[xr]=kt[xr];return Mr.stream=Zt,Mr}}function jf(){}jf.prototype={constructor:jf,point:function(kt,Zt){this.stream.point(kt,Zt)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function cc(kt,Zt,Mr){var xr=kt.clipExtent&&kt.clipExtent();return kt.scale(150).translate([0,0]),xr!=null&&kt.clipExtent(null),H(Mr,kt.stream(yu)),Zt(yu.result()),xr!=null&&kt.clipExtent(xr),kt}function of(kt,Zt,Mr){return cc(kt,function(xr){var Kr=Zt[1][0]-Zt[0][0],Mi=Zt[1][1]-Zt[0][1],Wi=Math.min(Kr/(xr[1][0]-xr[0][0]),Mi/(xr[1][1]-xr[0][1])),dn=+Zt[0][0]+(Kr-Wi*(xr[1][0]+xr[0][0]))/2,wn=+Zt[0][1]+(Mi-Wi*(xr[1][1]+xr[0][1]))/2;kt.scale(150*Wi).translate([dn,wn])},Mr)}function Nl(kt,Zt,Mr){return of(kt,[[0,0],Zt],Mr)}function Kc(kt,Zt,Mr){return cc(kt,function(xr){var Kr=+Zt,Mi=Kr/(xr[1][0]-xr[0][0]),Wi=(Kr-Mi*(xr[1][0]+xr[0][0]))/2,dn=-Mi*xr[0][1];kt.scale(150*Mi).translate([Wi,dn])},Mr)}function Rc(kt,Zt,Mr){return cc(kt,function(xr){var Kr=+Zt,Mi=Kr/(xr[1][1]-xr[0][1]),Wi=-Mi*xr[0][0],dn=(Kr-Mi*(xr[1][1]+xr[0][1]))/2;kt.scale(150*Mi).translate([Wi,dn])},Mr)}var gs=16,Wf=p(30*d);function Wh(kt,Zt){return+Zt?sf(kt,Zt):rh(kt)}function rh(kt){return ju({point:function(Zt,Mr){Zt=kt(Zt,Mr),this.stream.point(Zt[0],Zt[1])}})}function sf(kt,Zt){function Mr(xr,Kr,Mi,Wi,dn,wn,On,Yi,$i,an,Fi,ta,Ca,Ra){var La=On-xr,Na=Yi-Kr,Zn=La*La+Na*Na;if(Zn>4*Zt&&Ca--){var Dn=Wi+an,Ka=dn+Fi,bo=wn+ta,Zo=S(Dn*Dn+Ka*Ka+bo*bo),Ss=E(bo/=Zo),as=v(v(bo)-1)Zt||v((La*Ws+Na*Ls)/Zn-.5)>.3||Wi*an+dn*Fi+wn*ta2?va[2]%360*d:0,Ws()):[dn*h,wn*h,On*h]},Ho.angle=function(va){return arguments.length?($i=va%360*d,Ws()):$i*h},Ho.reflectX=function(va){return arguments.length?(an=va?-1:1,Ws()):an<0},Ho.reflectY=function(va){return arguments.length?(Fi=va?-1:1,Ws()):Fi<0},Ho.precision=function(va){return arguments.length?(bo=Wh(Zo,Ka=va*va),Ls()):S(Ka)},Ho.fitExtent=function(va,no){return of(Ho,va,no)},Ho.fitSize=function(va,no){return Nl(Ho,va,no)},Ho.fitWidth=function(va,no){return Kc(Ho,va,no)},Ho.fitHeight=function(va,no){return Rc(Ho,va,no)};function Ws(){var va=js(Mr,0,0,an,Fi,$i).apply(null,Zt(Mi,Wi)),no=($i?js:ih)(Mr,xr-va[0],Kr-va[1],an,Fi,$i);return Yi=Ri(dn,wn,On),Zo=ti(Zt,no),Ss=ti(Yi,Zo),bo=Wh(Zo,Ka),Ls()}function Ls(){return as=ws=null,Ho}return function(){return Zt=kt.apply(this,arguments),Ho.invert=Zt.invert&&ml,Ws()}}function ks(kt){var Zt=0,Mr=l/3,xr=Dc(kt),Kr=xr(Zt,Mr);return Kr.parallels=function(Mi){return arguments.length?xr(Zt=Mi[0]*d,Mr=Mi[1]*d):[Zt*h,Mr*h]},Kr}function bc(kt){var Zt=p(kt);function Mr(xr,Kr){return[xr*Zt,x(Kr)/Zt]}return Mr.invert=function(xr,Kr){return[xr/Zt,E(Kr*Zt)]},Mr}function hu(kt,Zt){var Mr=x(kt),xr=(Mr+x(Zt))/2;if(v(xr)=.12&&Ra<.234&&Ca>=-.425&&Ca<-.214?Kr:Ra>=.166&&Ra<.234&&Ca>=-.214&&Ca<-.115?Wi:Mr).invert(an)},Yi.stream=function(an){return kt&&Zt===an?kt:kt=nh([Mr.stream(Zt=an),Kr.stream(an),Wi.stream(an)])},Yi.precision=function(an){return arguments.length?(Mr.precision(an),Kr.precision(an),Wi.precision(an),$i()):Mr.precision()},Yi.scale=function(an){return arguments.length?(Mr.scale(an),Kr.scale(an*.35),Wi.scale(an),Yi.translate(Mr.translate())):Mr.scale()},Yi.translate=function(an){if(!arguments.length)return Mr.translate();var Fi=Mr.scale(),ta=+an[0],Ca=+an[1];return xr=Mr.translate(an).clipExtent([[ta-.455*Fi,Ca-.238*Fi],[ta+.455*Fi,Ca+.238*Fi]]).stream(On),Mi=Kr.translate([ta-.307*Fi,Ca+.201*Fi]).clipExtent([[ta-.425*Fi+o,Ca+.12*Fi+o],[ta-.214*Fi-o,Ca+.234*Fi-o]]).stream(On),dn=Wi.translate([ta-.205*Fi,Ca+.212*Fi]).clipExtent([[ta-.214*Fi+o,Ca+.166*Fi+o],[ta-.115*Fi-o,Ca+.234*Fi-o]]).stream(On),$i()},Yi.fitExtent=function(an,Fi){return of(Yi,an,Fi)},Yi.fitSize=function(an,Fi){return Nl(Yi,an,Fi)},Yi.fitWidth=function(an,Fi){return Kc(Yi,an,Fi)},Yi.fitHeight=function(an,Fi){return Rc(Yi,an,Fi)};function $i(){return kt=Zt=null,Yi}return Yi.scale(1070)}function zu(kt){return function(Zt,Mr){var xr=p(Zt),Kr=p(Mr),Mi=kt(xr*Kr);return[Mi*Kr*x(Zt),Mi*x(Mr)]}}function Fc(kt){return function(Zt,Mr){var xr=S(Zt*Zt+Mr*Mr),Kr=kt(xr),Mi=x(Kr),Wi=p(Kr);return[b(Zt*Mi,xr*Wi),E(xr&&Mr*Mi/xr)]}}var wc=zu(function(kt){return S(2/(1+kt))});wc.invert=Fc(function(kt){return 2*E(kt/2)});function bd(){return Eu(wc).scale(124.75).clipAngle(180-.001)}var xf=zu(function(kt){return(kt=P(kt))&&kt/x(kt)});xf.invert=Fc(function(kt){return kt});function Pf(){return Eu(xf).scale(79.4188).clipAngle(180-.001)}function qu(kt,Zt){return[kt,T(g((u+Zt)/2))]}qu.invert=function(kt,Zt){return[kt,2*m(M(Zt))-u]};function bf(){return jl(qu).scale(961/f)}function jl(kt){var Zt=Eu(kt),Mr=Zt.center,xr=Zt.scale,Kr=Zt.translate,Mi=Zt.clipExtent,Wi=null,dn,wn,On;Zt.scale=function($i){return arguments.length?(xr($i),Yi()):xr()},Zt.translate=function($i){return arguments.length?(Kr($i),Yi()):Kr()},Zt.center=function($i){return arguments.length?(Mr($i),Yi()):Mr()},Zt.clipExtent=function($i){return arguments.length?($i==null?Wi=dn=wn=On=null:(Wi=+$i[0][0],dn=+$i[0][1],wn=+$i[1][0],On=+$i[1][1]),Yi()):Wi==null?null:[[Wi,dn],[wn,On]]};function Yi(){var $i=l*xr(),an=Zt(yn(Zt.rotate()).invert([0,0]));return Mi(Wi==null?[[an[0]-$i,an[1]-$i],[an[0]+$i,an[1]+$i]]:kt===qu?[[Math.max(an[0]-$i,Wi),dn],[Math.min(an[0]+$i,wn),On]]:[[Wi,Math.max(an[1]-$i,dn)],[wn,Math.min(an[1]+$i,On)]])}return Yi()}function lf(kt){return g((u+kt)/2)}function Xh(kt,Zt){var Mr=p(kt),xr=kt===Zt?x(kt):T(Mr/p(Zt))/T(lf(Zt)/lf(kt)),Kr=Mr*L(lf(kt),xr)/xr;if(!xr)return qu;function Mi(Wi,dn){Kr>0?dn<-u+o&&(dn=-u+o):dn>u-o&&(dn=u-o);var wn=Kr/L(lf(dn),xr);return[wn*x(xr*Wi),Kr-wn*p(xr*Wi)]}return Mi.invert=function(Wi,dn){var wn=Kr-dn,On=C(xr)*S(Wi*Wi+wn*wn),Yi=b(Wi,v(wn))*C(wn);return wn*xr<0&&(Yi-=l*C(Wi)*C(wn)),[Yi/xr,2*m(L(Kr/On,1/xr))-u]},Mi}function If(){return ks(Xh).scale(109.5).parallels([30,30])}function Cs(kt,Zt){return[kt,Zt]}Cs.invert=Cs;function du(){return Eu(Cs).scale(152.63)}function ku(kt,Zt){var Mr=p(kt),xr=kt===Zt?x(kt):(Mr-p(Zt))/(Zt-kt),Kr=Mr/xr+kt;if(v(xr)o&&--xr>0);return[kt/(.8707+(Mi=Mr*Mr)*(-.131979+Mi*(-.013791+Mi*Mi*Mi*(.003971-.001529*Mi)))),Mr]};function Tc(){return Eu(qc).scale(175.295)}function wl(kt,Zt){return[p(Zt)*x(kt),x(Zt)]}wl.invert=Fc(E);function vu(){return Eu(wl).scale(249.5).clipAngle(90+o)}function Oc(kt,Zt){var Mr=p(Zt),xr=1+p(kt)*Mr;return[Mr*x(kt)/xr,x(Zt)/xr]}Oc.invert=Fc(function(kt){return 2*m(kt)});function cf(){return Eu(Oc).scale(250).clipAngle(142)}function fc(kt,Zt){return[T(g((u+Zt)/2)),-kt]}fc.invert=function(kt,Zt){return[-Zt,2*m(M(kt))-u]};function Bc(){var kt=jl(fc),Zt=kt.center,Mr=kt.rotate;return kt.center=function(xr){return arguments.length?Zt([-xr[1],xr[0]]):(xr=Zt(),[xr[1],-xr[0]])},kt.rotate=function(xr){return arguments.length?Mr([xr[0],xr[1],xr.length>2?xr[2]+90:90]):(xr=Mr(),[xr[0],xr[1],xr[2]-90])},Mr([0,0,90]).scale(159.155)}e.geoAlbers=nl,e.geoAlbersUsa=Mh,e.geoArea=me,e.geoAzimuthalEqualArea=bd,e.geoAzimuthalEqualAreaRaw=wc,e.geoAzimuthalEquidistant=Pf,e.geoAzimuthalEquidistantRaw=xf,e.geoBounds=Ge,e.geoCentroid=wr,e.geoCircle=ua,e.geoClipAntimeridian=Jr,e.geoClipCircle=En,e.geoClipExtent=Ma,e.geoClipRectangle=ea,e.geoConicConformal=If,e.geoConicConformalRaw=Xh,e.geoConicEqualArea=_u,e.geoConicEqualAreaRaw=hu,e.geoConicEquidistant=Xf,e.geoConicEquidistantRaw=ku,e.geoContains=bs,e.geoDistance=As,e.geoEqualEarth=Zf,e.geoEqualEarthRaw=uf,e.geoEquirectangular=du,e.geoEquirectangularRaw=Cs,e.geoGnomonic=ah,e.geoGnomonicRaw=Wl,e.geoGraticule=Vu,e.geoGraticule10=ql,e.geoIdentity=Zu,e.geoInterpolate=xo,e.geoLength=zl,e.geoMercator=bf,e.geoMercatorRaw=qu,e.geoNaturalEarth1=Tc,e.geoNaturalEarth1Raw=qc,e.geoOrthographic=vu,e.geoOrthographicRaw=wl,e.geoPath=eh,e.geoProjection=Eu,e.geoProjectionMutator=Dc,e.geoRotation=yn,e.geoStereographic=cf,e.geoStereographicRaw=Oc,e.geoStream=H,e.geoTransform=th,e.geoTransverseMercator=Bc,e.geoTransverseMercatorRaw=fc,Object.defineProperty(e,\"__esModule\",{value:!0})})});var NDe=ye((FF,BDe)=>{(function(e,t){typeof FF==\"object\"&&typeof BDe!=\"undefined\"?t(FF,NZ(),hk()):t(e.d3=e.d3||{},e.d3,e.d3)})(FF,function(e,t,r){\"use strict\";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,d=Math.round,v=Math.sign||function(ve){return ve>0?1:ve<0?-1:0},m=Math.sin,b=Math.tan,p=1e-6,k=1e-12,M=Math.PI,T=M/2,L=M/4,x=Math.SQRT1_2,C=G(2),S=G(M),g=M*2,P=180/M,E=M/180;function z(ve){return ve?ve/Math.sin(ve):1}function q(ve){return ve>1?T:ve<-1?-T:Math.asin(ve)}function U(ve){return ve>1?0:ve<-1?M:Math.acos(ve)}function G(ve){return ve>0?Math.sqrt(ve):0}function Z(ve){return ve=s(2*ve),(ve-1)/(ve+1)}function j(ve){return(s(ve)-s(-ve))/2}function N(ve){return(s(ve)+s(-ve))/2}function H(ve){return u(ve+G(ve*ve+1))}function re(ve){return u(ve+G(ve*ve-1))}function oe(ve){var xe=b(ve/2),Ie=2*u(o(ve/2))/(xe*xe);function qe(Qe,Xe){var nt=o(Qe),qt=o(Xe),jt=m(Xe),ar=qt*nt,fr=-((1-ar?u((1+ar)/2)/(1-ar):-.5)+Ie/(1+ar));return[fr*qt*m(Qe),fr*jt]}return qe.invert=function(Qe,Xe){var nt=G(Qe*Qe+Xe*Xe),qt=-ve/2,jt=50,ar;if(!nt)return[0,0];do{var fr=qt/2,br=o(fr),Fr=m(fr),Hr=Fr/br,ri=-u(n(br));qt-=ar=(2/Hr*ri-Ie*Hr-nt)/(-ri/(Fr*Fr)+1-Ie/(2*br*br))*(br<0?.7:1)}while(n(ar)>p&&--jt>0);var Ci=m(qt);return[a(Qe*Ci,nt*o(qt)),q(Xe*Ci/nt)]},qe}function _e(){var ve=T,xe=t.geoProjectionMutator(oe),Ie=xe(ve);return Ie.radius=function(qe){return arguments.length?xe(ve=qe*E):ve*P},Ie.scale(179.976).clipAngle(147)}function ke(ve,xe){var Ie=o(xe),qe=z(U(Ie*o(ve/=2)));return[2*Ie*m(ve)*qe,m(xe)*qe]}ke.invert=function(ve,xe){if(!(ve*ve+4*xe*xe>M*M+p)){var Ie=ve,qe=xe,Qe=25;do{var Xe=m(Ie),nt=m(Ie/2),qt=o(Ie/2),jt=m(qe),ar=o(qe),fr=m(2*qe),br=jt*jt,Fr=ar*ar,Hr=nt*nt,ri=1-Fr*qt*qt,Ci=ri?U(ar*qt)*G(cn=1/ri):cn=0,cn,sn=2*Ci*ar*nt-ve,Ln=Ci*jt-xe,Yn=cn*(Fr*Hr+Ci*ar*qt*br),Aa=cn*(.5*Xe*fr-Ci*2*jt*nt),fa=cn*.25*(fr*nt-Ci*jt*Fr*Xe),$a=cn*(br*qt+Ci*Hr*ar),Co=Aa*fa-$a*Yn;if(!Co)break;var Qa=(Ln*Aa-sn*$a)/Co,mo=(sn*fa-Ln*Yn)/Co;Ie-=Qa,qe-=mo}while((n(Qa)>p||n(mo)>p)&&--Qe>0);return[Ie,qe]}};function Ce(){return t.geoProjection(ke).scale(152.63)}function ge(ve){var xe=m(ve),Ie=o(ve),qe=ve>=0?1:-1,Qe=b(qe*ve),Xe=(1+xe-Ie)/2;function nt(qt,jt){var ar=o(jt),fr=o(qt/=2);return[(1+ar)*m(qt),(qe*jt>-a(fr,Qe)-.001?0:-qe*10)+Xe+m(jt)*Ie-(1+ar)*xe*fr]}return nt.invert=function(qt,jt){var ar=0,fr=0,br=50;do{var Fr=o(ar),Hr=m(ar),ri=o(fr),Ci=m(fr),cn=1+ri,sn=cn*Hr-qt,Ln=Xe+Ci*Ie-cn*xe*Fr-jt,Yn=cn*Fr/2,Aa=-Hr*Ci,fa=xe*cn*Hr/2,$a=Ie*ri+xe*Fr*Ci,Co=Aa*fa-$a*Yn,Qa=(Ln*Aa-sn*$a)/Co/2,mo=(sn*fa-Ln*Yn)/Co;n(mo)>2&&(mo/=2),ar-=Qa,fr-=mo}while((n(Qa)>p||n(mo)>p)&&--br>0);return qe*fr>-a(o(ar),Qe)-.001?[ar*2,fr]:null},nt}function ie(){var ve=20*E,xe=ve>=0?1:-1,Ie=b(xe*ve),qe=t.geoProjectionMutator(ge),Qe=qe(ve),Xe=Qe.stream;return Qe.parallel=function(nt){return arguments.length?(Ie=b((xe=(ve=nt*E)>=0?1:-1)*ve),qe(ve)):ve*P},Qe.stream=function(nt){var qt=Qe.rotate(),jt=Xe(nt),ar=(Qe.rotate([0,0]),Xe(nt)),fr=Qe.precision();return Qe.rotate(qt),jt.sphere=function(){ar.polygonStart(),ar.lineStart();for(var br=xe*-180;xe*br<180;br+=xe*90)ar.point(br,xe*90);if(ve)for(;xe*(br-=3*xe*fr)>=-180;)ar.point(br,xe*-a(o(br*E/2),Ie)*P);ar.lineEnd(),ar.polygonEnd()},jt},Qe.scale(218.695).center([0,28.0974])}function Se(ve,xe){var Ie=b(xe/2),qe=G(1-Ie*Ie),Qe=1+qe*o(ve/=2),Xe=m(ve)*qe/Qe,nt=Ie/Qe,qt=Xe*Xe,jt=nt*nt;return[4/3*Xe*(3+qt-3*jt),4/3*nt*(3+3*qt-jt)]}Se.invert=function(ve,xe){if(ve*=3/8,xe*=3/8,!ve&&n(xe)>1)return null;var Ie=ve*ve,qe=xe*xe,Qe=1+Ie+qe,Xe=G((Qe-G(Qe*Qe-4*xe*xe))/2),nt=q(Xe)/3,qt=Xe?re(n(xe/Xe))/3:H(n(ve))/3,jt=o(nt),ar=N(qt),fr=ar*ar-jt*jt;return[v(ve)*2*a(j(qt)*jt,.25-fr),v(xe)*2*a(ar*m(nt),.25+fr)]};function Ee(){return t.geoProjection(Se).scale(66.1603)}var we=G(8),De=u(1+C);function Le(ve,xe){var Ie=n(xe);return Iek&&--qe>0);return[ve/(o(Ie)*(we-1/m(Ie))),v(xe)*Ie]};function me(){return t.geoProjection(Le).scale(112.314)}function Pe(ve){var xe=2*M/ve;function Ie(qe,Qe){var Xe=t.geoAzimuthalEquidistantRaw(qe,Qe);if(n(qe)>T){var nt=a(Xe[1],Xe[0]),qt=G(Xe[0]*Xe[0]+Xe[1]*Xe[1]),jt=xe*d((nt-T)/xe)+T,ar=a(m(nt-=jt),2-o(nt));nt=jt+q(M/qt*m(ar))-ar,Xe[0]=qt*o(nt),Xe[1]=qt*m(nt)}return Xe}return Ie.invert=function(qe,Qe){var Xe=G(qe*qe+Qe*Qe);if(Xe>T){var nt=a(Qe,qe),qt=xe*d((nt-T)/xe)+T,jt=nt>qt?-1:1,ar=Xe*o(qt-nt),fr=1/b(jt*U((ar-M)/G(M*(M-2*ar)+Xe*Xe)));nt=qt+2*i((fr+jt*G(fr*fr-3))/3),qe=Xe*o(nt),Qe=Xe*m(nt)}return t.geoAzimuthalEquidistantRaw.invert(qe,Qe)},Ie}function ce(){var ve=5,xe=t.geoProjectionMutator(Pe),Ie=xe(ve),qe=Ie.stream,Qe=.01,Xe=-o(Qe*E),nt=m(Qe*E);return Ie.lobes=function(qt){return arguments.length?xe(ve=+qt):ve},Ie.stream=function(qt){var jt=Ie.rotate(),ar=qe(qt),fr=(Ie.rotate([0,0]),qe(qt));return Ie.rotate(jt),ar.sphere=function(){fr.polygonStart(),fr.lineStart();for(var br=0,Fr=360/ve,Hr=2*M/ve,ri=90-180/ve,Ci=T;br0&&n(Qe)>p);return qe<0?NaN:Ie}function st(ve,xe,Ie){return xe===void 0&&(xe=40),Ie===void 0&&(Ie=k),function(qe,Qe,Xe,nt){var qt,jt,ar;Xe=Xe===void 0?0:+Xe,nt=nt===void 0?0:+nt;for(var fr=0;frqt){Xe-=jt/=2,nt-=ar/=2;continue}qt=ri;var Ci=(Xe>0?-1:1)*Ie,cn=(nt>0?-1:1)*Ie,sn=ve(Xe+Ci,nt),Ln=ve(Xe,nt+cn),Yn=(sn[0]-br[0])/Ci,Aa=(sn[1]-br[1])/Ci,fa=(Ln[0]-br[0])/cn,$a=(Ln[1]-br[1])/cn,Co=$a*Yn-Aa*fa,Qa=(n(Co)<.5?.5:1)/Co;if(jt=(Hr*fa-Fr*$a)*Qa,ar=(Fr*Aa-Hr*Yn)*Qa,Xe+=jt,nt+=ar,n(jt)0&&(qt[1]*=1+jt/1.5*qt[0]*qt[0]),qt}return qe.invert=st(qe),qe}function Qt(){return t.geoProjection(ct()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function Ht(ve,xe){var Ie=ve*m(xe),qe=30,Qe;do xe-=Qe=(xe+m(xe)-Ie)/(1+o(xe));while(n(Qe)>p&&--qe>0);return xe/2}function nr(ve,xe,Ie){function qe(Qe,Xe){return[ve*Qe*o(Xe=Ht(Ie,Xe)),xe*m(Xe)]}return qe.invert=function(Qe,Xe){return Xe=q(Xe/xe),[Qe/(ve*o(Xe)),q((2*Xe+m(2*Xe))/Ie)]},qe}var tt=nr(C/T,C,M);function je(){return t.geoProjection(tt).scale(169.529)}var Ue=2.00276,Ae=1.11072;function rt(ve,xe){var Ie=Ht(M,xe);return[Ue*ve/(1/o(xe)+Ae/o(Ie)),(xe+C*m(Ie))/Ue]}rt.invert=function(ve,xe){var Ie=Ue*xe,qe=xe<0?-L:L,Qe=25,Xe,nt;do nt=Ie-C*m(qe),qe-=Xe=(m(2*qe)+2*qe-M*m(nt))/(2*o(2*qe)+2+M*o(nt)*C*o(qe));while(n(Xe)>p&&--Qe>0);return nt=Ie-C*m(qe),[ve*(1/o(nt)+Ae/o(qe))/Ue,nt]};function St(){return t.geoProjection(rt).scale(160.857)}function Tt(ve){var xe=0,Ie=t.geoProjectionMutator(ve),qe=Ie(xe);return qe.parallel=function(Qe){return arguments.length?Ie(xe=Qe*E):xe*P},qe}function dt(ve,xe){return[ve*o(xe),xe]}dt.invert=function(ve,xe){return[ve/o(xe),xe]};function Et(){return t.geoProjection(dt).scale(152.63)}function pt(ve){if(!ve)return dt;var xe=1/b(ve);function Ie(qe,Qe){var Xe=xe+ve-Qe,nt=Xe&&qe*o(Qe)/Xe;return[Xe*m(nt),xe-Xe*o(nt)]}return Ie.invert=function(qe,Qe){var Xe=G(qe*qe+(Qe=xe-Qe)*Qe),nt=xe+ve-Xe;return[Xe/o(nt)*a(qe,Qe),nt]},Ie}function Xt(){return Tt(pt).scale(123.082).center([0,26.1441]).parallel(45)}function or(ve){function xe(Ie,qe){var Qe=T-qe,Xe=Qe&&Ie*ve*m(Qe)/Qe;return[Qe*m(Xe)/ve,T-Qe*o(Xe)]}return xe.invert=function(Ie,qe){var Qe=Ie*ve,Xe=T-qe,nt=G(Qe*Qe+Xe*Xe),qt=a(Qe,Xe);return[(nt?nt/m(nt):1)*qt/ve,T-nt]},xe}function _r(){var ve=.5,xe=t.geoProjectionMutator(or),Ie=xe(ve);return Ie.fraction=function(qe){return arguments.length?xe(ve=+qe):ve},Ie.scale(158.837)}var Er=nr(1,4/M,M);function ei(){return t.geoProjection(Er).scale(152.63)}function qr(ve,xe,Ie,qe,Qe,Xe){var nt=o(Xe),qt;if(n(ve)>1||n(Xe)>1)qt=U(Ie*Qe+xe*qe*nt);else{var jt=m(ve/2),ar=m(Xe/2);qt=2*q(G(jt*jt+xe*qe*ar*ar))}return n(qt)>p?[qt,a(qe*m(Xe),xe*Qe-Ie*qe*nt)]:[0,0]}function jr(ve,xe,Ie){return U((ve*ve+xe*xe-Ie*Ie)/(2*ve*xe))}function gt(ve){return ve-2*M*l((ve+M)/(2*M))}function Ge(ve,xe,Ie){for(var qe=[[ve[0],ve[1],m(ve[1]),o(ve[1])],[xe[0],xe[1],m(xe[1]),o(xe[1])],[Ie[0],Ie[1],m(Ie[1]),o(Ie[1])]],Qe=qe[2],Xe,nt=0;nt<3;++nt,Qe=Xe)Xe=qe[nt],Qe.v=qr(Xe[1]-Qe[1],Qe[3],Qe[2],Xe[3],Xe[2],Xe[0]-Qe[0]),Qe.point=[0,0];var qt=jr(qe[0].v[0],qe[2].v[0],qe[1].v[0]),jt=jr(qe[0].v[0],qe[1].v[0],qe[2].v[0]),ar=M-qt;qe[2].point[1]=0,qe[0].point[0]=-(qe[1].point[0]=qe[0].v[0]/2);var fr=[qe[2].point[0]=qe[0].point[0]+qe[2].v[0]*o(qt),2*(qe[0].point[1]=qe[1].point[1]=qe[2].v[0]*m(qt))];function br(Fr,Hr){var ri=m(Hr),Ci=o(Hr),cn=new Array(3),sn;for(sn=0;sn<3;++sn){var Ln=qe[sn];if(cn[sn]=qr(Hr-Ln[1],Ln[3],Ln[2],Ci,ri,Fr-Ln[0]),!cn[sn][0])return Ln.point;cn[sn][1]=gt(cn[sn][1]-Ln.v[1])}var Yn=fr.slice();for(sn=0;sn<3;++sn){var Aa=sn==2?0:sn+1,fa=jr(qe[sn].v[0],cn[sn][0],cn[Aa][0]);cn[sn][1]<0&&(fa=-fa),sn?sn==1?(fa=jt-fa,Yn[0]-=cn[sn][0]*o(fa),Yn[1]-=cn[sn][0]*m(fa)):(fa=ar-fa,Yn[0]+=cn[sn][0]*o(fa),Yn[1]+=cn[sn][0]*m(fa)):(Yn[0]+=cn[sn][0]*o(fa),Yn[1]-=cn[sn][0]*m(fa))}return Yn[0]/=3,Yn[1]/=3,Yn}return br}function Je(ve){return ve[0]*=E,ve[1]*=E,ve}function We(){return et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function et(ve,xe,Ie){var qe=t.geoCentroid({type:\"MultiPoint\",coordinates:[ve,xe,Ie]}),Qe=[-qe[0],-qe[1]],Xe=t.geoRotation(Qe),nt=Ge(Je(Xe(ve)),Je(Xe(xe)),Je(Xe(Ie)));nt.invert=st(nt);var qt=t.geoProjection(nt).rotate(Qe),jt=qt.center;return delete qt.rotate,qt.center=function(ar){return arguments.length?jt(Xe(ar)):Xe.invert(jt())},qt.clipAngle(90)}function xt(ve,xe){var Ie=G(1-m(xe));return[2/S*ve*Ie,S*(1-Ie)]}xt.invert=function(ve,xe){var Ie=(Ie=xe/S-1)*Ie;return[Ie>0?ve*G(M/Ie)/2:0,q(1-Ie)]};function At(){return t.geoProjection(xt).scale(95.6464).center([0,30])}function Kt(ve){var xe=b(ve);function Ie(qe,Qe){return[qe,(qe?qe/m(qe):1)*(m(Qe)*o(qe)-xe*o(Qe))]}return Ie.invert=xe?function(qe,Qe){qe&&(Qe*=m(qe)/qe);var Xe=o(qe);return[qe,2*a(G(Xe*Xe+xe*xe-Qe*Qe)-Xe,xe-Qe)]}:function(qe,Qe){return[qe,q(qe?Qe*b(qe)/qe:Qe)]},Ie}function er(){return Tt(Kt).scale(249.828).clipAngle(90)}var Sr=G(3);function Gr(ve,xe){return[Sr*ve*(2*o(2*xe/3)-1)/S,Sr*S*m(xe/3)]}Gr.invert=function(ve,xe){var Ie=3*q(xe/(Sr*S));return[S*ve/(Sr*(2*o(2*Ie/3)-1)),Ie]};function Ir(){return t.geoProjection(Gr).scale(156.19)}function Yr(ve){var xe=o(ve);function Ie(qe,Qe){return[qe*xe,m(Qe)/xe]}return Ie.invert=function(qe,Qe){return[qe/xe,q(Qe*xe)]},Ie}function _i(){return Tt(Yr).parallel(38.58).scale(195.044)}function Pi(ve){var xe=o(ve);function Ie(qe,Qe){return[qe*xe,(1+xe)*b(Qe/2)]}return Ie.invert=function(qe,Qe){return[qe/xe,i(Qe/(1+xe))*2]},Ie}function ai(){return Tt(Pi).scale(124.75)}function mi(ve,xe){var Ie=G(8/(3*M));return[Ie*ve*(1-n(xe)/M),Ie*xe]}mi.invert=function(ve,xe){var Ie=G(8/(3*M)),qe=xe/Ie;return[ve/(Ie*(1-n(qe)/M)),qe]};function un(){return t.geoProjection(mi).scale(165.664)}function Fn(ve,xe){var Ie=G(4-3*m(n(xe)));return[2/G(6*M)*ve*Ie,v(xe)*G(2*M/3)*(2-Ie)]}Fn.invert=function(ve,xe){var Ie=2-n(xe)/G(2*M/3);return[ve*G(6*M)/(2*Ie),v(xe)*q((4-Ie*Ie)/3)]};function An(){return t.geoProjection(Fn).scale(165.664)}function Hn(ve,xe){var Ie=G(M*(4+M));return[2/Ie*ve*(1+G(1-4*xe*xe/(M*M))),4/Ie*xe]}Hn.invert=function(ve,xe){var Ie=G(M*(4+M))/2;return[ve*Ie/(1+G(1-xe*xe*(4+M)/(4*M))),xe*Ie/2]};function Qn(){return t.geoProjection(Hn).scale(180.739)}function Vi(ve,xe){var Ie=(2+T)*m(xe);xe/=2;for(var qe=0,Qe=1/0;qe<10&&n(Qe)>p;qe++){var Xe=o(xe);xe-=Qe=(xe+m(xe)*(Xe+2)-Ie)/(2*Xe*(1+Xe))}return[2/G(M*(4+M))*ve*(1+o(xe)),2*G(M/(4+M))*m(xe)]}Vi.invert=function(ve,xe){var Ie=xe*G((4+M)/M)/2,qe=q(Ie),Qe=o(qe);return[ve/(2/G(M*(4+M))*(1+Qe)),q((qe+Ie*(Qe+2))/(2+T))]};function Kn(){return t.geoProjection(Vi).scale(180.739)}function Jn(ve,xe){return[ve*(1+o(xe))/G(2+M),2*xe/G(2+M)]}Jn.invert=function(ve,xe){var Ie=G(2+M),qe=xe*Ie/2;return[Ie*ve/(1+o(qe)),qe]};function Gt(){return t.geoProjection(Jn).scale(173.044)}function wt(ve,xe){for(var Ie=(1+T)*m(xe),qe=0,Qe=1/0;qe<10&&n(Qe)>p;qe++)xe-=Qe=(xe+m(xe)-Ie)/(1+o(xe));return Ie=G(2+M),[ve*(1+o(xe))/Ie,2*xe/Ie]}wt.invert=function(ve,xe){var Ie=1+T,qe=G(Ie/2);return[ve*2*qe/(1+o(xe*=qe)),q((xe+m(xe))/Ie)]};function rr(){return t.geoProjection(wt).scale(173.044)}var ir=3+2*C;function wr(ve,xe){var Ie=m(ve/=2),qe=o(ve),Qe=G(o(xe)),Xe=o(xe/=2),nt=m(xe)/(Xe+C*qe*Qe),qt=G(2/(1+nt*nt)),jt=G((C*Xe+(qe+Ie)*Qe)/(C*Xe+(qe-Ie)*Qe));return[ir*(qt*(jt-1/jt)-2*u(jt)),ir*(qt*nt*(jt+1/jt)-2*i(nt))]}wr.invert=function(ve,xe){if(!(Xe=Se.invert(ve/1.2,xe*1.065)))return null;var Ie=Xe[0],qe=Xe[1],Qe=20,Xe;ve/=ir,xe/=ir;do{var nt=Ie/2,qt=qe/2,jt=m(nt),ar=o(nt),fr=m(qt),br=o(qt),Fr=o(qe),Hr=G(Fr),ri=fr/(br+C*ar*Hr),Ci=ri*ri,cn=G(2/(1+Ci)),sn=C*br+(ar+jt)*Hr,Ln=C*br+(ar-jt)*Hr,Yn=sn/Ln,Aa=G(Yn),fa=Aa-1/Aa,$a=Aa+1/Aa,Co=cn*fa-2*u(Aa)-ve,Qa=cn*ri*$a-2*i(ri)-xe,mo=fr&&x*Hr*jt*Ci/fr,Bo=(C*ar*br+Hr)/(2*(br+C*ar*Hr)*(br+C*ar*Hr)*Hr),Ps=-.5*ri*cn*cn*cn,Ts=Ps*mo,wo=Ps*Bo,To=(To=2*br+C*Hr*(ar-jt))*To*Aa,hl=(C*ar*br*Hr+Fr)/To,Ul=-(C*jt*fr)/(Hr*To),Lu=fa*Ts-2*hl/Aa+cn*(hl+hl/Yn),au=fa*wo-2*Ul/Aa+cn*(Ul+Ul/Yn),Js=ri*$a*Ts-2*mo/(1+Ci)+cn*$a*mo+cn*ri*(hl-hl/Yn),eu=ri*$a*wo-2*Bo/(1+Ci)+cn*$a*Bo+cn*ri*(Ul-Ul/Yn),dc=au*Js-eu*Lu;if(!dc)break;var Tl=(Qa*au-Co*eu)/dc,Al=(Co*Js-Qa*Lu)/dc;Ie-=Tl,qe=c(-T,f(T,qe-Al))}while((n(Tl)>p||n(Al)>p)&&--Qe>0);return n(n(qe)-T)qe){var br=G(fr),Fr=a(ar,jt),Hr=Ie*d(Fr/Ie),ri=Fr-Hr,Ci=ve*o(ri),cn=(ve*m(ri)-ri*m(Ci))/(T-Ci),sn=Wa(ri,cn),Ln=(M-ve)/Fa(sn,Ci,M);jt=br;var Yn=50,Aa;do jt-=Aa=(ve+Fa(sn,Ci,jt)*Ln-br)/(sn(jt)*Ln);while(n(Aa)>p&&--Yn>0);ar=ri*m(jt),jtqe){var jt=G(qt),ar=a(nt,Xe),fr=Ie*d(ar/Ie),br=ar-fr;Xe=jt*o(br),nt=jt*m(br);for(var Fr=Xe-T,Hr=m(Xe),ri=nt/Hr,Ci=Xep||n(ri)>p)&&--Ci>0);return[br,Fr]},jt}var jn=da(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ha(){return t.geoProjection(jn).scale(149.995)}var vo=da(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function Gn(){return t.geoProjection(vo).scale(153.93)}var Ct=da(5/6*M,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Ar(){return t.geoProjection(Ct).scale(130.945)}function Jr(ve,xe){var Ie=ve*ve,qe=xe*xe;return[ve*(1-.162388*qe)*(.87-952426e-9*Ie*Ie),xe*(1+qe/12)]}Jr.invert=function(ve,xe){var Ie=ve,qe=xe,Qe=50,Xe;do{var nt=qe*qe;qe-=Xe=(qe*(1+nt/12)-xe)/(1+nt/4)}while(n(Xe)>p&&--Qe>0);Qe=50,ve/=1-.162388*nt;do{var qt=(qt=Ie*Ie)*qt;Ie-=Xe=(Ie*(.87-952426e-9*qt)-ve)/(.87-.00476213*qt)}while(n(Xe)>p&&--Qe>0);return[Ie,qe]};function hi(){return t.geoProjection(Jr).scale(131.747)}var hn=da(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Sn(){return t.geoProjection(hn).scale(131.087)}function En(ve){var xe=ve(T,0)[0]-ve(-T,0)[0];function Ie(qe,Qe){var Xe=qe>0?-.5:.5,nt=ve(qe+Xe*M,Qe);return nt[0]-=Xe*xe,nt}return ve.invert&&(Ie.invert=function(qe,Qe){var Xe=qe>0?-.5:.5,nt=ve.invert(qe+Xe*xe,Qe),qt=nt[0]-Xe*M;return qt<-M?qt+=2*M:qt>M&&(qt-=2*M),nt[0]=qt,nt}),Ie}function ki(ve,xe){var Ie=v(ve),qe=v(xe),Qe=o(xe),Xe=o(ve)*Qe,nt=m(ve)*Qe,qt=m(qe*xe);ve=n(a(nt,qt)),xe=q(Xe),n(ve-T)>p&&(ve%=T);var jt=_n(ve>M/4?T-ve:ve,xe);return ve>M/4&&(qt=jt[0],jt[0]=-jt[1],jt[1]=-qt),jt[0]*=Ie,jt[1]*=-qe,jt}ki.invert=function(ve,xe){n(ve)>1&&(ve=v(ve)*2-ve),n(xe)>1&&(xe=v(xe)*2-xe);var Ie=v(ve),qe=v(xe),Qe=-Ie*ve,Xe=-qe*xe,nt=Xe/Qe<1,qt=ya(nt?Xe:Qe,nt?Qe:Xe),jt=qt[0],ar=qt[1],fr=o(ar);return nt&&(jt=-T-jt),[Ie*(a(m(jt)*fr,-m(ar))+M),qe*q(o(jt)*fr)]};function _n(ve,xe){if(xe===T)return[0,0];var Ie=m(xe),qe=Ie*Ie,Qe=qe*qe,Xe=1+Qe,nt=1+3*Qe,qt=1-Qe,jt=q(1/G(Xe)),ar=qt+qe*Xe*jt,fr=(1-Ie)/ar,br=G(fr),Fr=fr*Xe,Hr=G(Fr),ri=br*qt,Ci,cn;if(ve===0)return[0,-(ri+qe*Hr)];var sn=o(xe),Ln=1/sn,Yn=2*Ie*sn,Aa=(-3*qe+jt*nt)*Yn,fa=(-ar*sn-(1-Ie)*Aa)/(ar*ar),$a=.5*fa/br,Co=qt*$a-2*qe*br*Yn,Qa=qe*Xe*fa+fr*nt*Yn,mo=-Ln*Yn,Bo=-Ln*Qa,Ps=-2*Ln*Co,Ts=4*ve/M,wo;if(ve>.222*M||xe.175*M){if(Ci=(ri+qe*G(Fr*(1+Qe)-ri*ri))/(1+Qe),ve>M/4)return[Ci,Ci];var To=Ci,hl=.5*Ci;Ci=.5*(hl+To),cn=50;do{var Ul=G(Fr-Ci*Ci),Lu=Ci*(Ps+mo*Ul)+Bo*q(Ci/Hr)-Ts;if(!Lu)break;Lu<0?hl=Ci:To=Ci,Ci=.5*(hl+To)}while(n(To-hl)>p&&--cn>0)}else{Ci=p,cn=25;do{var au=Ci*Ci,Js=G(Fr-au),eu=Ps+mo*Js,dc=Ci*eu+Bo*q(Ci/Hr)-Ts,Tl=eu+(Bo-mo*au)/Js;Ci-=wo=Js?dc/Tl:0}while(n(wo)>p&&--cn>0)}return[Ci,-ri-qe*G(Fr-Ci*Ci)]}function ya(ve,xe){for(var Ie=0,qe=1,Qe=.5,Xe=50;;){var nt=Qe*Qe,qt=G(Qe),jt=q(1/G(1+nt)),ar=1-nt+Qe*(1+nt)*jt,fr=(1-qt)/ar,br=G(fr),Fr=fr*(1+nt),Hr=br*(1-nt),ri=Fr-ve*ve,Ci=G(ri),cn=xe+Hr+Qe*Ci;if(n(qe-Ie)0?Ie=Qe:qe=Qe,Qe=.5*(Ie+qe)}if(!Xe)return null;var sn=q(qt),Ln=o(sn),Yn=1/Ln,Aa=2*qt*Ln,fa=(-3*Qe+jt*(1+3*nt))*Aa,$a=(-ar*Ln-(1-qt)*fa)/(ar*ar),Co=.5*$a/br,Qa=(1-nt)*Co-2*Qe*br*Aa,mo=-2*Yn*Qa,Bo=-Yn*Aa,Ps=-Yn*(Qe*(1+nt)*$a+fr*(1+3*nt)*Aa);return[M/4*(ve*(mo+Bo*Ci)+Ps*q(ve/G(Fr))),sn]}function ea(){return t.geoProjection(En(ki)).scale(239.75)}function Ma(ve,xe,Ie){var qe,Qe,Xe;return ve?(qe=_o(ve,Ie),xe?(Qe=_o(xe,1-Ie),Xe=Qe[1]*Qe[1]+Ie*qe[0]*qe[0]*Qe[0]*Qe[0],[[qe[0]*Qe[2]/Xe,qe[1]*qe[2]*Qe[0]*Qe[1]/Xe],[qe[1]*Qe[1]/Xe,-qe[0]*qe[2]*Qe[0]*Qe[2]/Xe],[qe[2]*Qe[1]*Qe[2]/Xe,-Ie*qe[0]*qe[1]*Qe[0]/Xe]]):[[qe[0],0],[qe[1],0],[qe[2],0]]):(Qe=_o(xe,1-Ie),[[0,Qe[0]/Qe[1]],[1/Qe[1],0],[Qe[2]/Qe[1],0]])}function _o(ve,xe){var Ie,qe,Qe,Xe,nt;if(xe=1-p)return Ie=(1-xe)/4,qe=N(ve),Xe=Z(ve),Qe=1/qe,nt=qe*j(ve),[Xe+Ie*(nt-ve)/(qe*qe),Qe-Ie*Xe*Qe*(nt-ve),Qe+Ie*Xe*Qe*(nt+ve),2*i(s(ve))-T+Ie*(nt-ve)/qe];var qt=[1,0,0,0,0,0,0,0,0],jt=[G(xe),0,0,0,0,0,0,0,0],ar=0;for(qe=G(1-xe),nt=1;n(jt[ar]/qt[ar])>p&&ar<8;)Ie=qt[ar++],jt[ar]=(Ie-qe)/2,qt[ar]=(Ie+qe)/2,qe=G(Ie*qe),nt*=2;Qe=nt*qt[ar]*ve;do Xe=jt[ar]*m(qe=Qe)/qt[ar],Qe=(q(Xe)+Qe)/2;while(--ar);return[m(Qe),Xe=o(Qe),Xe/o(Qe-qe),Qe]}function No(ve,xe,Ie){var qe=n(ve),Qe=n(xe),Xe=j(Qe);if(qe){var nt=1/m(qe),qt=1/(b(qe)*b(qe)),jt=-(qt+Ie*(Xe*Xe*nt*nt)-1+Ie),ar=(Ie-1)*qt,fr=(-jt+G(jt*jt-4*ar))/2;return[po(i(1/G(fr)),Ie)*v(ve),po(i(G((fr/qt-1)/Ie)),1-Ie)*v(xe)]}return[0,po(i(Xe),1-Ie)*v(xe)]}function po(ve,xe){if(!xe)return ve;if(xe===1)return u(b(ve/2+L));for(var Ie=1,qe=G(1-xe),Qe=G(xe),Xe=0;n(Qe)>p;Xe++){if(ve%M){var nt=i(qe*b(ve)/Ie);nt<0&&(nt+=M),ve+=nt+~~(ve/M)*M}else ve+=ve;Qe=(Ie+qe)/2,qe=G(Ie*qe),Qe=((Ie=Qe)-qe)/2}return ve/(h(2,Xe)*Ie)}function Lo(ve,xe){var Ie=(C-1)/(C+1),qe=G(1-Ie*Ie),Qe=po(T,qe*qe),Xe=-1,nt=u(b(M/4+n(xe)/2)),qt=s(Xe*nt)/G(Ie),jt=ko(qt*o(Xe*ve),qt*m(Xe*ve)),ar=No(jt[0],jt[1],qe*qe);return[-ar[1],(xe>=0?1:-1)*(.5*Qe-ar[0])]}function ko(ve,xe){var Ie=ve*ve,qe=xe+1,Qe=1-Ie-xe*xe;return[.5*((ve>=0?T:-T)-a(Qe,2*ve)),-.25*u(Qe*Qe+4*Ie)+.5*u(qe*qe+Ie)]}function Ds(ve,xe){var Ie=xe[0]*xe[0]+xe[1]*xe[1];return[(ve[0]*xe[0]+ve[1]*xe[1])/Ie,(ve[1]*xe[0]-ve[0]*xe[1])/Ie]}Lo.invert=function(ve,xe){var Ie=(C-1)/(C+1),qe=G(1-Ie*Ie),Qe=po(T,qe*qe),Xe=-1,nt=Ma(.5*Qe-xe,-ve,qe*qe),qt=Ds(nt[0],nt[1]),jt=a(qt[1],qt[0])/Xe;return[jt,2*i(s(.5/Xe*u(Ie*qt[0]*qt[0]+Ie*qt[1]*qt[1])))-T]};function Fs(){return t.geoProjection(En(Lo)).scale(151.496)}function ll(ve){var xe=m(ve),Ie=o(ve),qe=ul(ve);qe.invert=ul(-ve);function Qe(Xe,nt){var qt=qe(Xe,nt);Xe=qt[0],nt=qt[1];var jt=m(nt),ar=o(nt),fr=o(Xe),br=U(xe*jt+Ie*ar*fr),Fr=m(br),Hr=n(Fr)>p?br/Fr:1;return[Hr*Ie*m(Xe),(n(Xe)>T?Hr:-Hr)*(xe*ar-Ie*jt*fr)]}return Qe.invert=function(Xe,nt){var qt=G(Xe*Xe+nt*nt),jt=-m(qt),ar=o(qt),fr=qt*ar,br=-nt*jt,Fr=qt*xe,Hr=G(fr*fr+br*br-Fr*Fr),ri=a(fr*Fr+br*Hr,br*Fr-fr*Hr),Ci=(qt>T?-1:1)*a(Xe*jt,qt*o(ri)*ar+nt*m(ri)*jt);return qe.invert(Ci,ri)},Qe}function ul(ve){var xe=m(ve),Ie=o(ve);return function(qe,Qe){var Xe=o(Qe),nt=o(qe)*Xe,qt=m(qe)*Xe,jt=m(Qe);return[a(qt,nt*Ie-jt*xe),q(jt*Ie+nt*xe)]}}function zl(){var ve=0,xe=t.geoProjectionMutator(ll),Ie=xe(ve),qe=Ie.rotate,Qe=Ie.stream,Xe=t.geoCircle();return Ie.parallel=function(nt){if(!arguments.length)return ve*P;var qt=Ie.rotate();return xe(ve=nt*E).rotate(qt)},Ie.rotate=function(nt){return arguments.length?(qe.call(Ie,[nt[0],nt[1]-ve*P]),Xe.center([-nt[0],-nt[1]]),Ie):(nt=qe.call(Ie),nt[1]+=ve*P,nt)},Ie.stream=function(nt){return nt=Qe(nt),nt.sphere=function(){nt.polygonStart();var qt=.01,jt=Xe.radius(90-qt)().coordinates[0],ar=jt.length-1,fr=-1,br;for(nt.lineStart();++fr=0;)nt.point((br=jt[fr])[0],br[1]);nt.lineEnd(),nt.polygonEnd()},nt},Ie.scale(79.4187).parallel(45).clipAngle(180-.001)}var us=3,il=q(1-1/us)*P,As=Yr(0);function cl(ve){var xe=il*E,Ie=xt(M,xe)[0]-xt(-M,xe)[0],qe=As(0,xe)[1],Qe=xt(0,xe)[1],Xe=S-Qe,nt=g/ve,qt=4/g,jt=qe+Xe*Xe*4/g;function ar(fr,br){var Fr,Hr=n(br);if(Hr>xe){var ri=f(ve-1,c(0,l((fr+M)/nt)));fr+=M*(ve-1)/ve-ri*nt,Fr=xt(fr,Hr),Fr[0]=Fr[0]*g/Ie-g*(ve-1)/(2*ve)+ri*g/ve,Fr[1]=qe+(Fr[1]-Qe)*4*Xe/g,br<0&&(Fr[1]=-Fr[1])}else Fr=As(fr,br);return Fr[0]*=qt,Fr[1]/=jt,Fr}return ar.invert=function(fr,br){fr/=qt,br*=jt;var Fr=n(br);if(Fr>qe){var Hr=f(ve-1,c(0,l((fr+M)/nt)));fr=(fr+M*(ve-1)/ve-Hr*nt)*Ie/g;var ri=xt.invert(fr,.25*(Fr-qe)*g/Xe+Qe);return ri[0]-=M*(ve-1)/ve-Hr*nt,br<0&&(ri[1]=-ri[1]),ri}return As.invert(fr,br)},ar}function Ks(ve,xe){return[ve,xe&1?90-p:il]}function zs(ve,xe){return[ve,xe&1?-90+p:-il]}function Io(ve){return[ve[0]*(1-p),ve[1]]}function ls(ve){var xe=[].concat(r.range(-180,180+ve/2,ve).map(Ks),r.range(180,-180-ve/2,-ve).map(zs));return{type:\"Polygon\",coordinates:[ve===180?xe.map(Io):xe]}}function Yl(){var ve=4,xe=t.geoProjectionMutator(cl),Ie=xe(ve),qe=Ie.stream;return Ie.lobes=function(Qe){return arguments.length?xe(ve=+Qe):ve},Ie.stream=function(Qe){var Xe=Ie.rotate(),nt=qe(Qe),qt=(Ie.rotate([0,0]),qe(Qe));return Ie.rotate(Xe),nt.sphere=function(){t.geoStream(ls(180/ve),qt)},nt},Ie.scale(239.75)}function Su(ve){var xe=1+ve,Ie=m(1/xe),qe=q(Ie),Qe=2*G(M/(Xe=M+4*qe*xe)),Xe,nt=.5*Qe*(xe+G(ve*(2+ve))),qt=ve*ve,jt=xe*xe;function ar(fr,br){var Fr=1-m(br),Hr,ri;if(Fr&&Fr<2){var Ci=T-br,cn=25,sn;do{var Ln=m(Ci),Yn=o(Ci),Aa=qe+a(Ln,xe-Yn),fa=1+jt-2*xe*Yn;Ci-=sn=(Ci-qt*qe-xe*Ln+fa*Aa-.5*Fr*Xe)/(2*xe*Ln*Aa)}while(n(sn)>k&&--cn>0);Hr=Qe*G(fa),ri=fr*Aa/M}else Hr=Qe*(ve+Fr),ri=fr*qe/M;return[Hr*m(ri),nt-Hr*o(ri)]}return ar.invert=function(fr,br){var Fr=fr*fr+(br-=nt)*br,Hr=(1+jt-Fr/(Qe*Qe))/(2*xe),ri=U(Hr),Ci=m(ri),cn=qe+a(Ci,xe-Hr);return[q(fr/G(Fr))*M/cn,q(1-2*(ri-qt*qe-xe*Ci+(1+jt-2*xe*Hr)*cn)/Xe)]},ar}function nc(){var ve=1,xe=t.geoProjectionMutator(Su),Ie=xe(ve);return Ie.ratio=function(qe){return arguments.length?xe(ve=+qe):ve},Ie.scale(167.774).center([0,18.67])}var bs=.7109889596207567,Rn=.0528035274542;function _a(ve,xe){return xe>-bs?(ve=tt(ve,xe),ve[1]+=Rn,ve):dt(ve,xe)}_a.invert=function(ve,xe){return xe>-bs?tt.invert(ve,xe-Rn):dt.invert(ve,xe)};function Vu(){return t.geoProjection(_a).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function ql(ve,xe){return n(xe)>bs?(ve=tt(ve,xe),ve[1]-=xe>0?Rn:-Rn,ve):dt(ve,xe)}ql.invert=function(ve,xe){return n(xe)>bs?tt.invert(ve,xe+(xe>0?Rn:-Rn)):dt.invert(ve,xe)};function xo(){return t.geoProjection(ql).scale(152.63)}function Kl(ve,xe,Ie,qe){var Qe=G(4*M/(2*Ie+(1+ve-xe/2)*m(2*Ie)+(ve+xe)/2*m(4*Ie)+xe/2*m(6*Ie))),Xe=G(qe*m(Ie)*G((1+ve*o(2*Ie)+xe*o(4*Ie))/(1+ve+xe))),nt=Ie*jt(1);function qt(br){return G(1+ve*o(2*br)+xe*o(4*br))}function jt(br){var Fr=br*Ie;return(2*Fr+(1+ve-xe/2)*m(2*Fr)+(ve+xe)/2*m(4*Fr)+xe/2*m(6*Fr))/Ie}function ar(br){return qt(br)*m(br)}var fr=function(br,Fr){var Hr=Ie*Vt(jt,nt*m(Fr)/Ie,Fr/M);isNaN(Hr)&&(Hr=Ie*v(Fr));var ri=Qe*qt(Hr);return[ri*Xe*br/M*o(Hr),ri/Xe*m(Hr)]};return fr.invert=function(br,Fr){var Hr=Vt(ar,Fr*Xe/Qe);return[br*M/(o(Hr)*Qe*Xe*qt(Hr)),q(Ie*jt(Hr/Ie)/nt)]},Ie===0&&(Qe=G(qe/M),fr=function(br,Fr){return[br*Qe,m(Fr)/Qe]},fr.invert=function(br,Fr){return[br/Qe,q(Fr*Qe)]}),fr}function Ns(){var ve=1,xe=0,Ie=45*E,qe=2,Qe=t.geoProjectionMutator(Kl),Xe=Qe(ve,xe,Ie,qe);return Xe.a=function(nt){return arguments.length?Qe(ve=+nt,xe,Ie,qe):ve},Xe.b=function(nt){return arguments.length?Qe(ve,xe=+nt,Ie,qe):xe},Xe.psiMax=function(nt){return arguments.length?Qe(ve,xe,Ie=+nt*E,qe):Ie*P},Xe.ratio=function(nt){return arguments.length?Qe(ve,xe,Ie,qe=+nt):qe},Xe.scale(180.739)}function Hl(ve,xe,Ie,qe,Qe,Xe,nt,qt,jt,ar,fr){if(fr.nanEncountered)return NaN;var br,Fr,Hr,ri,Ci,cn,sn,Ln,Yn,Aa;if(br=Ie-xe,Fr=ve(xe+br*.25),Hr=ve(Ie-br*.25),isNaN(Fr)){fr.nanEncountered=!0;return}if(isNaN(Hr)){fr.nanEncountered=!0;return}return ri=br*(qe+4*Fr+Qe)/12,Ci=br*(Qe+4*Hr+Xe)/12,cn=ri+Ci,Aa=(cn-nt)/15,ar>jt?(fr.maxDepthCount++,cn+Aa):Math.abs(Aa)>1;do jt[cn]>Hr?Ci=cn:ri=cn,cn=ri+Ci>>1;while(cn>ri);var sn=jt[cn+1]-jt[cn];return sn&&(sn=(Hr-jt[cn+1])/sn),(cn+1+sn)/nt}var br=2*fr(1)/M*Xe/Ie,Fr=function(Hr,ri){var Ci=fr(n(m(ri))),cn=qe(Ci)*Hr;return Ci/=br,[cn,ri>=0?Ci:-Ci]};return Fr.invert=function(Hr,ri){var Ci;return ri*=br,n(ri)<1&&(Ci=v(ri)*q(Qe(n(ri))*Xe)),[Hr/qe(n(ri)),Ci]},Fr}function qo(){var ve=0,xe=2.5,Ie=1.183136,qe=t.geoProjectionMutator(oa),Qe=qe(ve,xe,Ie);return Qe.alpha=function(Xe){return arguments.length?qe(ve=+Xe,xe,Ie):ve},Qe.k=function(Xe){return arguments.length?qe(ve,xe=+Xe,Ie):xe},Qe.gamma=function(Xe){return arguments.length?qe(ve,xe,Ie=+Xe):Ie},Qe.scale(152.63)}function Oo(ve,xe){return n(ve[0]-xe[0])=0;--jt)Ie=ve[1][jt],qe=Ie[0][0],Qe=Ie[0][1],Xe=Ie[1][1],nt=Ie[2][0],qt=Ie[2][1],xe.push(Ol([[nt-p,qt-p],[nt-p,Xe+p],[qe+p,Xe+p],[qe+p,Qe-p]],30));return{type:\"Polygon\",coordinates:[r.merge(xe)]}}function Do(ve,xe,Ie){var qe,Qe;function Xe(jt,ar){for(var fr=ar<0?-1:1,br=xe[+(ar<0)],Fr=0,Hr=br.length-1;Frbr[Fr][2][0];++Fr);var ri=ve(jt-br[Fr][1][0],ar);return ri[0]+=ve(br[Fr][1][0],fr*ar>fr*br[Fr][0][1]?br[Fr][0][1]:ar)[0],ri}Ie?Xe.invert=Ie(Xe):ve.invert&&(Xe.invert=function(jt,ar){for(var fr=Qe[+(ar<0)],br=xe[+(ar<0)],Fr=0,Hr=fr.length;Frri&&(Ci=Hr,Hr=ri,ri=Ci),[[br,Hr],[Fr,ri]]})}),nt):xe.map(function(ar){return ar.map(function(fr){return[[fr[0][0]*P,fr[0][1]*P],[fr[1][0]*P,fr[1][1]*P],[fr[2][0]*P,fr[2][1]*P]]})})},xe!=null&&nt.lobes(xe),nt}var rf=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Vf(){return Do(rt,rf).scale(160.857)}var pl=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Zc(){return Do(ql,pl).scale(152.63)}var Jl=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function qs(){return Do(tt,Jl).scale(169.529)}var yu=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function oc(){return Do(tt,yu).scale(169.529).rotate([20,0])}var Cf=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function sc(){return Do(_a,Cf,st).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var jh=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function Lf(){return Do(dt,jh).scale(152.63).rotate([-20,0])}function cs(ve,xe){return[3/g*ve*G(M*M/3-xe*xe),xe]}cs.invert=function(ve,xe){return[g/3*ve/G(M*M/3-xe*xe),xe]};function nf(){return t.geoProjection(cs).scale(158.837)}function Gf(ve){function xe(Ie,qe){if(n(n(qe)-T)2)return null;Ie/=2,qe/=2;var Xe=Ie*Ie,nt=qe*qe,qt=2*qe/(1+Xe+nt);return qt=h((1+qt)/(1-qt),1/ve),[a(2*Ie,1-Xe-nt)/ve,q((qt-1)/(qt+1))]},xe}function $l(){var ve=.5,xe=t.geoProjectionMutator(Gf),Ie=xe(ve);return Ie.spacing=function(qe){return arguments.length?xe(ve=+qe):ve},Ie.scale(124.75)}var fl=M/C;function lc(ve,xe){return[ve*(1+G(o(xe)))/2,xe/(o(xe/2)*o(ve/6))]}lc.invert=function(ve,xe){var Ie=n(ve),qe=n(xe),Qe=p,Xe=T;qep||n(cn)>p)&&--Qe>0);return Qe&&[Ie,qe]};function Hs(){return t.geoProjection(Es).scale(139.98)}function Go(ve,xe){return[m(ve)/o(xe),b(xe)*o(ve)]}Go.invert=function(ve,xe){var Ie=ve*ve,qe=xe*xe,Qe=qe+1,Xe=Ie+Qe,nt=ve?x*G((Xe-G(Xe*Xe-4*Ie))/Ie):1/G(Qe);return[q(ve*nt),v(xe)*U(nt)]};function ps(){return t.geoProjection(Go).scale(144.049).clipAngle(90-.001)}function uc(ve){var xe=o(ve),Ie=b(L+ve/2);function qe(Qe,Xe){var nt=Xe-ve,qt=n(nt)=0;)fr=ve[ar],br=fr[0]+qt*(Hr=br)-jt*Fr,Fr=fr[1]+qt*Fr+jt*Hr;return br=qt*(Hr=br)-jt*Fr,Fr=qt*Fr+jt*Hr,[br,Fr]}return Ie.invert=function(qe,Qe){var Xe=20,nt=qe,qt=Qe;do{for(var jt=xe,ar=ve[jt],fr=ar[0],br=ar[1],Fr=0,Hr=0,ri;--jt>=0;)ar=ve[jt],Fr=fr+nt*(ri=Fr)-qt*Hr,Hr=br+nt*Hr+qt*ri,fr=ar[0]+nt*(ri=fr)-qt*br,br=ar[1]+nt*br+qt*ri;Fr=fr+nt*(ri=Fr)-qt*Hr,Hr=br+nt*Hr+qt*ri,fr=nt*(ri=fr)-qt*br-qe,br=nt*br+qt*ri-Qe;var Ci=Fr*Fr+Hr*Hr,cn,sn;nt-=cn=(fr*Fr+br*Hr)/Ci,qt-=sn=(br*Fr-fr*Hr)/Ci}while(n(cn)+n(sn)>p*p&&--Xe>0);if(Xe){var Ln=G(nt*nt+qt*qt),Yn=2*i(Ln*.5),Aa=m(Yn);return[a(nt*Aa,Ln*o(Yn)),Ln?q(qt*Aa/Ln):0]}},Ie}var Po=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],sd=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ko=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Pa=[[.9245,0],[0,0],[.01943,0]],af=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hu(){return Bl(Po,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function bl(){return Bl(sd,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Hf(){return Bl(Ko,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Ic(){return Bl(Pa,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function yf(){return Bl(af,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Bl(ve,xe){var Ie=t.geoProjection(od(ve)).rotate(xe).clipAngle(90),qe=t.geoRotation(xe),Qe=Ie.center;return delete Ie.rotate,Ie.center=function(Xe){return arguments.length?Qe(qe(Xe)):qe.invert(Qe())},Ie}var Ah=G(6),Qf=G(7);function _f(ve,xe){var Ie=q(7*m(xe)/(3*Ah));return[Ah*ve*(2*o(2*Ie/3)-1)/Qf,9*m(Ie/3)/Qf]}_f.invert=function(ve,xe){var Ie=3*q(xe*Qf/9);return[ve*Qf/(Ah*(2*o(2*Ie/3)-1)),q(m(Ie)*3*Ah/7)]};function Yc(){return t.geoProjection(_f).scale(164.859)}function eh(ve,xe){for(var Ie=(1+x)*m(xe),qe=xe,Qe=0,Xe;Qe<25&&(qe-=Xe=(m(qe/2)+m(qe)-Ie)/(.5*o(qe/2)+o(qe)),!(n(Xe)k&&--qe>0);return Xe=Ie*Ie,nt=Xe*Xe,qt=Xe*nt,[ve/(.84719-.13063*Xe+qt*qt*(-.04515+.05494*Xe-.02326*nt+.00331*qt)),Ie]};function of(){return t.geoProjection(cc).scale(175.295)}function Nl(ve,xe){return[ve*(1+o(xe))/2,2*(xe-b(xe/2))]}Nl.invert=function(ve,xe){for(var Ie=xe/2,qe=0,Qe=1/0;qe<10&&n(Qe)>p;++qe){var Xe=o(xe/2);xe-=Qe=(xe-b(xe/2)-Ie)/(1-.5/(Xe*Xe))}return[2*ve/(1+o(xe)),xe]};function Kc(){return t.geoProjection(Nl).scale(152.63)}var Rc=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function gs(){return Do(He(1/0),Rc).rotate([20,0]).scale(152.63)}function Wf(ve,xe){var Ie=m(xe),qe=o(xe),Qe=v(ve);if(ve===0||n(xe)===T)return[0,xe];if(xe===0)return[ve,0];if(n(ve)===T)return[ve*qe,T*Ie];var Xe=M/(2*ve)-2*ve/M,nt=2*xe/M,qt=(1-nt*nt)/(Ie-nt),jt=Xe*Xe,ar=qt*qt,fr=1+jt/ar,br=1+ar/jt,Fr=(Xe*Ie/qt-Xe/2)/fr,Hr=(ar*Ie/jt+qt/2)/br,ri=Fr*Fr+qe*qe/fr,Ci=Hr*Hr-(ar*Ie*Ie/jt+qt*Ie-1)/br;return[T*(Fr+G(ri)*Qe),T*(Hr+G(Ci<0?0:Ci)*v(-xe*Xe)*Qe)]}Wf.invert=function(ve,xe){ve/=T,xe/=T;var Ie=ve*ve,qe=xe*xe,Qe=Ie+qe,Xe=M*M;return[ve?(Qe-1+G((1-Qe)*(1-Qe)+4*Ie))/(2*ve)*T:0,Vt(function(nt){return Qe*(M*m(nt)-2*nt)*M+4*nt*nt*(xe-m(nt))+2*M*nt-Xe*xe},0)]};function Wh(){return t.geoProjection(Wf).scale(127.267)}var rh=1.0148,sf=.23185,Sh=-.14499,Mu=.02406,ih=rh,js=5*sf,Eu=7*Sh,Dc=9*Mu,ks=1.790857183;function bc(ve,xe){var Ie=xe*xe;return[ve,xe*(rh+Ie*Ie*(sf+Ie*(Sh+Mu*Ie)))]}bc.invert=function(ve,xe){xe>ks?xe=ks:xe<-ks&&(xe=-ks);var Ie=xe,qe;do{var Qe=Ie*Ie;Ie-=qe=(Ie*(rh+Qe*Qe*(sf+Qe*(Sh+Mu*Qe)))-xe)/(ih+Qe*Qe*(js+Qe*(Eu+Dc*Qe)))}while(n(qe)>p);return[ve,Ie]};function hu(){return t.geoProjection(bc).scale(139.319)}function _u(ve,xe){if(n(xe)p&&--Qe>0);return nt=b(qe),[(n(xe)=0;)if(qe=xe[qt],Ie[0]===qe[0]&&Ie[1]===qe[1]){if(Xe)return[Xe,Ie];Xe=Ie}}}function jl(ve){for(var xe=ve.length,Ie=[],qe=ve[xe-1],Qe=0;Qe0?[-qe[0],0]:[180-qe[0],180])};var xe=If.map(function(Ie){return{face:Ie,project:ve(Ie)}});return[-1,0,0,1,0,1,4,5].forEach(function(Ie,qe){var Qe=xe[Ie];Qe&&(Qe.children||(Qe.children=[])).push(xe[qe])}),xf(xe[0],function(Ie,qe){return xe[Ie<-M/2?qe<0?6:4:Ie<0?qe<0?2:0:Ieqe^Hr>qe&&Ie<(Fr-ar)*(qe-fr)/(Hr-fr)+ar&&(Qe=!Qe)}return Qe}function Wl(ve,xe){var Ie=xe.stream,qe;if(!Ie)throw new Error(\"invalid projection\");switch(ve&&ve.type){case\"Feature\":qe=Zu;break;case\"FeatureCollection\":qe=ah;break;default:qe=Tc;break}return qe(ve,Ie)}function ah(ve,xe){return{type:\"FeatureCollection\",features:ve.features.map(function(Ie){return Zu(Ie,xe)})}}function Zu(ve,xe){return{type:\"Feature\",id:ve.id,properties:ve.properties,geometry:Tc(ve.geometry,xe)}}function qc(ve,xe){return{type:\"GeometryCollection\",geometries:ve.geometries.map(function(Ie){return Tc(Ie,xe)})}}function Tc(ve,xe){if(!ve)return null;if(ve.type===\"GeometryCollection\")return qc(ve,xe);var Ie;switch(ve.type){case\"Point\":Ie=Oc;break;case\"MultiPoint\":Ie=Oc;break;case\"LineString\":Ie=cf;break;case\"MultiLineString\":Ie=cf;break;case\"Polygon\":Ie=fc;break;case\"MultiPolygon\":Ie=fc;break;case\"Sphere\":Ie=fc;break;default:return null}return t.geoStream(ve,xe(Ie)),Ie.result()}var wl=[],vu=[],Oc={point:function(ve,xe){wl.push([ve,xe])},result:function(){var ve=wl.length?wl.length<2?{type:\"Point\",coordinates:wl[0]}:{type:\"MultiPoint\",coordinates:wl}:null;return wl=[],ve}},cf={lineStart:Xu,point:function(ve,xe){wl.push([ve,xe])},lineEnd:function(){wl.length&&(vu.push(wl),wl=[])},result:function(){var ve=vu.length?vu.length<2?{type:\"LineString\",coordinates:vu[0]}:{type:\"MultiLineString\",coordinates:vu}:null;return vu=[],ve}},fc={polygonStart:Xu,lineStart:Xu,point:function(ve,xe){wl.push([ve,xe])},lineEnd:function(){var ve=wl.length;if(ve){do wl.push(wl[0].slice());while(++ve<4);vu.push(wl),wl=[]}},polygonEnd:Xu,result:function(){if(!vu.length)return null;var ve=[],xe=[];return vu.forEach(function(Ie){uf(Ie)?ve.push([Ie]):xe.push(Ie)}),xe.forEach(function(Ie){var qe=Ie[0];ve.some(function(Qe){if(Zf(Qe[0],qe))return Qe.push(Ie),!0})||ve.push([Ie])}),vu=[],ve.length?ve.length>1?{type:\"MultiPolygon\",coordinates:ve}:{type:\"Polygon\",coordinates:ve[0]}:null}};function Bc(ve){var xe=ve(T,0)[0]-ve(-T,0)[0];function Ie(qe,Qe){var Xe=n(qe)0?qe-M:qe+M,Qe),qt=(nt[0]-nt[1])*x,jt=(nt[0]+nt[1])*x;if(Xe)return[qt,jt];var ar=xe*x,fr=qt>0^jt>0?-1:1;return[fr*qt-v(jt)*ar,fr*jt-v(qt)*ar]}return ve.invert&&(Ie.invert=function(qe,Qe){var Xe=(qe+Qe)*x,nt=(Qe-qe)*x,qt=n(Xe)<.5*xe&&n(nt)<.5*xe;if(!qt){var jt=xe*x,ar=Xe>0^nt>0?-1:1,fr=-ar*qe+(nt>0?1:-1)*jt,br=-ar*Qe+(Xe>0?1:-1)*jt;Xe=(-fr-br)*x,nt=(fr-br)*x}var Fr=ve.invert(Xe,nt);return qt||(Fr[0]+=Xe>0?M:-M),Fr}),t.geoProjection(Ie).rotate([-90,-90,45]).clipAngle(180-.001)}function kt(){return Bc(ki).scale(176.423)}function Zt(){return Bc(Lo).scale(111.48)}function Mr(ve,xe){if(!(0<=(xe=+xe)&&xe<=20))throw new Error(\"invalid digits\");function Ie(ar){var fr=ar.length,br=2,Fr=new Array(fr);for(Fr[0]=+ar[0].toFixed(xe),Fr[1]=+ar[1].toFixed(xe);br2||Hr[0]!=fr[0]||Hr[1]!=fr[1])&&(br.push(Hr),fr=Hr)}return br.length===1&&ar.length>1&&br.push(Ie(ar[ar.length-1])),br}function Xe(ar){return ar.map(Qe)}function nt(ar){if(ar==null)return ar;var fr;switch(ar.type){case\"GeometryCollection\":fr={type:\"GeometryCollection\",geometries:ar.geometries.map(nt)};break;case\"Point\":fr={type:\"Point\",coordinates:Ie(ar.coordinates)};break;case\"MultiPoint\":fr={type:ar.type,coordinates:qe(ar.coordinates)};break;case\"LineString\":fr={type:ar.type,coordinates:Qe(ar.coordinates)};break;case\"MultiLineString\":case\"Polygon\":fr={type:ar.type,coordinates:Xe(ar.coordinates)};break;case\"MultiPolygon\":fr={type:\"MultiPolygon\",coordinates:ar.coordinates.map(Xe)};break;default:return ar}return ar.bbox!=null&&(fr.bbox=ar.bbox),fr}function qt(ar){var fr={type:\"Feature\",properties:ar.properties,geometry:nt(ar.geometry)};return ar.id!=null&&(fr.id=ar.id),ar.bbox!=null&&(fr.bbox=ar.bbox),fr}if(ve!=null)switch(ve.type){case\"Feature\":return qt(ve);case\"FeatureCollection\":{var jt={type:\"FeatureCollection\",features:ve.features.map(qt)};return ve.bbox!=null&&(jt.bbox=ve.bbox),jt}default:return nt(ve)}return ve}function xr(ve){var xe=m(ve);function Ie(qe,Qe){var Xe=xe?b(qe*xe/2)/xe:qe/2;if(!Qe)return[2*Xe,-ve];var nt=2*i(Xe*m(Qe)),qt=1/b(Qe);return[m(nt)*qt,Qe+(1-o(nt))*qt-ve]}return Ie.invert=function(qe,Qe){if(n(Qe+=ve)p&&--qt>0);var Fr=qe*(ar=b(nt)),Hr=b(n(Qe)0?T:-T)*(jt+Qe*(fr-nt)/2+Qe*Qe*(fr-2*jt+nt)/2)]}Wi.invert=function(ve,xe){var Ie=xe/T,qe=Ie*90,Qe=f(18,n(qe/5)),Xe=c(0,l(Qe));do{var nt=Mi[Xe][1],qt=Mi[Xe+1][1],jt=Mi[f(19,Xe+2)][1],ar=jt-nt,fr=jt-2*qt+nt,br=2*(n(Ie)-qt)/ar,Fr=fr/ar,Hr=br*(1-Fr*br*(1-2*Fr*br));if(Hr>=0||Xe===1){qe=(xe>=0?5:-5)*(Hr+Qe);var ri=50,Ci;do Qe=f(18,n(qe)/5),Xe=l(Qe),Hr=Qe-Xe,nt=Mi[Xe][1],qt=Mi[Xe+1][1],jt=Mi[f(19,Xe+2)][1],qe-=(Ci=(xe>=0?T:-T)*(qt+Hr*(jt-nt)/2+Hr*Hr*(jt-2*qt+nt)/2)-xe)*P;while(n(Ci)>k&&--ri>0);break}}while(--Xe>=0);var cn=Mi[Xe][0],sn=Mi[Xe+1][0],Ln=Mi[f(19,Xe+2)][0];return[ve/(sn+Hr*(Ln-cn)/2+Hr*Hr*(Ln-2*sn+cn)/2),qe*E]};function dn(){return t.geoProjection(Wi).scale(152.63)}function wn(ve){function xe(Ie,qe){var Qe=o(qe),Xe=(ve-1)/(ve-Qe*o(Ie));return[Xe*Qe*m(Ie),Xe*m(qe)]}return xe.invert=function(Ie,qe){var Qe=Ie*Ie+qe*qe,Xe=G(Qe),nt=(ve-G(1-Qe*(ve+1)/(ve-1)))/((ve-1)/Xe+Xe/(ve-1));return[a(Ie*nt,Xe*G(1-nt*nt)),Xe?q(qe*nt/Xe):0]},xe}function On(ve,xe){var Ie=wn(ve);if(!xe)return Ie;var qe=o(xe),Qe=m(xe);function Xe(nt,qt){var jt=Ie(nt,qt),ar=jt[1],fr=ar*Qe/(ve-1)+qe;return[jt[0]*qe/fr,ar/fr]}return Xe.invert=function(nt,qt){var jt=(ve-1)/(ve-1-qt*Qe);return Ie.invert(jt*nt,jt*qt*qe)},Xe}function Yi(){var ve=2,xe=0,Ie=t.geoProjectionMutator(On),qe=Ie(ve,xe);return qe.distance=function(Qe){return arguments.length?Ie(ve=+Qe,xe):ve},qe.tilt=function(Qe){return arguments.length?Ie(ve,xe=Qe*E):xe*P},qe.scale(432.147).clipAngle(U(1/ve)*P-1e-6)}var $i=1e-4,an=1e4,Fi=-180,ta=Fi+$i,Ca=180,Ra=Ca-$i,La=-90,Na=La+$i,Zn=90,Dn=Zn-$i;function Ka(ve){return ve.length>0}function bo(ve){return Math.floor(ve*an)/an}function Zo(ve){return ve===La||ve===Zn?[0,ve]:[Fi,bo(ve)]}function Ss(ve){var xe=ve[0],Ie=ve[1],qe=!1;return xe<=ta?(xe=Fi,qe=!0):xe>=Ra&&(xe=Ca,qe=!0),Ie<=Na?(Ie=La,qe=!0):Ie>=Dn&&(Ie=Zn,qe=!0),qe?[xe,Ie]:ve}function as(ve){return ve.map(Ss)}function ws(ve,xe,Ie){for(var qe=0,Qe=ve.length;qe=Ra||fr<=Na||fr>=Dn){Xe[nt]=Ss(jt);for(var br=nt+1;brta&&HrNa&&ri=qt)break;Ie.push({index:-1,polygon:xe,ring:Xe=Xe.slice(br-1)}),Xe[0]=Zo(Xe[0][1]),nt=-1,qt=Xe.length}}}}function Ho(ve){var xe,Ie=ve.length,qe={},Qe={},Xe,nt,qt,jt,ar;for(xe=0;xe0?M-qt:qt)*P],ar=t.geoProjection(ve(nt)).rotate(jt),fr=t.geoRotation(jt),br=ar.center;return delete ar.rotate,ar.center=function(Fr){return arguments.length?br(fr(Fr)):fr.invert(br())},ar.clipAngle(90)}function rs(ve){var xe=o(ve);function Ie(qe,Qe){var Xe=t.geoGnomonicRaw(qe,Qe);return Xe[0]*=xe,Xe}return Ie.invert=function(qe,Qe){return t.geoGnomonicRaw.invert(qe/xe,Qe)},Ie}function Ql(){return Cu([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Cu(ve,xe){return ys(rs,ve,xe)}function Yu(ve){if(!(ve*=2))return t.geoAzimuthalEquidistantRaw;var xe=-ve/2,Ie=-xe,qe=ve*ve,Qe=b(Ie),Xe=.5/m(Ie);function nt(qt,jt){var ar=U(o(jt)*o(qt-xe)),fr=U(o(jt)*o(qt-Ie)),br=jt<0?-1:1;return ar*=ar,fr*=fr,[(ar-fr)/(2*ve),br*G(4*qe*fr-(qe-ar+fr)*(qe-ar+fr))/(2*ve)]}return nt.invert=function(qt,jt){var ar=jt*jt,fr=o(G(ar+(Fr=qt+xe)*Fr)),br=o(G(ar+(Fr=qt+Ie)*Fr)),Fr,Hr;return[a(Hr=fr-br,Fr=(fr+br)*Qe),(jt<0?-1:1)*U(G(Fr*Fr+Hr*Hr)*Xe)]},nt}function Nc(){return pu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function pu(ve,xe){return ys(Yu,ve,xe)}function Uc(ve,xe){if(n(xe)p&&--qt>0);return[v(ve)*(G(Qe*Qe+4)+Qe)*M/4,T*nt]};function Ku(){return t.geoProjection(hc).scale(127.16)}function ue(ve,xe,Ie,qe,Qe){function Xe(nt,qt){var jt=Ie*m(qe*qt),ar=G(1-jt*jt),fr=G(2/(1+ar*o(nt*=Qe)));return[ve*ar*fr*m(nt),xe*jt*fr]}return Xe.invert=function(nt,qt){var jt=nt/ve,ar=qt/xe,fr=G(jt*jt+ar*ar),br=2*q(fr/2);return[a(nt*b(br),ve*fr)/Qe,fr&&q(qt*m(br)/(xe*Ie*fr))/qe]},Xe}function w(ve,xe,Ie,qe){var Qe=M/3;ve=c(ve,p),xe=c(xe,p),ve=f(ve,T),xe=f(xe,M-p),Ie=c(Ie,0),Ie=f(Ie,100-p),qe=c(qe,p);var Xe=Ie/100+1,nt=qe/100,qt=U(Xe*o(Qe))/Qe,jt=m(ve)/m(qt*T),ar=xe/M,fr=G(nt*m(ve/2)/m(xe/2)),br=fr/G(ar*jt*qt),Fr=1/(fr*G(ar*jt*qt));return ue(br,Fr,jt,qt,ar)}function B(){var ve=65*E,xe=60*E,Ie=20,qe=200,Qe=t.geoProjectionMutator(w),Xe=Qe(ve,xe,Ie,qe);return Xe.poleline=function(nt){return arguments.length?Qe(ve=+nt*E,xe,Ie,qe):ve*P},Xe.parallels=function(nt){return arguments.length?Qe(ve,xe=+nt*E,Ie,qe):xe*P},Xe.inflation=function(nt){return arguments.length?Qe(ve,xe,Ie=+nt,qe):Ie},Xe.ratio=function(nt){return arguments.length?Qe(ve,xe,Ie,qe=+nt):qe},Xe.scale(163.775)}function Q(){return B().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var ee=4*M+3*G(3),le=2*G(2*M*G(3)/ee),ze=nr(le*G(3)/M,le,ee/6);function Ze(){return t.geoProjection(ze).scale(176.84)}function ut(ve,xe){return[ve*G(1-3*xe*xe/(M*M)),xe]}ut.invert=function(ve,xe){return[ve/G(1-3*xe*xe/(M*M)),xe]};function Mt(){return t.geoProjection(ut).scale(152.63)}function Jt(ve,xe){var Ie=o(xe),qe=o(ve)*Ie,Qe=1-qe,Xe=o(ve=a(m(ve)*Ie,-m(xe))),nt=m(ve);return Ie=G(1-qe*qe),[nt*Ie-Xe*Qe,-Xe*Ie-nt*Qe]}Jt.invert=function(ve,xe){var Ie=(ve*ve+xe*xe)/-2,qe=G(-Ie*(2+Ie)),Qe=xe*Ie+ve*qe,Xe=ve*Ie-xe*qe,nt=G(Xe*Xe+Qe*Qe);return[a(qe*Qe,nt*(1+Ie)),nt?-q(qe*Xe/nt):0]};function $t(){return t.geoProjection(Jt).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function mr(ve,xe){var Ie=ke(ve,xe);return[(Ie[0]+ve/T)/2,(Ie[1]+xe)/2]}mr.invert=function(ve,xe){var Ie=ve,qe=xe,Qe=25;do{var Xe=o(qe),nt=m(qe),qt=m(2*qe),jt=nt*nt,ar=Xe*Xe,fr=m(Ie),br=o(Ie/2),Fr=m(Ie/2),Hr=Fr*Fr,ri=1-ar*br*br,Ci=ri?U(Xe*br)*G(cn=1/ri):cn=0,cn,sn=.5*(2*Ci*Xe*Fr+Ie/T)-ve,Ln=.5*(Ci*nt+qe)-xe,Yn=.5*cn*(ar*Hr+Ci*Xe*br*jt)+.5/T,Aa=cn*(fr*qt/4-Ci*nt*Fr),fa=.125*cn*(qt*Fr-Ci*nt*ar*fr),$a=.5*cn*(jt*br+Ci*Hr*Xe)+.5,Co=Aa*fa-$a*Yn,Qa=(Ln*Aa-sn*$a)/Co,mo=(sn*fa-Ln*Yn)/Co;Ie-=Qa,qe-=mo}while((n(Qa)>p||n(mo)>p)&&--Qe>0);return[Ie,qe]};function Cr(){return t.geoProjection(mr).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=_e,e.geoAiryRaw=oe,e.geoAitoff=Ce,e.geoAitoffRaw=ke,e.geoArmadillo=ie,e.geoArmadilloRaw=ge,e.geoAugust=Ee,e.geoAugustRaw=Se,e.geoBaker=me,e.geoBakerRaw=Le,e.geoBerghaus=ce,e.geoBerghausRaw=Pe,e.geoBertin1953=Qt,e.geoBertin1953Raw=ct,e.geoBoggs=St,e.geoBoggsRaw=rt,e.geoBonne=Xt,e.geoBonneRaw=pt,e.geoBottomley=_r,e.geoBottomleyRaw=or,e.geoBromley=ei,e.geoBromleyRaw=Er,e.geoChamberlin=et,e.geoChamberlinRaw=Ge,e.geoChamberlinAfrica=We,e.geoCollignon=At,e.geoCollignonRaw=xt,e.geoCraig=er,e.geoCraigRaw=Kt,e.geoCraster=Ir,e.geoCrasterRaw=Gr,e.geoCylindricalEqualArea=_i,e.geoCylindricalEqualAreaRaw=Yr,e.geoCylindricalStereographic=ai,e.geoCylindricalStereographicRaw=Pi,e.geoEckert1=un,e.geoEckert1Raw=mi,e.geoEckert2=An,e.geoEckert2Raw=Fn,e.geoEckert3=Qn,e.geoEckert3Raw=Hn,e.geoEckert4=Kn,e.geoEckert4Raw=Vi,e.geoEckert5=Gt,e.geoEckert5Raw=Jn,e.geoEckert6=rr,e.geoEckert6Raw=wt,e.geoEisenlohr=Xr,e.geoEisenlohrRaw=wr,e.geoFahey=Ri,e.geoFaheyRaw=$r,e.geoFoucaut=en,e.geoFoucautRaw=Zi,e.geoFoucautSinusoidal=yn,e.geoFoucautSinusoidalRaw=fn,e.geoGilbert=ua,e.geoGingery=Xo,e.geoGingeryRaw=ma,e.geoGinzburg4=Ha,e.geoGinzburg4Raw=jn,e.geoGinzburg5=Gn,e.geoGinzburg5Raw=vo,e.geoGinzburg6=Ar,e.geoGinzburg6Raw=Ct,e.geoGinzburg8=hi,e.geoGinzburg8Raw=Jr,e.geoGinzburg9=Sn,e.geoGinzburg9Raw=hn,e.geoGringorten=ea,e.geoGringortenRaw=ki,e.geoGuyou=Fs,e.geoGuyouRaw=Lo,e.geoHammer=mt,e.geoHammerRaw=He,e.geoHammerRetroazimuthal=zl,e.geoHammerRetroazimuthalRaw=ll,e.geoHealpix=Yl,e.geoHealpixRaw=cl,e.geoHill=nc,e.geoHillRaw=Su,e.geoHomolosine=xo,e.geoHomolosineRaw=ql,e.geoHufnagel=Ns,e.geoHufnagelRaw=Kl,e.geoHyperelliptical=qo,e.geoHyperellipticalRaw=oa,e.geoInterrupt=Do,e.geoInterruptedBoggs=Vf,e.geoInterruptedHomolosine=Zc,e.geoInterruptedMollweide=qs,e.geoInterruptedMollweideHemispheres=oc,e.geoInterruptedSinuMollweide=sc,e.geoInterruptedSinusoidal=Lf,e.geoKavrayskiy7=nf,e.geoKavrayskiy7Raw=cs,e.geoLagrange=$l,e.geoLagrangeRaw=Gf,e.geoLarrivee=Fu,e.geoLarriveeRaw=lc,e.geoLaskowski=Hs,e.geoLaskowskiRaw=Es,e.geoLittrow=ps,e.geoLittrowRaw=Go,e.geoLoximuthal=xl,e.geoLoximuthalRaw=uc,e.geoMiller=Os,e.geoMillerRaw=Gu,e.geoModifiedStereographic=Bl,e.geoModifiedStereographicRaw=od,e.geoModifiedStereographicAlaska=Hu,e.geoModifiedStereographicGs48=bl,e.geoModifiedStereographicGs50=Hf,e.geoModifiedStereographicMiller=Ic,e.geoModifiedStereographicLee=yf,e.geoMollweide=je,e.geoMollweideRaw=tt,e.geoMtFlatPolarParabolic=Yc,e.geoMtFlatPolarParabolicRaw=_f,e.geoMtFlatPolarQuartic=th,e.geoMtFlatPolarQuarticRaw=eh,e.geoMtFlatPolarSinusoidal=jf,e.geoMtFlatPolarSinusoidalRaw=ju,e.geoNaturalEarth2=of,e.geoNaturalEarth2Raw=cc,e.geoNellHammer=Kc,e.geoNellHammerRaw=Nl,e.geoInterruptedQuarticAuthalic=gs,e.geoNicolosi=Wh,e.geoNicolosiRaw=Wf,e.geoPatterson=hu,e.geoPattersonRaw=bc,e.geoPolyconic=nl,e.geoPolyconicRaw=_u,e.geoPolyhedral=xf,e.geoPolyhedralButterfly=Cs,e.geoPolyhedralCollignon=Xf,e.geoPolyhedralWaterman=Us,e.geoProject=Wl,e.geoGringortenQuincuncial=kt,e.geoPeirceQuincuncial=Zt,e.geoPierceQuincuncial=Zt,e.geoQuantize=Mr,e.geoQuincuncial=Bc,e.geoRectangularPolyconic=Kr,e.geoRectangularPolyconicRaw=xr,e.geoRobinson=dn,e.geoRobinsonRaw=Wi,e.geoSatellite=Yi,e.geoSatelliteRaw=On,e.geoSinuMollweide=Vu,e.geoSinuMollweideRaw=_a,e.geoSinusoidal=Et,e.geoSinusoidalRaw=dt,e.geoStitch=Ls,e.geoTimes=no,e.geoTimesRaw=va,e.geoTwoPointAzimuthal=Cu,e.geoTwoPointAzimuthalRaw=rs,e.geoTwoPointAzimuthalUsa=Ql,e.geoTwoPointEquidistant=pu,e.geoTwoPointEquidistantRaw=Yu,e.geoTwoPointEquidistantUsa=Nc,e.geoVanDerGrinten=xu,e.geoVanDerGrintenRaw=Uc,e.geoVanDerGrinten2=Ua,e.geoVanDerGrinten2Raw=Ac,e.geoVanDerGrinten3=Vc,e.geoVanDerGrinten3Raw=oo,e.geoVanDerGrinten4=Ku,e.geoVanDerGrinten4Raw=hc,e.geoWagner=B,e.geoWagner7=Q,e.geoWagnerRaw=w,e.geoWagner4=Ze,e.geoWagner4Raw=ze,e.geoWagner6=Mt,e.geoWagner6Raw=ut,e.geoWiechel=$t,e.geoWiechelRaw=Jt,e.geoWinkel3=Cr,e.geoWinkel3Raw=mr,Object.defineProperty(e,\"__esModule\",{value:!0})})});var jDe=ye((Nmr,HDe)=>{\"use strict\";var nd=qa(),UZ=Pr(),Hzt=Oa(),r5=Math.PI/180,rw=180/Math.PI,GZ={cursor:\"pointer\"},HZ={cursor:\"auto\"};function jzt(e,t){var r=e.projection,n;return t._isScoped?n=Wzt:t._isClipped?n=Zzt:n=Xzt,n(e,r)}HDe.exports=jzt;function jZ(e,t){return nd.behavior.zoom().translate(t.translate()).scale(t.scale())}function WZ(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},c={};function f(h,d){u[n+\".\"+h]=UZ.nestedProperty(o,h).get(),Hzt.call(\"_storeDirectGUIEdit\",a,s._preGUI,u);var v=UZ.nestedProperty(l,h);v.get()!==d&&(v.set(d),UZ.nestedProperty(o,h).set(d),c[n+\".\"+h]=d)}r(f),f(\"projection.scale\",t.scale()/e.fitScale),f(\"fitbounds\",!1),i.emit(\"plotly_relayout\",c)}function Wzt(e,t){var r=jZ(e,t);function n(){nd.select(this).style(GZ)}function i(){t.scale(nd.event.scale).translate(nd.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":s[0],\"geo.center.lat\":s[1]})}function a(s){var l=t.invert(e.midPt);s(\"center.lon\",l[0]),s(\"center.lat\",l[1])}function o(){nd.select(this).style(HZ),WZ(e,t,a)}return r.on(\"zoomstart\",n).on(\"zoom\",i).on(\"zoomend\",o),r}function Xzt(e,t){var r=jZ(e,t),n=2,i,a,o,s,l,u,c,f,h;function d(M){return t.invert(M)}function v(M){var T=d(M);if(!T)return!0;var L=t(T);return Math.abs(L[0]-M[0])>n||Math.abs(L[1]-M[1])>n}function m(){nd.select(this).style(GZ),i=nd.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=d(i)}function b(){if(u=nd.mouse(this),v(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(nd.event.scale),t.translate([o[0],nd.event.translate[1]]),l?d(u)&&(f=d(u),c=[s[0]+(f[0]-l[0]),a[1],a[2]],t.rotate(c),s=c):(i=u,l=d(i)),h=!0,e.render(!0);var M=t.rotate(),T=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":T[0],\"geo.center.lat\":T[1],\"geo.projection.rotation.lon\":-M[0]})}function p(){nd.select(this).style(HZ),h&&WZ(e,t,k)}function k(M){var T=t.rotate(),L=t.invert(e.midPt);M(\"projection.rotation.lon\",-T[0]),M(\"center.lon\",L[0]),M(\"center.lat\",L[1])}return r.on(\"zoomstart\",m).on(\"zoom\",b).on(\"zoomend\",p),r}function Zzt(e,t){var r={r:t.rotate(),k:t.scale()},n=jZ(e,t),i=r7t(n,\"zoomstart\",\"zoom\",\"zoomend\"),a=0,o=n.on,s;n.on(\"zoomstart\",function(){nd.select(this).style(GZ);var h=nd.mouse(this),d=t.rotate(),v=d,m=t.translate(),b=Yzt(d);s=zF(t,h),o.call(n,\"zoom\",function(){var p=nd.mouse(this);if(t.scale(r.k=nd.event.scale),!s)h=p,s=zF(t,h);else if(zF(t,p)){t.rotate(d).translate(m);var k=zF(t,p),M=Jzt(s,k),T=Qzt(Kzt(b,M)),L=r.r=$zt(T,s,v);(!isFinite(L[0])||!isFinite(L[1])||!isFinite(L[2]))&&(L=v),t.rotate(L),v=L}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on(\"zoomend\",function(){nd.select(this).style(HZ),o.call(n,\"zoom\",null),c(i.of(this,arguments)),WZ(e,t,f)}).on(\"zoom.redraw\",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.projection.rotation.lon\":-h[0],\"geo.projection.rotation.lat\":-h[1]})});function l(h){a++||h({type:\"zoomstart\"})}function u(h){h({type:\"zoom\"})}function c(h){--a||h({type:\"zoomend\"})}function f(h){var d=t.rotate();h(\"projection.rotation.lon\",-d[0]),h(\"projection.rotation.lat\",-d[1])}return nd.rebind(n,i,\"on\")}function zF(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&e7t(r)}function Yzt(e){var t=.5*e[0]*r5,r=.5*e[1]*r5,n=.5*e[2]*r5,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function Kzt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function Jzt(e,t){if(!(!e||!t)){var r=t7t(e,t),n=Math.sqrt(GDe(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,GDe(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function $zt(e,t,r){var n=VZ(t,2,e[0]);n=VZ(n,1,e[1]),n=VZ(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(a,i)*rw,f=Math.sqrt(i*i+a*a),h,d;Math.abs(l)>f?(d=(l>0?90:-90)-c,h=0):(d=Math.asin(l/f)*rw-c,h=Math.sqrt(f*f-l*l));var v=180-d-2*c,m=(Math.atan2(u,s)-Math.atan2(o,h))*rw,b=(Math.atan2(u,s)-Math.atan2(o,-h))*rw,p=UDe(r[0],r[1],d,m),k=UDe(r[0],r[1],v,b);return p<=k?[d,m,r[2]]:[v,b,r[2]]}function UDe(e,t,r,n){var i=VDe(r-e),a=VDe(n-t);return Math.sqrt(i*i+a*a)}function VDe(e){return(e%360+540)%360-180}function VZ(e,t,r){var n=r*r5,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function Qzt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*rw,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*rw,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*rw]}function e7t(e){var t=e[0]*r5,r=e[1]*r5,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function GDe(e,t){for(var r=0,n=0,i=e.length;n{\"use strict\";var l1=qa(),YZ=NZ(),i7t=YZ.geoPath,n7t=YZ.geoDistance,a7t=NDe(),o7t=Oa(),vk=Pr(),s7t=vk.strTranslate,qF=ka(),dk=So(),WDe=vf(),l7t=Mc(),ZZ=ho(),XDe=Mg().getAutoRange,XZ=yv(),u7t=qf().prepSelect,c7t=qf().clearOutline,f7t=qf().selectOnClick,h7t=jDe(),hp=uk(),d7t=hx(),YDe=bF(),v7t=SZ().feature;function KDe(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var tm=KDe.prototype;JDe.exports=function(t){return new KDe(t)};tm.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in hp.layerNameToAdjective)if(l!==\"frame\"&&a[\"show\"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),l7t.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=l.selectAll(\".point\"),this.dataPoints.text=l.selectAll(\"text\"),this.dataPaths.line=l.selectAll(\".js-line\");var u=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=u.selectAll(\"path\"),this._render()};tm.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=p7t(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],d=n.center||{},v=o.rotation||{},m=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=XDe(r,u),c.range=XDe(r,c);var p=(u.range[0]+u.range[1])/2,k=(c.range[0]+c.range[1])/2;if(n._isScoped)d={lon:p,lat:k};else if(n._isClipped){d={lon:p,lat:k},v={lon:p,lat:k,roll:v.roll};var M=o.type,T=hp.lonaxisSpan[M]/2||180,L=hp.lataxisSpan[M]/2||90;m=[p-T,p+T],b=[k-L,k+L]}else d={lon:p,lat:k},v={lon:p,lat:v.lat,roll:v.roll}}f.center([d.lon-v.lon,d.lat-v.lat]).rotate([-v.lon,-v.lat,v.roll]).parallels(o.parallels);var x=ZDe(m,b);f.fitExtent(h,x);var C=this.bounds=f.getBounds(x),S=this.fitScale=f.scale(),g=f.translate();if(n.fitbounds){var P=f.getBounds(ZDe(u.range,c.range)),E=Math.min((C[1][0]-C[0][0])/(P[1][0]-P[0][0]),(C[1][1]-C[0][1])/(P[1][1]-P[0][1]));isFinite(E)?f.scale(E*S):vk.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else f.scale(o.scale*S);var z=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(f.translate([g[0]+(z[0]-g[0]),g[1]+(z[1]-g[1])]).clipExtent(C),n._isAlbersUsa){var q=f([d.lon,d.lat]),U=f.translate();f.translate([U[0]-(q[0]-U[0]),U[1]-(q[1]-U[1])])}};tm.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h===\"lonaxis\"||h===\"lataxis\"}function s(h){return!!hp.lineLayers[h]}function l(h){return!!hp.fillLayers[h]}var u=this.hasChoropleth?hp.layersForChoropleth:hp.layers,c=u.filter(function(h){return s(h)||l(h)?t[\"show\"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(\".layer\").data(c,String);f.exit().each(function(h){delete i[h],delete a[h],l1.select(this).remove()}),f.enter().append(\"g\").attr(\"class\",function(h){return\"layer \"+h}).each(function(h){var d=i[h]=l1.select(this);h===\"bg\"?r.bgRect=d.append(\"rect\").style(\"pointer-events\",\"all\"):o(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\"):h===\"backplot\"?d.append(\"g\").classed(\"choroplethlayer\",!0):h===\"frontplot\"?d.append(\"g\").classed(\"scatterlayer\",!0):s(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):l(h)&&(a[h]=d.append(\"path\").style(\"stroke\",\"none\"))}),f.order(),f.each(function(h){var d=a[h],v=hp.layerNameToAdjective[h];h===\"frame\"?d.datum(hp.sphereSVG):s(h)||l(h)?d.datum(v7t(n,n.objects[h])):o(h)&&d.datum(g7t(h,t,e)).call(qF.stroke,t[h].gridcolor).call(dk.dashLine,t[h].griddash,t[h].gridwidth),s(h)?d.call(qF.stroke,t[v+\"color\"]).call(dk.dashLine,\"\",t[v+\"width\"]):l(h)&&d.call(qF.fill,t[v+\"color\"])})};tm.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;dk.setRect(this.clipRect,i,a,o,s),this.bgRect.call(dk.setRect,i,a,o,s).call(qF.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};tm.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var d in f)h[r.id+\".\"+d]=f[d];o7t.call(\"_guiRelayout\",n,h),n.emit(\"plotly_doubleclick\",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var d=f.range={};d[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var v=f.lassoPoints={};v[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&c7t(n)}};a===\"pan\"?(i.node().onmousedown=null,i.call(h7t(r,t)),i.on(\"dblclick.zoom\",s),n._context._scrollZoom.geo||i.on(\"wheel.zoom\",null)):(a===\"select\"||a===\"lasso\")&&(i.on(\".zoom\",null),c.prepFn=function(f,h,d){u7t(f,h,d,c,a)},XZ.init(c)),i.on(\"mousemove\",function(){var f=r.projection.invert(vk.getPositionFromD3Event());if(!f)return XZ.unhover(n,l1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},WDe.hover(n,l1.event,r.id)}),i.on(\"mouseout\",function(){n._dragging||XZ.unhover(n,l1.event)}),i.on(\"click\",function(){a!==\"select\"&&a!==\"lasso\"&&(o.indexOf(\"select\")>-1&&f7t(l1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf(\"event\")>-1&&WDe.click(n,l1.event))})};tm.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n=\"clip\"+r._uid+e.id;e.clipDef=r._clips.append(\"clipPath\").attr(\"id\",n),e.clipRect=e.clipDef.append(\"rect\"),e.framework=l1.select(e.container).append(\"g\").attr(\"class\",\"geo \"+e.id).call(dk.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:\"x\",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:\"y\",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},ZZ.setConvert(e.mockAxis,r)};tm.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,\"projection.scale\":r.scale};var i;e._isScoped?i={\"center.lon\":t.lon,\"center.lat\":t.lat}:e._isClipped?i={\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:i={\"center.lon\":t.lon,\"center.lat\":t.lat,\"projection.rotation.lon\":n.lon},vk.extendFlat(this.viewInitial,i)};tm.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};tm._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?s7t(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?\"none\":null}for(r in this.basePaths)this.basePaths[r].attr(\"d\",t);for(r in this.dataPaths)this.dataPaths[r].attr(\"d\",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(\"display\",i).attr(\"transform\",n)};function p7t(e){var t=e.projection,r=t.type,n=hp.projNames[r];n=\"geo\"+vk.titleCase(n);for(var i=YZ[n]||a7t[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?hp.lonaxisSpan[r]/2:null,s=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],l=function(f){return f?a:[]},u=0;uv}else return!1},a.getPath=function(){return i7t().projection(a)},a.getBounds=function(f){return a.getPath().bounds(f)},a.precision(hp.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-hp.clipPad),a}function g7t(e,t,r){var n=1e-6,i=2.5,a=t[e],o=hp.scopeDefaults[t.scope],s,l,u;e===\"lonaxis\"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(k,M){return[k,M]}):e===\"lataxis\"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(k,M){return[M,k]});var c={type:\"linear\",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};ZZ.setConvert(c,r);var f=ZZ.calcTicks(c);!t.isScoped&&e===\"lonaxis\"&&f.pop();for(var h=f.length,d=new Array(h),v=0;v0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var KZ=ye((Vmr,tFe)=>{\"use strict\";var n5=Ih(),m7t=Cc().attributes,y7t=Pd().dash,i5=uk(),_7t=mc().overrideAll,QDe=t_(),eFe={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\",dflt:0},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:n5.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:y7t},x7t=tFe.exports=_7t({domain:m7t({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:QDe(i5.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:QDe(i5.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:n5.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:i5.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:i5.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:i5.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:i5.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:n5.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:n5.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:n5.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:n5.background},lonaxis:eFe,lataxis:eFe},\"plot\",\"from-root\");x7t.uirevision={valType:\"any\",editType:\"none\"}});var nFe=ye((Gmr,iFe)=>{\"use strict\";var OF=Pr(),b7t=q_(),w7t=Id().getSubplotData,BF=uk(),T7t=KZ(),rFe=BF.axesNames;iFe.exports=function(t,r,n){b7t(t,r,n,{type:\"geo\",attributes:T7t,handleDefaults:A7t,fullData:n,partition:\"y\"})};function A7t(e,t,r,n){var i=w7t(n.fullData,\"geo\",n.id),a=i.map(function(oe){return oe.index}),o=r(\"resolution\"),s=r(\"scope\"),l=BF.scopeDefaults[s],u=r(\"projection.type\",l.projType),c=t._isAlbersUsa=u===\"albers usa\";c&&(s=t.scope=\"usa\");var f=t._isScoped=s!==\"world\",h=t._isSatellite=u===\"satellite\",d=t._isConic=u.indexOf(\"conic\")!==-1||u===\"albers\",v=t._isClipped=!!BF.lonaxisSpan[u];if(e.visible===!1){var m=OF.extendDeep({},t._template);m.showcoastlines=!1,m.showcountries=!1,m.showframe=!1,m.showlakes=!1,m.showland=!1,m.showocean=!1,m.showrivers=!1,m.showsubunits=!1,m.lonaxis&&(m.lonaxis.showgrid=!1),m.lataxis&&(m.lataxis.showgrid=!1),t._template=m}for(var b=r(\"visible\"),p,k=0;k0&&q<0&&(q+=360);var U=(z+q)/2,G;if(!c){var Z=f?l.projRotate:[U,0,0];G=r(\"projection.rotation.lon\",Z[0]),r(\"projection.rotation.lat\",Z[1]),r(\"projection.rotation.roll\",Z[2]),p=r(\"showcoastlines\",!f&&b),p&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),p=r(\"showocean\",b?void 0:!1),p&&r(\"oceancolor\")}var j,N;if(c?(j=-96.6,N=38.7):(j=f?U:G,N=(E[0]+E[1])/2),r(\"center.lon\",j),r(\"center.lat\",N),h&&(r(\"projection.tilt\"),r(\"projection.distance\")),d){var H=l.projParallels||[0,60];r(\"projection.parallels\",H)}r(\"projection.scale\"),p=r(\"showland\",b?void 0:!1),p&&r(\"landcolor\"),p=r(\"showlakes\",b?void 0:!1),p&&r(\"lakecolor\"),p=r(\"showrivers\",b?void 0:!1),p&&(r(\"rivercolor\"),r(\"riverwidth\")),p=r(\"showcountries\",f&&s!==\"usa\"&&b),p&&(r(\"countrycolor\"),r(\"countrywidth\")),(s===\"usa\"||s===\"north america\"&&o===50)&&(r(\"showsubunits\",b),r(\"subunitcolor\"),r(\"subunitwidth\")),f||(p=r(\"showframe\",b),p&&(r(\"framecolor\"),r(\"framewidth\"))),r(\"bgcolor\");var re=r(\"fitbounds\");re&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var JZ=ye((Hmr,sFe)=>{\"use strict\";var S7t=Id().getSubplotCalcData,M7t=Pr().counterRegex,E7t=$De(),Qm=\"geo\",aFe=M7t(Qm),oFe={};oFe[Qm]={valType:\"subplotid\",dflt:Qm,editType:\"calc\"};function k7t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Qm],i=0;i{\"use strict\";lFe.exports={attributes:ew(),supplyDefaults:URe(),colorbar:$d(),formatLabels:HRe(),calc:_F(),calcGeoJSON:BZ().calcGeoJSON,plot:BZ().plot,style:FZ(),styleOnSelect:sp().styleOnSelect,hoverPoints:PDe(),eventData:RDe(),selectPoints:zDe(),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:JZ(),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var fFe=ye((Wmr,cFe)=>{\"use strict\";cFe.exports=uFe()});var a5=ye((Xmr,vFe)=>{\"use strict\";var{hovertemplateAttrs:P7t,templatefallbackAttrs:I7t}=Ll(),vx=ew(),R7t=Tu(),hFe=Gl(),D7t=Ih().defaultLine,dx=Ao().extendFlat,dFe=vx.marker.line;vFe.exports=dx({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:vx.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:dx({},vx.geojson,{}),featureidkey:vx.featureidkey,text:dx({},vx.text,{}),hovertext:dx({},vx.hovertext,{}),marker:{line:{color:dx({},dFe.color,{dflt:D7t}),width:dx({},dFe.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:vx.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:vx.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:dx({},hFe.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:P7t(),hovertemplatefallback:I7t(),showlegend:dx({},hFe.showlegend,{dflt:!1})},R7t(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var gFe=ye((Zmr,pFe)=>{\"use strict\";var pk=Pr(),F7t=td(),z7t=a5(),q7t=[\"The library used by the *country names* `locationmode` option is changing in the next major version.\",\"Some country names in existing plots may not work in the new version.\",\"To ensure consistent behavior, consider setting `locationmode` to *ISO-3*.\"].join(\" \");pFe.exports=function(t,r,n,i){function a(h,d){return pk.coerce(t,r,z7t,h,d)}var o=a(\"locations\"),s=a(\"z\");if(!(o&&o.length&&pk.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||pk.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"country names\"&&pk.warn(q7t),c===\"geojson-id\"&&a(\"featureidkey\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\");var f=a(\"marker.line.width\");f&&a(\"marker.line.color\"),a(\"marker.opacity\"),F7t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),pk.coerceSelectionMarkerOpacity(r,a)}});var NF=ye((Ymr,_Fe)=>{\"use strict\";var mFe=Eo(),O7t=fs().BADNUM,B7t=gv(),N7t=Rm(),U7t=q0();function yFe(e){return e&&typeof e==\"string\"}_Fe.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(c){return yFe(c)||mFe(c)}:a=yFe;for(var o=0;o{\"use strict\";var V7t=qa(),G7t=ka(),$Z=So(),H7t=tc();function j7t(e,t){t&&xFe(e,t)}function xFe(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(\".choroplethlocation\"),a=r.marker||{},o=a.line||{},s=H7t.makeColorScaleFuncFromTrace(r);i.each(function(l){V7t.select(this).attr(\"fill\",s(l.z)).call(G7t.stroke,l.mlc||o.color).call($Z.dashLine,\"\",l.mlw||o.width||0).style(\"opacity\",a.opacity)}),$Z.selectedPointStyle(i,r)}function W7t(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?$Z.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n):xFe(e,t)}bFe.exports={style:j7t,styleOnSelect:W7t}});var QZ=ye((Jmr,AFe)=>{\"use strict\";var X7t=qa(),wFe=Pr(),o5=hx(),Z7t=bF().getTopojsonFeatures,TFe=Mg().findExtremes,Y7t=UF().style;function K7t(e,t,r){var n=t.layers.backplot.select(\".choroplethlayer\");wFe.makeTraceGroups(n,r,\"trace choropleth\").each(function(i){var a=X7t.select(this),o=a.selectAll(\"path.choroplethlocation\").data(wFe.identity);o.enter().append(\"path\").classed(\"choroplethlocation\",!0),o.exit().remove(),Y7t(e,i)})}function J7t(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a===\"geojson-id\"?o5.extractTraceFeature(e):Z7t(r,i.topojson),l=[],u=[],c=0;c{\"use strict\";var $7t=ho(),Q7t=a5(),e9t=Pr().fillText;SFe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,c,f=[r,n],h=[r+360,n];for(l=0;l\")}}});var GF=ye((Qmr,MFe)=>{\"use strict\";MFe.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var HF=ye((eyr,EFe)=>{\"use strict\";EFe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s{\"use strict\";kFe.exports={attributes:a5(),supplyDefaults:gFe(),colorbar:D_(),calc:NF(),calcGeoJSON:QZ().calcGeoJSON,plot:QZ().plot,style:UF().style,styleOnSelect:UF().styleOnSelect,hoverPoints:VF(),eventData:GF(),selectPoints:HF(),moduleType:\"trace\",name:\"choropleth\",basePlotModule:JZ(),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}});var PFe=ye((ryr,LFe)=>{\"use strict\";LFe.exports=CFe()});var jF=ye((iyr,RFe)=>{\"use strict\";var r9t=Oa(),l0=Pr(),i9t=mT();function n9t(e,t,r,n){var i=e.cd,a=i[0].t,o=i[0].trace,s=e.xa,l=e.ya,u=a.x,c=a.y,f=s.c2p(t),h=l.c2p(r),d=e.distance,v;if(a.tree){var m=s.p2c(f-d),b=s.p2c(f+d),p=l.p2c(h-d),k=l.p2c(h+d);n===\"x\"?v=a.tree.range(Math.min(m,b),Math.min(l._rl[0],l._rl[1]),Math.max(m,b),Math.max(l._rl[0],l._rl[1])):v=a.tree.range(Math.min(m,b),Math.min(p,k),Math.max(m,b),Math.max(p,k))}else v=a.ids;var M,T,L,x,C,S,g,P,E,z=d;if(n===\"x\"){var q=!!o.xperiodalignment,U=!!o.yperiodalignment;for(C=0;C=Math.min(G,Z)&&f<=Math.max(G,Z)?0:1/0}if(S=Math.min(j,N)&&h<=Math.max(j,N)?0:1/0}E=Math.sqrt(S*S+g*g),T=v[C]}}}else for(C=v.length-1;C>-1;C--)M=v[C],L=u[M],x=c[M],S=s.c2p(L)-f,g=l.c2p(x)-h,P=Math.sqrt(S*S+g*g),P{\"use strict\";var DFe=20;FFe.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:DFe,SYMBOL_STROKE:DFe/20,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]}}});var gk=ye((ayr,BFe)=>{\"use strict\";var a9t=Gl(),o9t=ec(),s9t=Pg(),mf=pf(),zFe=df().axisHoverFormat,qFe=Tu(),l9t=t_(),eY=Ao().extendFlat,u9t=mc().overrideAll,c9t=px().DASHES,OFe=mf.line,u1=mf.marker,f9t=u1.line,gx=BFe.exports=u9t({x:mf.x,x0:mf.x0,dx:mf.dx,y:mf.y,y0:mf.y0,dy:mf.dy,xperiod:mf.xperiod,yperiod:mf.yperiod,xperiod0:mf.xperiod0,yperiod0:mf.yperiod0,xperiodalignment:mf.xperiodalignment,yperiodalignment:mf.yperiodalignment,xhoverformat:zFe(\"x\"),yhoverformat:zFe(\"y\"),text:mf.text,hovertext:mf.hovertext,textposition:mf.textposition,textfont:o9t({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,noNumericWeightValues:!0,variantValues:[\"normal\",\"small-caps\"]}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:OFe.color,width:OFe.width,shape:{valType:\"enumerated\",values:[\"linear\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},dash:{valType:\"enumerated\",values:l9t(c9t),dflt:\"solid\"}},marker:eY({},qFe(\"marker\"),{symbol:u1.symbol,angle:u1.angle,size:u1.size,sizeref:u1.sizeref,sizemin:u1.sizemin,sizemode:u1.sizemode,opacity:u1.opacity,colorbar:u1.colorbar,line:eY({},qFe(\"marker.line\"),{width:f9t.width})}),connectgaps:mf.connectgaps,fill:eY({},mf.fill,{dflt:\"none\"}),fillcolor:s9t(),selected:{marker:mf.selected.marker,textfont:mf.selected.textfont},unselected:{marker:mf.unselected.marker,textfont:mf.unselected.textfont},opacity:a9t.opacity},\"calc\",\"nested\");gx.x.editType=gx.y.editType=gx.x0.editType=gx.y0.editType=\"calc+clearAxisTypes\";gx.hovertemplate=mf.hovertemplate;gx.hovertemplatefallback=mf.hovertemplatefallback;gx.texttemplate=mf.texttemplate;gx.texttemplatefallback=mf.texttemplatefallback});var WF=ye(tY=>{\"use strict\";var NFe=px();tY.isOpenSymbol=function(e){return typeof e==\"string\"?NFe.OPEN_RE.test(e):e%200>100};tY.isDotSymbol=function(e){return typeof e==\"string\"?NFe.DOT_RE.test(e):e>200}});var GFe=ye((syr,VFe)=>{\"use strict\";var UFe=Pr(),h9t=Oa(),d9t=WF(),v9t=gk(),p9t=Lm(),XF=Ru(),g9t=sT(),m9t=Dg(),y9t=$p(),_9t=D0(),x9t=Fg(),b9t=F0();VFe.exports=function(t,r,n,i){function a(d,v){return UFe.coerce(t,r,v9t,d,v)}var o=t.marker?d9t.isOpenSymbol(t.marker.symbol):!1,s=XF.isBubble(t),l=g9t(t,r,i,a);if(!l){r.visible=!1;return}m9t(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\");var u=l{\"use strict\";var w9t=lI();HFe.exports=function(t,r,n){var i=t.i;return\"x\"in t||(t.x=r._x[i]),\"y\"in t||(t.y=r._y[i]),w9t(t,r,n)}});var XFe=ye((uyr,WFe)=>{\"use strict\";function T9t(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function A9t(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function S9t(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function M9t(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function E9t(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function mk(e,t,r,n,i,a){return typeof r==\"function\"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}WFe.exports={ge:function(e,t,r,n,i){return mk(e,t,r,n,i,T9t)},gt:function(e,t,r,n,i){return mk(e,t,r,n,i,A9t)},lt:function(e,t,r,n,i){return mk(e,t,r,n,i,S9t)},le:function(e,t,r,n,i){return mk(e,t,r,n,i,M9t)},eq:function(e,t,r,n,i){return mk(e,t,r,n,i,E9t)}}});var ey=ye((cyr,YFe)=>{\"use strict\";YFe.exports=function(t,r,n){var i={},a,o;if(typeof r==\"string\"&&(r=ZFe(r)),Array.isArray(r)){var s={};for(o=0;o{\"use strict\";var k9t=ey();KFe.exports=C9t;function C9t(e){var t;return arguments.length>1&&(e=arguments),typeof e==\"string\"?e=e.split(/\\s/).map(parseFloat):typeof e==\"number\"&&(e=[e]),e.length&&typeof e[0]==\"number\"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=k9t(e,{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\"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var iw=ye((hyr,JFe)=>{\"use strict\";JFe.exports=L9t;function L9t(e,t){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;ni&&(i=e[o]),e[o]{$Fe.exports=function(){for(var e=0;e{var eze=QD();tze.exports=P9t;function P9t(e,t,r){if(!e)throw new TypeError(\"must specify data as first parameter\");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]==\"number\"){var n=e[0].length,i=e.length*n,a,o,s,l;(!t||typeof t==\"string\")&&(t=new(eze(t||\"float32\"))(i+r));var u=t.length-r;if(i!==u)throw new Error(\"source length \"+i+\" (\"+n+\"x\"+e.length+\") does not match destination length \"+u);for(a=0,s=r;a{\"use strict\";rze.exports=function(e){var t=typeof e;return e!==null&&(t===\"object\"||t===\"function\")}});var aze=ye((gyr,nze)=>{\"use strict\";nze.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var hze=ye((myr,fze)=>{\"use strict\";var oze=XFe(),sze=rk(),I9t=s5(),R9t=iw(),lze=ey(),iY=QFe(),D9t=nw(),F9t=ize(),z9t=QD(),uze=aze(),q9t=1073741824;fze.exports=function(t,r){r||(r={}),t=D9t(t,\"float64\"),r=lze(r,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});let n=iY(r.maxDepth,255),i=iY(r.bounds,R9t(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;let a=cze(t,i),o=t.length>>>1,s;r.dtype||(r.dtype=\"array\"),typeof r.dtype==\"string\"?s=new(z9t(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let p=0;pn||x>q9t){for(let N=0;N_e||g>ke||P=z||re===oe)return;let Ce=l[H];oe===void 0&&(oe=Ce.length);for(let Pe=re;Pe=T&&He<=x&<>=L&<<=C&&q.push(ce)}let ge=u[H],ie=ge[re*4+0],Se=ge[re*4+1],Ee=ge[re*4+2],we=ge[re*4+3],De=G(ge,re+1),Le=N*.5,me=H+1;U(Z,j,Le,me,ie,Se||Ee||we||De),U(Z,j+Le,Le,me,Se,Ee||we||De),U(Z+Le,j,Le,me,Ee,we||De),U(Z+Le,j+Le,Le,me,we,De)}function G(Z,j){let N=null,H=0;for(;N===null;)if(N=Z[j*4+H],H++,H>Z.length)return null;return N}return q}function m(p,k,M,T,L){let x=[];for(let C=0;C{\"use strict\";dze.exports=hze()});var nY=ye((_yr,vze)=>{vze.exports=O9t;function O9t(e){var t=0,r=0,n=0,i=0;return e.map(function(a){a=a.slice();var o=a[0],s=o.toUpperCase();if(o!=s)switch(a[0]=s,o){case\"a\":a[6]+=n,a[7]+=i;break;case\"v\":a[1]+=i;break;case\"h\":a[1]+=n;break;default:for(var l=1;l{\"use strict\";Object.defineProperty(YF,\"__esModule\",{value:!0});var B9t=function(){function e(t,r){var n=[],i=!0,a=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));i=!0);}catch(u){a=!0,o=u}finally{try{!i&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),yk=Math.PI*2,aY=function(t,r,n,i,a,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=i*l-a*u,f=a*l+i*u;return{x:c+o,y:f+s}},N9t=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),i=Math.cos(t),a=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:i-a*n,y:a+i*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},pze=function(t,r,n,i){var a=t*i-r*n<0?-1:1,o=t*n+r*i;return o>1&&(o=1),o<-1&&(o=-1),a*Math.acos(o)},U9t=function(t,r,n,i,a,o,s,l,u,c,f,h){var d=Math.pow(a,2),v=Math.pow(o,2),m=Math.pow(f,2),b=Math.pow(h,2),p=d*v-d*b-v*m;p<0&&(p=0),p/=d*b+v*m,p=Math.sqrt(p)*(s===l?-1:1);var k=p*a/o*h,M=p*-o/a*f,T=c*k-u*M+(t+n)/2,L=u*k+c*M+(r+i)/2,x=(f-k)/a,C=(h-M)/o,S=(-f-k)/a,g=(-h-M)/o,P=pze(1,0,x,C),E=pze(x,C,S,g);return l===0&&E>0&&(E-=yk),l===1&&E<0&&(E+=yk),[T,L,P,E]},V9t=function(t){var r=t.px,n=t.py,i=t.cx,a=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,d=h===void 0?0:h,v=[];if(o===0||s===0)return[];var m=Math.sin(u*yk/360),b=Math.cos(u*yk/360),p=b*(r-i)/2+m*(n-a)/2,k=-m*(r-i)/2+b*(n-a)/2;if(p===0&&k===0)return[];o=Math.abs(o),s=Math.abs(s);var M=Math.pow(p,2)/Math.pow(o,2)+Math.pow(k,2)/Math.pow(s,2);M>1&&(o*=Math.sqrt(M),s*=Math.sqrt(M));var T=U9t(r,n,i,a,o,s,f,d,m,b,p,k),L=B9t(T,4),x=L[0],C=L[1],S=L[2],g=L[3],P=Math.abs(g)/(yk/4);Math.abs(1-P)<1e-7&&(P=1);var E=Math.max(Math.ceil(P),1);g/=E;for(var z=0;z{\"use strict\";_ze.exports=H9t;var G9t=mze();function H9t(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function KF(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function yze(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}});var oY=ye((byr,bze)=>{\"use strict\";bze.exports=function(t){return typeof t!=\"string\"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}});var Aze=ye((wyr,Tze)=>{\"use strict\";var j9t=nM(),W9t=nY(),X9t=xze(),Z9t=oY(),wze=gE();Tze.exports=Y9t;function Y9t(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]==\"string\"&&(e=e[0]),typeof e==\"string\"&&(wze(Z9t(e),\"String is not an SVG path.\"),e=j9t(e)),wze(Array.isArray(e),\"Argument should be a string or an array of path segments.\"),e=W9t(e),e=X9t(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;rt[2]&&(t[2]=i[a+0]),i[a+1]>t[3]&&(t[3]=i[a+1]);return t}});var Lze=ye((Tyr,Cze)=>{var aw=Math.PI,Sze=kze(120);Cze.exports=K9t;function K9t(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f7&&(r.push(d.splice(0,7)),d.unshift(\"C\"));break;case\"S\":var m=u,b=c;(t==\"C\"||t==\"S\")&&(m+=m-n,b+=b-i),d=[\"C\",m,b,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=Mze(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=Mze(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=JF(u,c,d[1],d[2]);break;case\"H\":d=JF(u,c,d[1],c);break;case\"V\":d=JF(u,c,u,d[1]);break;case\"Z\":d=JF(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function JF(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function Mze(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function Eze(e,t,r,n,i,a,o,s,l,u){if(u)M=u[0],T=u[1],p=u[2],k=u[3];else{var c=sY(e,t,-i);e=c.x,t=c.y,c=sY(s,l,-i),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,d=f*f/(r*r)+h*h/(n*n);d>1&&(d=Math.sqrt(d),r=d*r,n=d*n);var v=r*r,m=n*n,b=(a==o?-1:1)*Math.sqrt(Math.abs((v*m-v*h*h-m*f*f)/(v*h*h+m*f*f)));b==1/0&&(b=1);var p=b*r*h/n+(e+s)/2,k=b*-n*f/r+(t+l)/2,M=Math.asin(((t-k)/n).toFixed(9)),T=Math.asin(((l-k)/n).toFixed(9));M=eT&&(M=M-aw*2),!o&&T>M&&(T=T-aw*2)}if(Math.abs(T-M)>Sze){var L=T,x=s,C=l;T=M+Sze*(o&&T>M?1:-1),s=p+r*Math.cos(T),l=k+n*Math.sin(T);var S=Eze(s,l,r,n,i,0,o,x,C,[T,L,p,k])}var g=Math.tan((T-M)/4),P=4/3*r*g,E=4/3*n*g,z=[2*e-(e+P*Math.sin(M)),2*t-(t-E*Math.cos(M)),s+P*Math.sin(T),l-E*Math.cos(T),s,l];if(u)return z;S&&(z=z.concat(S));for(var q=0;q{var J9t=nY(),$9t=Lze(),Q9t={M:\"moveTo\",C:\"bezierCurveTo\"};Pze.exports=function(e,t){e.beginPath(),$9t(J9t(t)).forEach(function(r){var n=r[0],i=r.slice(1);e[Q9t[n]].apply(e,i)}),e.closePath()}});var zze=ye((Syr,Fze)=>{\"use strict\";var eqt=rk();Fze.exports=tqt;var _k=1e20;function tqt(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,i=t.channel||0,a,o,s,l,u,c,f,h,d,v,m;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error(\"For raw data width and height should be provided by options\");a=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext(\"2d\"),a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.ImageData&&e instanceof window.ImageData&&(d=e,a=e.width,o=e.height,l=d.data,c=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(a*o),v=0,m=u.length;v{\"use strict\";var rqt=Aze(),iqt=nM(),nqt=Ize(),aqt=oY(),oqt=zze(),lY=document.createElement(\"canvas\"),dp=lY.getContext(\"2d\");qze.exports=sqt;function sqt(e,t){if(!aqt(e))throw Error(\"Argument should be valid svg path string\");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=lY.width=t.w||t.width||200,n=lY.height=t.h||t.height||200);var i=Math.min(r,n),a=t.stroke||0,o=t.viewbox||t.viewBox||rqt(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(dp.fillStyle=\"black\",dp.fillRect(0,0,r,n),dp.fillStyle=\"white\",a&&(typeof a!=\"number\"&&(a=1),a>0?dp.strokeStyle=\"white\":dp.strokeStyle=\"black\",dp.lineWidth=Math.abs(a)),dp.translate(r*.5,n*.5),dp.scale(l,l),lqt()){var u=new Path2D(e);dp.fill(u),a&&dp.stroke(u)}else{var c=iqt(e);nqt(dp,c),dp.fill(),a&&dp.stroke()}dp.setTransform(1,0,0,1,0,0);var f=oqt(dp,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:i*.5});return f}var $F;function lqt(){if($F!=null)return $F;var e=document.createElement(\"canvas\").getContext(\"2d\");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return $F=!1;var t=new Path2D(\"M0,0h1v1h-1v-1Z\");e.fillStyle=\"black\",e.fill(t);var r=e.getImageData(0,0,1,1);return $F=r&&r.data&&r.data[3]===255}});var sw=ye((Eyr,Yze)=>{\"use strict\";var ez=Eo(),uqt=Oze(),QF=ox(),cqt=Oa(),c5=Pr(),bh=c5.isArrayOrTypedArray,l5=So(),Bze=hf(),Nze=a1().formatColor,u5=Ru(),fqt=O3(),cY=WF(),xk=px(),hqt=X1().DESELECTDIM,Uze={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},dqt=ip().appendArrayPointValue;function vqt(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(u5.hasText(t)&&(n.text=Zze(e,t),n.textSel=Gze(e,t,t.selected),n.textUnsel=Gze(e,t,t.unselected)),u5.hasMarkers(t)&&(n.marker=hY(e,t),n.markerSel=fY(e,t,t.selected),n.markerUnsel=fY(e,t,t.unselected),!t.unselected&&bh(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r500?\"bold\":\"normal\":e}function hY(e,t){var r=t._length,n=t.marker,i={},a,o=bh(n.symbol),s=bh(n.angle),l=bh(n.color),u=bh(n.line.color),c=bh(n.opacity),f=bh(n.size),h=bh(n.line.width),d;if(o||(d=cY.isOpenSymbol(n.symbol)),o||l||u||c||s){i.symbols=new Array(r),i.angles=new Array(r),i.colors=new Array(r),i.borderColors=new Array(r);var v=n.symbol,m=n.angle,b=Nze(n,n.opacity,r),p=Nze(n.line,n.opacity,r);if(!bh(p[0])){var k=p;for(p=Array(r),a=0;axk.TOO_MANY_POINTS||u5.hasMarkers(t)?\"rect\":\"round\";if(u&&t.connectgaps){var f=a[0],h=a[1];for(o=0;o1?l[o]:l[0]:l,d=bh(u)?u.length>1?u[o]:u[0]:u,v=Uze[h],m=Uze[d],b=c?c/.8+1:0,p=-m*b-m*.5;a.offset[o]=[v*b/f,p/f]}}return a}Yze.exports={style:vqt,markerStyle:hY,markerSelection:fY,linePositions:gqt,errorBarPositions:mqt,textPosition:yqt}});var dY=ye((kyr,Kze)=>{\"use strict\";var tz=Pr();Kze.exports=function(t,r){var n=r._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){tz.extendFlat(n,a,i)},n.init(),n.update=function(s){var l=tz.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u{\"use strict\";var _qt=ZF(),f5=Pr(),Jze=hf(),xqt=Mg().findExtremes,$ze=zg(),vY=O0(),bqt=vY.calcMarkerSize,wqt=vY.calcAxisExpansion,Tqt=vY.setFirstScatter,Aqt=z0(),h5=sw(),Sqt=dY(),Qze=fs().BADNUM,Mqt=px().TOO_MANY_POINTS;t7e.exports=function(t,r){var n=t._fullLayout,i=r._xA=Jze.getFromId(t,r.xaxis,\"x\"),a=r._yA=Jze.getFromId(t,r.yaxis,\"y\"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=Mqt,u=s*2,c={},f,h=i.makeCalcdata(r,\"x\"),d=a.makeCalcdata(r,\"y\"),v=$ze(r,i,\"x\",h),m=$ze(r,a,\"y\",d),b=v.vals,p=m.vals;r._x=b,r._y=p,r.xperiodalignment&&(r._origX=h,r._xStarts=v.starts,r._xEnds=v.ends),r.yperiodalignment&&(r._origY=d,r._yStarts=m.starts,r._yEnds=m.ends);var k=new Array(u),M=new Array(s);for(f=0;f1&&f5.extendFlat(o.line,h5.linePositions(e,r,n)),o.errorX||o.errorY){var s=h5.errorBarPositions(e,r,n,i,a);o.errorX&&f5.extendFlat(o.errorX,s.x),o.errorY&&f5.extendFlat(o.errorY,s.y)}return o.text&&(f5.extendFlat(o.text,{positions:n},h5.textPosition(e,r,o.text,o.marker)),f5.extendFlat(o.textSel,{positions:n},h5.textPosition(e,r,o.text,o.markerSel)),f5.extendFlat(o.textUnsel,{positions:n},h5.textPosition(e,r,o.text,o.markerUnsel))),o}});var pY=ye((Lyr,n7e)=>{\"use strict\";var i7e=Pr(),kqt=ka(),Cqt=X1().DESELECTDIM;function Lqt(e){var t=e[0],r=t.trace,n=t.t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],u=i.textSelectedOptions[a]||{},c=i.textUnselectedOptions[a]||{},f=i7e.extendFlat({},l),h,d;if(o.length||s.length){var v=u.color,m=c.color,b=l.color,p=i7e.isArrayOrTypedArray(b);for(f.color=new Array(r._length),h=0;h{\"use strict\";var a7e=Ru(),Pqt=pY().styleTextSelection;o7e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,d=l.index;if(!h)return o;var v=a7e.hasText(s),m=a7e.hasMarkers(s),b=!m&&!v;if(s.visible!==!0||b)return o;var p=[],k=[];if(r!==!1&&!r.degenerate)for(var M=0;M{\"use strict\";var Iqt=jF();s7e.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:mh(),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:gk(),supplyDefaults:GFe(),crossTraceDefaults:cU(),colorbar:$d(),formatLabels:jFe(),calc:r7e(),hoverPoints:Iqt.hoverPoints,selectPoints:gY(),meta:{}}});var c7e=ye((Ryr,iz)=>{\"use strict\";var rz=rk();iz.exports=u7e;iz.exports.to=u7e;iz.exports.from=Rqt;function u7e(e,t){t==null&&(t=!0);var r=e[0],n=e[1],i=e[2],a=e[3];a==null&&(a=t?1:255),t&&(r*=255,n*=255,i*=255,a*=255),r=rz(r,0,255)&255,n=rz(n,0,255)&255,i=rz(i,0,255)&255,a=rz(a,0,255)&255;var o=r*16777216+(n<<16)+(i<<8)+a;return o}function Rqt(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,i=(e&65280)>>>8,a=e&255;return t===!1?[r,n,i,a]:[r/255,n/255,i/255,a/255]}});var Nh=ye((Dyr,h7e)=>{\"use strict\";var f7e=Object.getOwnPropertySymbols,Dqt=Object.prototype.hasOwnProperty,Fqt=Object.prototype.propertyIsEnumerable;function zqt(e){if(e==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function qqt(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",Object.getOwnPropertyNames(e)[0]===\"5\")return!1;for(var t={},r=0;r<10;r++)t[\"_\"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join(\"\")!==\"0123456789\")return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join(\"\")===\"abcdefghijklmnopqrst\"}catch(a){return!1}}h7e.exports=qqt()?Object.assign:function(e,t){for(var r,n=zqt(e),i,a=1;a{d7e.exports=function(e){typeof e==\"string\"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n{\"use strict\";p7e.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var i=0,a=n.length;i{\"use strict\";g7e.exports=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))});var nz=ye((Oyr,d5)=>{\"use strict\";d5.exports=bk;d5.exports.float32=d5.exports.float=bk;d5.exports.fract32=d5.exports.fract=Oqt;var y7e=new Float32Array(1);function Oqt(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=bk(e));for(var r=0,n=t.length;r{\"use strict\";function Bqt(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function Nqt(e,t){return Gqt(e)||Bqt(e,t)||x7e(e,t)||Wqt()}function Uqt(e){return Vqt(e)||Hqt(e)||x7e(e)||jqt()}function Vqt(e){if(Array.isArray(e))return yY(e)}function Gqt(e){if(Array.isArray(e))return e}function Hqt(e){if(typeof Symbol!=\"undefined\"&&e[Symbol.iterator]!=null||e[\"@@iterator\"]!=null)return Array.from(e)}function x7e(e,t){if(e){if(typeof e==\"string\")return yY(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yY(e,t)}}function yY(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r 1.0 + delta) {\n", + "\t\tdiscard;\n", + "\t}\n", + "\n", + "\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n", + "\n", + "\tfloat borderRadius = fragBorderRadius;\n", + "\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n", + "\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n", + "\tcolor.a *= alpha * opacity;\n", + "\tgl_FragColor = color;\n", + "}\n", + "`]),v.vert=az([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute float x, y, xFract, yFract;\n", + "attribute float size, borderSize;\n", + "attribute vec4 colorId, borderColorId;\n", + "attribute float isActive;\n", + "\n", + "// \\`invariant\\` effectively turns off optimizations for the position.\n", + "// We need this because -fast-math on M1 Macs is re-ordering\n", + "// floating point operations in a way that causes floating point\n", + "// precision limits to put points in the wrong locations.\n", + "invariant gl_Position;\n", + "\n", + "uniform bool constPointSize;\n", + "uniform float pixelRatio;\n", + "uniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\n", + "uniform sampler2D paletteTexture;\n", + "\n", + "const float maxSize = 100.;\n", + "\n", + "varying vec4 fragColor, fragBorderColor;\n", + "varying float fragBorderRadius, fragWidth;\n", + "\n", + "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", + "\n", + "bool isDirect = (paletteSize.x < 1.);\n", + "\n", + "vec4 getColor(vec4 id) {\n", + " return isDirect ? id / 255. : texture2D(paletteTexture,\n", + " vec2(\n", + " (id.x + .5) / paletteSize.x,\n", + " (id.y + .5) / paletteSize.y\n", + " )\n", + " );\n", + "}\n", + "\n", + "void main() {\n", + " // ignore inactive points\n", + " if (isActive == 0.) return;\n", + "\n", + " vec2 position = vec2(x, y);\n", + " vec2 positionFract = vec2(xFract, yFract);\n", + "\n", + " vec4 color = getColor(colorId);\n", + " vec4 borderColor = getColor(borderColorId);\n", + "\n", + " float size = size * maxSize / 255.;\n", + " float borderSize = borderSize * maxSize / 255.;\n", + "\n", + " gl_PointSize = (size + borderSize) * pointSizeScale;\n", + "\n", + " vec2 pos = (position + translate) * scale\n", + " + (positionFract + translateFract) * scale\n", + " + (position + translate) * scaleFract\n", + " + (positionFract + translateFract) * scaleFract;\n", + "\n", + " gl_Position = vec4(pos * 2. - 1., 0., 1.);\n", + "\n", + " fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n", + " fragColor = color;\n", + " fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n", + " fragWidth = 1. / gl_PointSize;\n", + "}\n", + "`]),_7e&&(v.frag=v.frag.replace(\"smoothstep\",\"smoothStep\"),d.frag=d.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=e(v)}nv.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};nv.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this};nv.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;nre)?N.tree=Kqt(j,{bounds:ge}):re&&re.length&&(N.tree=re),N.tree){var ie={primitive:\"points\",usage:\"static\",data:N.tree,type:\"uint32\"};N.elements?N.elements(ie):N.elements=o.elements(ie)}var Se=oz.float32(j);oe({data:Se,usage:\"dynamic\"});var Ee=oz.fract32(j,Se);return _e({data:Ee,usage:\"dynamic\"}),ke({data:new Uint8Array(Ce),type:\"uint8\",usage:\"stream\"}),j}},{marker:function(j,N,H){var re=N.activation;if(re.forEach(function(Ee){return Ee&&Ee.destroy&&Ee.destroy()}),re.length=0,!j||typeof j[0]==\"number\"){var oe=e.addMarker(j);re[oe]=!0}else{for(var _e=[],ke=0,Ce=Math.min(j.length,N.count);ke=0)return i;var a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)a=e;else{a=new Uint8Array(e.length);for(var o=0,s=e.length;on*4&&(this.tooManyColors=!0),this.updatePalette(r),i.length===1?i[0]:i};nv.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var i=e.length*.25%t;i{\"use strict\";TY.exports=uz;TY.exports.default=uz;function uz(e,t,r){r=r||2;var n=t&&t.length,i=n?t[0]*r:e.length,a=T7e(e,0,i,r,!0),o=[];if(!a||a.next===a.prev)return o;var s,l,u,c,f,h,d;if(n&&(a=lOt(e,t,a,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var v=r;vu&&(u=f),h>c&&(c=h);d=Math.max(u-s,c-l),d=d!==0?32767/d:0}return wk(a,o,r,s,l,d,0),o}function T7e(e,t,r,n,i){var a,o;if(i===wY(e,t,r,n)>0)for(a=t;a=t;a-=n)o=w7e(a,e[a],e[a+1],o);return o&&cz(o,o.next)&&(Ak(o),o=o.next),o}function uw(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(cz(r,r.next)||wh(r.prev,r,r.next)===0)){if(Ak(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function wk(e,t,r,n,i,a,o){if(e){!o&&a&&dOt(e,n,i,a);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,a?aOt(e,n,i,a):nOt(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),Ak(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=oOt(uw(e),t,r),wk(e,t,r,n,i,a,2)):o===2&&sOt(e,t,r,n,i,a):wk(uw(e),t,r,n,i,a,1);break}}}}function nOt(e){var t=e.prev,r=e,n=e.next;if(wh(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=ia?i>o?i:o:a>o?a:o,d=s>l?s>u?s:u:l>u?l:u,v=n.next;v!==t;){if(v.x>=c&&v.x<=h&&v.y>=f&&v.y<=d&&v5(i,s,a,l,o,u,v.x,v.y)&&wh(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function aOt(e,t,r,n){var i=e.prev,a=e,o=e.next;if(wh(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,u=o.x,c=i.y,f=a.y,h=o.y,d=sl?s>u?s:u:l>u?l:u,b=c>f?c>h?c:h:f>h?f:h,p=xY(d,v,t,r,n),k=xY(m,b,t,r,n),M=e.prevZ,T=e.nextZ;M&&M.z>=p&&T&&T.z<=k;){if(M.x>=d&&M.x<=m&&M.y>=v&&M.y<=b&&M!==i&&M!==o&&v5(s,c,l,f,u,h,M.x,M.y)&&wh(M.prev,M,M.next)>=0||(M=M.prevZ,T.x>=d&&T.x<=m&&T.y>=v&&T.y<=b&&T!==i&&T!==o&&v5(s,c,l,f,u,h,T.x,T.y)&&wh(T.prev,T,T.next)>=0))return!1;T=T.nextZ}for(;M&&M.z>=p;){if(M.x>=d&&M.x<=m&&M.y>=v&&M.y<=b&&M!==i&&M!==o&&v5(s,c,l,f,u,h,M.x,M.y)&&wh(M.prev,M,M.next)>=0)return!1;M=M.prevZ}for(;T&&T.z<=k;){if(T.x>=d&&T.x<=m&&T.y>=v&&T.y<=b&&T!==i&&T!==o&&v5(s,c,l,f,u,h,T.x,T.y)&&wh(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function oOt(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!cz(i,a)&&A7e(i,n,n.next,a)&&Tk(i,a)&&Tk(a,i)&&(t.push(i.i/r|0),t.push(n.i/r|0),t.push(a.i/r|0),Ak(n),Ak(n.next),n=e=a),n=n.next}while(n!==e);return uw(n)}function sOt(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&gOt(o,s)){var l=S7e(o,s);o=uw(o,o.next),l=uw(l,l.next),wk(o,t,r,n,i,a,0),wk(l,t,r,n,i,a,0);return}s=s.next}o=o.next}while(o!==e)}function lOt(e,t,r,n){var i=[],a,o,s,l,u;for(a=0,o=t.length;a=r.next.y&&r.next.y!==r.y){var s=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>a&&(a=s,o=r.x=r.x&&r.x>=u&&n!==r.x&&v5(io.x||r.x===o.x&&hOt(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function hOt(e,t){return wh(e.prev,e,t.prev)<0&&wh(t.next,e,e.next)<0}function dOt(e,t,r,n){var i=e;do i.z===0&&(i.z=xY(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,vOt(i)}function vOt(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return e}function xY(e,t,r,n,i){return e=(e-r)*i|0,t=(t-n)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function pOt(e){var t=e,r=e;do(t.x=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function gOt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!mOt(e,t)&&(Tk(e,t)&&Tk(t,e)&&yOt(e,t)&&(wh(e.prev,e,t.prev)||wh(e,t.prev,t))||cz(e,t)&&wh(e.prev,e,e.next)>0&&wh(t.prev,t,t.next)>0)}function wh(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function cz(e,t){return e.x===t.x&&e.y===t.y}function A7e(e,t,r,n){var i=lz(wh(e,t,r)),a=lz(wh(e,t,n)),o=lz(wh(r,n,e)),s=lz(wh(r,n,t));return!!(i!==a&&o!==s||i===0&&sz(e,r,t)||a===0&&sz(e,n,t)||o===0&&sz(r,e,n)||s===0&&sz(r,t,n))}function sz(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function lz(e){return e>0?1:e<0?-1:0}function mOt(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&A7e(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function Tk(e,t){return wh(e.prev,e,e.next)<0?wh(e,t,e.next)>=0&&wh(e,e.prev,t)>=0:wh(e,t,e.prev)<0||wh(e,e.next,t)<0}function yOt(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function S7e(e,t){var r=new bY(e.i,e.x,e.y),n=new bY(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w7e(e,t,r,n){var i=new bY(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ak(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function bY(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}uz.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(wY(e,0,a,r));if(i)for(var s=0,l=t.length;s0&&(n+=e[i-1].length,r.holes.push(n))}return r}});var k7e=ye((Uyr,E7e)=>{\"use strict\";var _Ot=iw();E7e.exports=xOt;function xOt(e,t,r){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null&&(t=1),r==null&&(r=_Ot(e,t));for(var n=0;n{\"use strict\";C7e.exports=function(){var e,t;if(typeof WeakMap!=\"function\")return!1;try{e=new WeakMap([[t={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(r){return!1}return!(String(e)!==\"[object WeakMap]\"||typeof e.set!=\"function\"||e.set({},1)!==e||typeof e.delete!=\"function\"||typeof e.has!=\"function\"||e.get(t)!==\"one\")}});var I7e=ye((Gyr,P7e)=>{\"use strict\";P7e.exports=function(){}});var mx=ye((Hyr,R7e)=>{\"use strict\";var bOt=I7e()();R7e.exports=function(e){return e!==bOt&&e!==null}});var AY=ye((jyr,F7e)=>{\"use strict\";var wOt=Object.create,TOt=Object.getPrototypeOf,D7e={};F7e.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||wOt;return typeof e!=\"function\"?!1:TOt(e(t(null),D7e))===D7e}});var SY=ye((Wyr,z7e)=>{\"use strict\";var AOt=mx(),SOt={function:!0,object:!0};z7e.exports=function(e){return AOt(e)&&SOt[typeof e]||!1}});var c1=ye((Xyr,q7e)=>{\"use strict\";var MOt=mx();q7e.exports=function(e){if(!MOt(e))throw new TypeError(\"Cannot use null or undefined\");return e}});var B7e=ye((Zyr,O7e)=>{\"use strict\";var MY=Object.create,fz;AY()()||(fz=EY());O7e.exports=function(){var e,t,r;return!fz||fz.level!==1?MY:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n===\"__proto__\"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(fz,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,i){return MY(n===null?e:n,i)})}()});var EY=ye((Yyr,N7e)=>{\"use strict\";var EOt=SY(),kOt=c1(),COt=Object.prototype.isPrototypeOf,LOt=Object.defineProperty,POt={configurable:!0,enumerable:!1,writable:!0,value:void 0},hz;hz=function(e,t){if(kOt(e),t===null||EOt(t))return e;throw new TypeError(\"Prototype must be null or an object\")};N7e.exports=function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,i){return r.call(hz(n,i),i),n}):t=function(n,i){return hz(n,i).__proto__=i,n}:t=function n(i,a){var o;return hz(i,a),o=COt.call(n.nullPolyfill,i),o&&delete n.nullPolyfill.__proto__,a===null&&(a=n.nullPolyfill),i.__proto__=a,o&&LOt(n.nullPolyfill,\"__proto__\",POt),i},Object.defineProperty(t,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{r=n.set,r.call(e,t)}catch(i){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)}());B7e()});var dz=ye((Kyr,U7e)=>{\"use strict\";U7e.exports=AY()()?Object.setPrototypeOf:EY()});var G7e=ye((Jyr,V7e)=>{\"use strict\";var IOt=SY();V7e.exports=function(e){if(!IOt(e))throw new TypeError(e+\" is not an Object\");return e}});var j7e=ye(($yr,H7e)=>{\"use strict\";var ROt=Object.create(null),DOt=Math.random;H7e.exports=function(){var e;do e=DOt().toString(36).slice(2);while(ROt[e]);return e}});var cw=ye((Qyr,W7e)=>{\"use strict\";var FOt=void 0;W7e.exports=function(e){return e!==FOt&&e!==null}});var vz=ye((e1r,X7e)=>{\"use strict\";var zOt=cw(),qOt={object:!0,function:!0,undefined:!0};X7e.exports=function(e){return zOt(e)?hasOwnProperty.call(qOt,typeof e):!1}});var Y7e=ye((t1r,Z7e)=>{\"use strict\";var OOt=vz();Z7e.exports=function(e){if(!OOt(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var J7e=ye((r1r,K7e)=>{\"use strict\";var BOt=Y7e();K7e.exports=function(e){if(typeof e!=\"function\"||!hasOwnProperty.call(e,\"length\"))return!1;try{if(typeof e.length!=\"number\"||typeof e.call!=\"function\"||typeof e.apply!=\"function\")return!1}catch(t){return!1}return!BOt(e)}});var kY=ye((i1r,$7e)=>{\"use strict\";var NOt=J7e(),UOt=/^\\s*class[\\s{/}]/,VOt=Function.prototype.toString;$7e.exports=function(e){return!(!NOt(e)||UOt.test(VOt.call(e)))}});var e9e=ye((n1r,Q7e)=>{\"use strict\";Q7e.exports=function(){var e=Object.assign,t;return typeof e!=\"function\"?!1:(t={foo:\"raz\"},e(t,{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}});var r9e=ye((a1r,t9e)=>{\"use strict\";t9e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}});var n9e=ye((o1r,i9e)=>{\"use strict\";var GOt=mx(),HOt=Object.keys;i9e.exports=function(e){return HOt(GOt(e)?Object(e):e)}});var o9e=ye((s1r,a9e)=>{\"use strict\";a9e.exports=r9e()()?Object.keys:n9e()});var l9e=ye((l1r,s9e)=>{\"use strict\";var jOt=o9e(),WOt=c1(),XOt=Math.max;s9e.exports=function(e,t){var r,n,i=XOt(arguments.length,2),a;for(e=Object(WOt(e)),a=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n{\"use strict\";u9e.exports=e9e()()?Object.assign:l9e()});var CY=ye((c1r,c9e)=>{\"use strict\";var ZOt=mx(),YOt=Array.prototype.forEach,KOt=Object.create,JOt=function(e,t){var r;for(r in e)t[r]=e[r]};c9e.exports=function(e){var t=KOt(null);return YOt.call(arguments,function(r){ZOt(r)&&JOt(Object(r),t)}),t}});var h9e=ye((f1r,f9e)=>{\"use strict\";var LY=\"razdwatrzy\";f9e.exports=function(){return typeof LY.contains!=\"function\"?!1:LY.contains(\"dwa\")===!0&&LY.contains(\"foo\")===!1}});var v9e=ye((h1r,d9e)=>{\"use strict\";var $Ot=String.prototype.indexOf;d9e.exports=function(e){return $Ot.call(this,e,arguments[1])>-1}});var PY=ye((d1r,p9e)=>{\"use strict\";p9e.exports=h9e()()?String.prototype.contains:v9e()});var f1=ye((v1r,_9e)=>{\"use strict\";var gz=cw(),g9e=kY(),m9e=pz(),y9e=CY(),Sk=PY(),QOt=_9e.exports=function(e,t){var r,n,i,a,o;return arguments.length<2||typeof e!=\"string\"?(a=t,t=e,e=null):a=arguments[2],gz(e)?(r=Sk.call(e,\"c\"),n=Sk.call(e,\"e\"),i=Sk.call(e,\"w\")):(r=i=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:i},a?m9e(y9e(a),o):o};QOt.gs=function(e,t,r){var n,i,a,o;return typeof e!=\"string\"?(a=r,r=t,t=e,e=null):a=arguments[3],gz(t)?g9e(t)?gz(r)?g9e(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,gz(e)?(n=Sk.call(e,\"c\"),i=Sk.call(e,\"e\")):(n=!0,i=!1),o={get:t,set:r,configurable:n,enumerable:i},a?m9e(y9e(a),o):o}});var Mk=ye((p1r,b9e)=>{\"use strict\";var x9e=Object.prototype.toString,eBt=x9e.call(function(){return arguments}());b9e.exports=function(e){return x9e.call(e)===eBt}});var Ek=ye((g1r,T9e)=>{\"use strict\";var w9e=Object.prototype.toString,tBt=w9e.call(\"\");T9e.exports=function(e){return typeof e==\"string\"||e&&typeof e==\"object\"&&(e instanceof String||w9e.call(e)===tBt)||!1}});var S9e=ye((m1r,A9e)=>{\"use strict\";A9e.exports=function(){return typeof globalThis!=\"object\"||!globalThis?!1:globalThis.Array===Array}});var k9e=ye((y1r,E9e)=>{var M9e=function(){if(typeof self==\"object\"&&self)return self;if(typeof window==\"object\"&&window)return window;throw new Error(\"Unable to resolve global `this`\")};E9e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(e){return M9e()}try{return __global__||M9e()}finally{delete Object.prototype.__global__}}()});var kk=ye((_1r,C9e)=>{\"use strict\";C9e.exports=S9e()()?globalThis:k9e()});var P9e=ye((x1r,L9e)=>{\"use strict\";var rBt=kk(),IY={object:!0,symbol:!0};L9e.exports=function(){var e=rBt.Symbol,t;if(typeof e!=\"function\")return!1;t=e(\"test symbol\");try{String(t)}catch(r){return!1}return!(!IY[typeof e.iterator]||!IY[typeof e.toPrimitive]||!IY[typeof e.toStringTag])}});var R9e=ye((b1r,I9e)=>{\"use strict\";I9e.exports=function(e){return e?typeof e==\"symbol\"?!0:!e.constructor||e.constructor.name!==\"Symbol\"?!1:e[e.constructor.toStringTag]===\"Symbol\":!1}});var RY=ye((w1r,D9e)=>{\"use strict\";var iBt=R9e();D9e.exports=function(e){if(!iBt(e))throw new TypeError(e+\" is not a symbol\");return e}});var B9e=ye((T1r,O9e)=>{\"use strict\";var F9e=f1(),nBt=Object.create,z9e=Object.defineProperty,aBt=Object.prototype,q9e=nBt(null);O9e.exports=function(e){for(var t=0,r,n;q9e[e+(t||\"\")];)++t;return e+=t||\"\",q9e[e]=!0,r=\"@@\"+e,z9e(aBt,r,F9e.gs(null,function(i){n||(n=!0,z9e(this,r,F9e(i)),n=!1)})),r}});var U9e=ye((A1r,N9e)=>{\"use strict\";var rm=f1(),Uh=kk().Symbol;N9e.exports=function(e){return Object.defineProperties(e,{hasInstance:rm(\"\",Uh&&Uh.hasInstance||e(\"hasInstance\")),isConcatSpreadable:rm(\"\",Uh&&Uh.isConcatSpreadable||e(\"isConcatSpreadable\")),iterator:rm(\"\",Uh&&Uh.iterator||e(\"iterator\")),match:rm(\"\",Uh&&Uh.match||e(\"match\")),replace:rm(\"\",Uh&&Uh.replace||e(\"replace\")),search:rm(\"\",Uh&&Uh.search||e(\"search\")),species:rm(\"\",Uh&&Uh.species||e(\"species\")),split:rm(\"\",Uh&&Uh.split||e(\"split\")),toPrimitive:rm(\"\",Uh&&Uh.toPrimitive||e(\"toPrimitive\")),toStringTag:rm(\"\",Uh&&Uh.toStringTag||e(\"toStringTag\")),unscopables:rm(\"\",Uh&&Uh.unscopables||e(\"unscopables\"))})}});var H9e=ye((S1r,G9e)=>{\"use strict\";var V9e=f1(),oBt=RY(),Ck=Object.create(null);G9e.exports=function(e){return Object.defineProperties(e,{for:V9e(function(t){return Ck[t]?Ck[t]:Ck[t]=e(String(t))}),keyFor:V9e(function(t){var r;oBt(t);for(r in Ck)if(Ck[r]===t)return r})})}});var X9e=ye((M1r,W9e)=>{\"use strict\";var ty=f1(),DY=RY(),mz=kk().Symbol,sBt=B9e(),lBt=U9e(),uBt=H9e(),cBt=Object.create,FY=Object.defineProperties,yz=Object.defineProperty,Xv,p5,j9e;if(typeof mz==\"function\")try{String(mz()),j9e=!0}catch(e){}else mz=null;p5=function(t){if(this instanceof p5)throw new TypeError(\"Symbol is not a constructor\");return Xv(t)};W9e.exports=Xv=function e(t){var r;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return j9e?mz(t):(r=cBt(p5.prototype),t=t===void 0?\"\":String(t),FY(r,{__description__:ty(\"\",t),__name__:ty(\"\",sBt(t))}))};lBt(Xv);uBt(Xv);FY(p5.prototype,{constructor:ty(Xv),toString:ty(\"\",function(){return this.__name__})});FY(Xv.prototype,{toString:ty(function(){return\"Symbol (\"+DY(this).__description__+\")\"}),valueOf:ty(function(){return DY(this)})});yz(Xv.prototype,Xv.toPrimitive,ty(\"\",function(){var e=DY(this);return typeof e==\"symbol\"?e:e.toString()}));yz(Xv.prototype,Xv.toStringTag,ty(\"c\",\"Symbol\"));yz(p5.prototype,Xv.toStringTag,ty(\"c\",Xv.prototype[Xv.toStringTag]));yz(p5.prototype,Xv.toPrimitive,ty(\"c\",Xv.prototype[Xv.toPrimitive]))});var yx=ye((E1r,Z9e)=>{\"use strict\";Z9e.exports=P9e()()?kk().Symbol:X9e()});var K9e=ye((k1r,Y9e)=>{\"use strict\";var fBt=c1();Y9e.exports=function(){return fBt(this).length=0,this}});var g5=ye((C1r,J9e)=>{\"use strict\";J9e.exports=function(e){if(typeof e!=\"function\")throw new TypeError(e+\" is not a function\");return e}});var Q9e=ye((L1r,$9e)=>{\"use strict\";var hBt=cw(),dBt=vz(),vBt=Object.prototype.toString;$9e.exports=function(e){if(!hBt(e))return null;if(dBt(e)){var t=e.toString;if(typeof t!=\"function\"||t===vBt)return null}try{return\"\"+e}catch(r){return null}}});var tqe=ye((P1r,eqe)=>{\"use strict\";eqe.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var iqe=ye((I1r,rqe)=>{\"use strict\";var pBt=tqe(),gBt=/[\\n\\r\\u2028\\u2029]/g;rqe.exports=function(e){var t=pBt(e);return t===null?\"\":(t.length>100&&(t=t.slice(0,99)+\"\\u2026\"),t=t.replace(gBt,function(r){switch(r){case`\n", + "`:return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}}),t)}});var zY=ye((R1r,oqe)=>{\"use strict\";var nqe=cw(),mBt=vz(),yBt=Q9e(),_Bt=iqe(),aqe=function(e,t){return e.replace(\"%v\",_Bt(t))};oqe.exports=function(e,t,r){if(!mBt(r))throw new TypeError(aqe(t,e));if(!nqe(e)){if(\"default\"in r)return r.default;if(r.isOptional)return null}var n=yBt(r.errorMessage);throw nqe(n)||(n=t),new TypeError(aqe(n,e))}});var lqe=ye((D1r,sqe)=>{\"use strict\";var xBt=zY(),bBt=cw();sqe.exports=function(e){return bBt(e)?e:xBt(e,\"Cannot use %v\",arguments[1])}});var cqe=ye((F1r,uqe)=>{\"use strict\";var wBt=zY(),TBt=kY();uqe.exports=function(e){return TBt(e)?e:wBt(e,\"%v is not a plain function\",arguments[1])}});var hqe=ye((z1r,fqe)=>{\"use strict\";fqe.exports=function(){var e=Array.from,t,r;return typeof e!=\"function\"?!1:(t=[\"raz\",\"dwa\"],r=e(t),!!(r&&r!==t&&r[1]===\"dwa\"))}});var vqe=ye((q1r,dqe)=>{\"use strict\";var ABt=Object.prototype.toString,SBt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);dqe.exports=function(e){return typeof e==\"function\"&&SBt(ABt.call(e))}});var gqe=ye((O1r,pqe)=>{\"use strict\";pqe.exports=function(){var e=Math.sign;return typeof e!=\"function\"?!1:e(10)===1&&e(-20)===-1}});var yqe=ye((B1r,mqe)=>{\"use strict\";mqe.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var xqe=ye((N1r,_qe)=>{\"use strict\";_qe.exports=gqe()()?Math.sign:yqe()});var wqe=ye((U1r,bqe)=>{\"use strict\";var MBt=xqe(),EBt=Math.abs,kBt=Math.floor;bqe.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:MBt(e)*kBt(EBt(e)))}});var Aqe=ye((V1r,Tqe)=>{\"use strict\";var CBt=wqe(),LBt=Math.max;Tqe.exports=function(e){return LBt(0,CBt(e))}});var kqe=ye((G1r,Eqe)=>{\"use strict\";var PBt=yx().iterator,IBt=Mk(),RBt=vqe(),DBt=Aqe(),Sqe=g5(),FBt=c1(),zBt=mx(),qBt=Ek(),Mqe=Array.isArray,qY=Function.prototype.call,fw={configurable:!0,enumerable:!0,writable:!0,value:null},OY=Object.defineProperty;Eqe.exports=function(e){var t=arguments[1],r=arguments[2],n,i,a,o,s,l,u,c,f,h;if(e=Object(FBt(e)),zBt(t)&&Sqe(t),!this||this===Array||!RBt(this)){if(!t){if(IBt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(Mqe(e)){for(o=new Array(s=e.length),i=0;i=55296&&l<=56319&&(h+=e[++i])),h=t?qY.call(t,r,h,a):h,n?(fw.value=h,OY(o,a,fw)):o[a]=h,++a;s=a}}if(s===void 0)for(s=DBt(e.length),n&&(o=new n(s)),i=0;i{\"use strict\";Cqe.exports=hqe()()?Array.from:kqe()});var Iqe=ye((j1r,Pqe)=>{\"use strict\";var OBt=Lqe(),BBt=pz(),NBt=c1();Pqe.exports=function(e){var t=Object(NBt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var i={};return r?OBt(r,function(a){(n.ensure||a in e)&&(i[a]=e[a])}):BBt(i,e),i}});var Fqe=ye((W1r,Dqe)=>{\"use strict\";var UBt=g5(),VBt=c1(),GBt=Function.prototype.bind,Rqe=Function.prototype.call,HBt=Object.keys,jBt=Object.prototype.propertyIsEnumerable;Dqe.exports=function(e,t){return function(r,n){var i,a=arguments[2],o=arguments[3];return r=Object(VBt(r)),UBt(n),i=HBt(r),o&&i.sort(typeof o==\"function\"?GBt.call(o,r):void 0),typeof e!=\"function\"&&(e=i[e]),Rqe.call(e,i,function(s,l){return jBt.call(r,s)?Rqe.call(n,a,r[s],s,r,l):t})}}});var qqe=ye((X1r,zqe)=>{\"use strict\";zqe.exports=Fqe()(\"forEach\")});var Bqe=ye((Z1r,Oqe)=>{\"use strict\";var WBt=g5(),XBt=qqe(),ZBt=Function.prototype.call;Oqe.exports=function(e,t){var r={},n=arguments[2];return WBt(t),XBt(e,function(i,a,o,s){r[a]=ZBt.call(t,n,i,a,o,s)}),r}});var Gqe=ye((Y1r,Vqe)=>{\"use strict\";var YBt=cw(),KBt=lqe(),Nqe=cqe(),JBt=Iqe(),$Bt=CY(),QBt=Bqe(),eNt=Function.prototype.bind,tNt=Object.defineProperty,rNt=Object.prototype.hasOwnProperty,Uqe;Uqe=function(e,t,r){var n=KBt(t)&&Nqe(t.value),i;return i=JBt(t),delete i.writable,delete i.value,i.get=function(){return!r.overwriteDefinition&&rNt.call(this,e)?n:(t.value=eNt.call(n,r.resolveContext?r.resolveContext(this):this),tNt(this,e,t),this[e])},i};Vqe.exports=function(e){var t=$Bt(arguments[1]);return YBt(t.resolveContext)&&Nqe(t.resolveContext),QBt(e,function(r,n){return Uqe(n,r,t)})}});var BY=ye((K1r,Xqe)=>{\"use strict\";var iNt=K9e(),nNt=pz(),aNt=g5(),oNt=c1(),Op=f1(),sNt=Gqe(),Hqe=yx(),jqe=Object.defineProperty,Wqe=Object.defineProperties,Lk;Xqe.exports=Lk=function(e,t){if(!(this instanceof Lk))throw new TypeError(\"Constructor requires 'new'\");Wqe(this,{__list__:Op(\"w\",oNt(e)),__context__:Op(\"w\",t),__nextIndex__:Op(\"w\",0)}),t&&(aNt(t.on),t.on(\"_add\",this._onAdd),t.on(\"_delete\",this._onDelete),t.on(\"_clear\",this._onClear))};delete Lk.prototype.constructor;Wqe(Lk.prototype,nNt({_next:Op(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){jqe(this,\"__redo__\",Op(\"c\",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:Op(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:Op(function(){this.__redo__&&iNt.call(this.__redo__),this.__nextIndex__=0})})));jqe(Lk.prototype,Hqe.iterator,Op(function(){return this}))});var $qe=ye((J1r,Jqe)=>{\"use strict\";var Zqe=dz(),Yqe=PY(),NY=f1(),lNt=yx(),UY=BY(),Kqe=Object.defineProperty,m5;m5=Jqe.exports=function(e,t){if(!(this instanceof m5))throw new TypeError(\"Constructor requires 'new'\");UY.call(this,e),t?Yqe.call(t,\"key+value\")?t=\"key+value\":Yqe.call(t,\"key\")?t=\"key\":t=\"value\":t=\"value\",Kqe(this,\"__kind__\",NY(\"\",t))};Zqe&&Zqe(m5,UY);delete m5.prototype.constructor;m5.prototype=Object.create(UY.prototype,{_resolve:NY(function(e){return this.__kind__===\"value\"?this.__list__[e]:this.__kind__===\"key+value\"?[e,this.__list__[e]]:e})});Kqe(m5.prototype,lNt.toStringTag,NY(\"c\",\"Array Iterator\"))});var rOe=ye(($1r,tOe)=>{\"use strict\";var Qqe=dz(),_z=f1(),uNt=yx(),VY=BY(),eOe=Object.defineProperty,y5;y5=tOe.exports=function(e){if(!(this instanceof y5))throw new TypeError(\"Constructor requires 'new'\");e=String(e),VY.call(this,e),eOe(this,\"__length__\",_z(\"\",e.length))};Qqe&&Qqe(y5,VY);delete y5.prototype.constructor;y5.prototype=Object.create(VY.prototype,{_next:_z(function(){if(this.__list__){if(this.__nextIndex__=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});eOe(y5.prototype,uNt.toStringTag,_z(\"c\",\"String Iterator\"))});var nOe=ye((Q1r,iOe)=>{\"use strict\";var cNt=Mk(),fNt=mx(),hNt=Ek(),dNt=yx().iterator,vNt=Array.isArray;iOe.exports=function(e){return fNt(e)?vNt(e)||hNt(e)||cNt(e)?!0:typeof e[dNt]==\"function\":!1}});var oOe=ye((e_r,aOe)=>{\"use strict\";var pNt=nOe();aOe.exports=function(e){if(!pNt(e))throw new TypeError(e+\" is not iterable\");return e}});var GY=ye((t_r,uOe)=>{\"use strict\";var gNt=Mk(),mNt=Ek(),sOe=$qe(),yNt=rOe(),_Nt=oOe(),lOe=yx().iterator;uOe.exports=function(e){return typeof _Nt(e)[lOe]==\"function\"?e[lOe]():gNt(e)?new sOe(e):mNt(e)?new yNt(e):new sOe(e)}});var fOe=ye((r_r,cOe)=>{\"use strict\";var xNt=Mk(),bNt=g5(),wNt=Ek(),TNt=GY(),ANt=Array.isArray,HY=Function.prototype.call,SNt=Array.prototype.some;cOe.exports=function(e,t){var r,n=arguments[2],i,a,o,s,l,u,c;if(ANt(e)||xNt(e)?r=\"array\":wNt(e)?r=\"string\":e=TNt(e),bNt(t),a=function(){o=!0},r===\"array\"){SNt.call(e,function(f){return HY.call(t,n,f,a),o});return}if(r===\"string\"){for(l=e.length,s=0;s=55296&&c<=56319&&(u+=e[++s])),HY.call(t,n,u,a),!o);++s);return}for(i=e.next();!i.done;){if(HY.call(t,n,i.value,a),o)return;i=e.next()}}});var dOe=ye((i_r,hOe)=>{\"use strict\";hOe.exports=function(){return typeof WeakMap!=\"function\"?!1:Object.prototype.toString.call(new WeakMap)===\"[object WeakMap]\"}()});var gOe=ye((n_r,pOe)=>{\"use strict\";var MNt=mx(),bz=dz(),xz=G7e(),ENt=c1(),kNt=j7e(),h1=f1(),CNt=GY(),LNt=fOe(),PNt=yx().toStringTag,vOe=dOe(),INt=Array.isArray,WY=Object.defineProperty,jY=Object.prototype.hasOwnProperty,RNt=Object.getPrototypeOf,_x;pOe.exports=_x=function(){var e=arguments[0],t;if(!(this instanceof _x))throw new TypeError(\"Constructor requires 'new'\");return t=vOe&&bz&&WeakMap!==_x?bz(new WeakMap,RNt(this)):this,MNt(e)&&(INt(e)||(e=CNt(e))),WY(t,\"__weakMapData__\",h1(\"c\",\"$weakMap$\"+kNt())),e&&LNt(e,function(r){ENt(r),t.set(r[0],r[1])}),t};vOe&&(bz&&bz(_x,WeakMap),_x.prototype=Object.create(WeakMap.prototype,{constructor:h1(_x)}));Object.defineProperties(_x.prototype,{delete:h1(function(e){return jY.call(xz(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:h1(function(e){if(jY.call(xz(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:h1(function(e){return jY.call(xz(e),this.__weakMapData__)}),set:h1(function(e,t){return WY(xz(e),this.__weakMapData__,h1(\"c\",t)),this}),toString:h1(function(){return\"[object WeakMap]\"})});WY(_x.prototype,PNt,h1(\"c\",\"WeakMap\"))});var XY=ye((a_r,mOe)=>{\"use strict\";mOe.exports=L7e()()?WeakMap:gOe()});var _Oe=ye((o_r,yOe)=>{\"use strict\";yOe.exports=function(e,t,r){if(typeof Array.prototype.findIndex==\"function\")return e.findIndex(t,r);if(typeof t!=\"function\")throw new TypeError(\"predicate must be a function\");var n=Object(e),i=n.length;if(i===0)return-1;for(var a=0;a{\"use strict\";var wz=ox(),DNt=iw(),YY=Nh(),FNt=ey(),zNt=nw(),xOe=M7e(),qNt=k7e(),{float32:ONt,fract32:ZY}=nz(),BNt=XY(),bOe=s5(),NNt=_Oe(),UNt=`\n", + "precision highp float;\n", + "\n", + "attribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\n", + "attribute vec4 color;\n", + "attribute float lineEnd, lineTop;\n", + "\n", + "uniform vec2 scale, scaleFract, translate, translateFract;\n", + "uniform float thickness, pixelRatio, id, depth;\n", + "uniform vec4 viewport;\n", + "\n", + "varying vec4 fragColor;\n", + "varying vec2 tangent;\n", + "\n", + "vec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n", + "\t// the order is important\n", + "\treturn position * scale + translate\n", + " + positionFract * scale + translateFract\n", + " + position * scaleFract\n", + " + positionFract * scaleFract;\n", + "}\n", + "\n", + "void main() {\n", + "\tfloat lineStart = 1. - lineEnd;\n", + "\tfloat lineOffset = lineTop * 2. - 1.;\n", + "\n", + "\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n", + "\ttangent = normalize(diff * scale * viewport.zw);\n", + "\tvec2 normal = vec2(-tangent.y, tangent.x);\n", + "\n", + "\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n", + "\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n", + "\n", + "\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n", + "\n", + "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", + "\n", + "\tfragColor = color / 255.;\n", + "}\n", + "`,VNt=`\n", + "precision highp float;\n", + "\n", + "uniform float dashLength, pixelRatio, thickness, opacity, id;\n", + "uniform sampler2D dashTexture;\n", + "\n", + "varying vec4 fragColor;\n", + "varying vec2 tangent;\n", + "\n", + "void main() {\n", + "\tfloat alpha = 1.;\n", + "\n", + "\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n", + "\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n", + "\n", + "\tgl_FragColor = fragColor;\n", + "\tgl_FragColor.a *= alpha * opacity * dash;\n", + "}\n", + "`,GNt=`\n", + "precision highp float;\n", + "\n", + "attribute vec2 position, positionFract;\n", + "\n", + "uniform vec4 color;\n", + "uniform vec2 scale, scaleFract, translate, translateFract;\n", + "uniform float pixelRatio, id;\n", + "uniform vec4 viewport;\n", + "uniform float opacity;\n", + "\n", + "varying vec4 fragColor;\n", + "\n", + "const float MAX_LINES = 256.;\n", + "\n", + "void 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", + "`,HNt=`\n", + "precision highp float;\n", + "varying vec4 fragColor;\n", + "\n", + "void main() {\n", + "\tgl_FragColor = fragColor;\n", + "}\n", + "`,jNt=`\n", + "precision highp float;\n", + "\n", + "attribute vec2 aCoord, bCoord, nextCoord, prevCoord;\n", + "attribute vec4 aColor, bColor;\n", + "attribute float lineEnd, lineTop;\n", + "\n", + "uniform vec2 scale, translate;\n", + "uniform float thickness, pixelRatio, id, depth;\n", + "uniform vec4 viewport;\n", + "uniform float miterLimit, miterMode;\n", + "\n", + "varying vec4 fragColor;\n", + "varying vec4 startCutoff, endCutoff;\n", + "varying vec2 tangent;\n", + "varying vec2 startCoord, endCoord;\n", + "varying float enableStartMiter, enableEndMiter;\n", + "\n", + "const float REVERSE_THRESHOLD = -.875;\n", + "const float MIN_DIFF = 1e-6;\n", + "\n", + "// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n", + "// TODO: precalculate dot products, normalize things beforehead etc.\n", + "// TODO: refactor to rectangular algorithm\n", + "\n", + "float 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", + "\n", + "bool isNaN( float val ){\n", + " return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n", + "}\n", + "\n", + "void main() {\n", + "\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n", + "\n", + " vec2 adjustedScale;\n", + " adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n", + " adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n", + "\n", + " vec2 scaleRatio = adjustedScale * viewport.zw;\n", + "\tvec2 normalWidth = thickness / scaleRatio;\n", + "\n", + "\tfloat lineStart = 1. - lineEnd;\n", + "\tfloat lineBot = 1. - lineTop;\n", + "\n", + "\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n", + "\n", + "\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n", + "\n", + "\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n", + "\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n", + "\n", + "\n", + "\tvec2 prevDiff = aCoord - prevCoord;\n", + "\tvec2 currDiff = bCoord - aCoord;\n", + "\tvec2 nextDiff = nextCoord - bCoord;\n", + "\n", + "\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n", + "\tvec2 currTangent = normalize(currDiff * scaleRatio);\n", + "\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n", + "\n", + "\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n", + "\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n", + "\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n", + "\n", + "\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n", + "\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n", + "\n", + "\t// collapsed/unidirectional segment cases\n", + "\t// FIXME: there should be more elegant solution\n", + "\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n", + "\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n", + "\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n", + "\t\tstartJoinDirection = currNormal;\n", + "\t}\n", + "\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n", + "\t\tendJoinDirection = currNormal;\n", + "\t}\n", + "\tif (aCoord == bCoord) {\n", + "\t\tendJoinDirection = startJoinDirection;\n", + "\t\tcurrNormal = prevNormal;\n", + "\t\tcurrTangent = prevTangent;\n", + "\t}\n", + "\n", + "\ttangent = currTangent;\n", + "\n", + "\t//calculate join shifts relative to normals\n", + "\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n", + "\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n", + "\n", + "\tfloat startMiterRatio = abs(1. / startJoinShift);\n", + "\tfloat endMiterRatio = abs(1. / endJoinShift);\n", + "\n", + "\tvec2 startJoin = startJoinDirection * startMiterRatio;\n", + "\tvec2 endJoin = endJoinDirection * endMiterRatio;\n", + "\n", + "\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n", + "\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n", + "\tstartBotJoin = -startTopJoin;\n", + "\n", + "\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n", + "\tendBotJoin = -endTopJoin;\n", + "\n", + "\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n", + "\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n", + "\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n", + "\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n", + "\n", + "\t//miter anti-clipping\n", + "\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n", + "\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n", + "\n", + "\t//prevent close to reverse direction switch\n", + "\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n", + "\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n", + "\n", + "\tif (prevReverse) {\n", + "\t\t//make join rectangular\n", + "\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n", + "\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n", + "\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", + "\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", + "\t}\n", + "\telse if (!nextReverse && baClipping > 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", + "`,WNt=`\n", + "precision highp float;\n", + "\n", + "uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\n", + "uniform sampler2D dashTexture;\n", + "\n", + "varying vec4 fragColor;\n", + "varying vec2 tangent;\n", + "varying vec4 startCutoff, endCutoff;\n", + "varying vec2 startCoord, endCoord;\n", + "varying float enableStartMiter, enableEndMiter;\n", + "\n", + "float 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", + "\n", + "void main() {\n", + "\tfloat alpha = 1., distToStart, distToEnd;\n", + "\tfloat cutoff = thickness * .5;\n", + "\n", + "\t//bevel miter\n", + "\tif (miterMode == 1.) {\n", + "\t\tif (enableStartMiter == 1.) {\n", + "\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n", + "\t\t\tif (distToStart < -1.) {\n", + "\t\t\t\tdiscard;\n", + "\t\t\t\treturn;\n", + "\t\t\t}\n", + "\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n", + "\t\t}\n", + "\n", + "\t\tif (enableEndMiter == 1.) {\n", + "\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n", + "\t\t\tif (distToEnd < -1.) {\n", + "\t\t\t\tdiscard;\n", + "\t\t\t\treturn;\n", + "\t\t\t}\n", + "\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n", + "\t\t}\n", + "\t}\n", + "\n", + "\t// round miter\n", + "\telse if (miterMode == 2.) {\n", + "\t\tif (enableStartMiter == 1.) {\n", + "\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n", + "\t\t\tif (distToStart < 0.) {\n", + "\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n", + "\n", + "\t\t\t\tif(radius > cutoff + .5) {\n", + "\t\t\t\t\tdiscard;\n", + "\t\t\t\t\treturn;\n", + "\t\t\t\t}\n", + "\n", + "\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n", + "\t\t\t}\n", + "\t\t}\n", + "\n", + "\t\tif (enableEndMiter == 1.) {\n", + "\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n", + "\t\t\tif (distToEnd < 0.) {\n", + "\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n", + "\n", + "\t\t\t\tif(radius > cutoff + .5) {\n", + "\t\t\t\t\tdiscard;\n", + "\t\t\t\t\treturn;\n", + "\t\t\t\t}\n", + "\n", + "\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n", + "\t\t\t}\n", + "\t\t}\n", + "\t}\n", + "\n", + "\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n", + "\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n", + "\n", + "\tgl_FragColor = fragColor;\n", + "\tgl_FragColor.a *= alpha * opacity * dash;\n", + "}\n", + "`;wOe.exports=Wc;function Wc(e,t){if(!(this instanceof Wc))return new Wc(e,t);if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=Wc.shaders.has(e)?Wc.shaders.get(e):Wc.shaders.set(e,Wc.createShaders(e)).get(e),this.update(t)}Wc.dashMult=2;Wc.maxPatternLength=256;Wc.precisionThreshold=3e6;Wc.maxPoints=1e4;Wc.maxLines=2048;Wc.shaders=new BNt;Wc.createShaders=function(e){let t=e.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),r={primitive:\"triangle strip\",instances:e.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join===\"round\"?2:1,miterLimit:e.prop(\"miterLimit\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),thickness:e.prop(\"thickness\"),dashTexture:e.prop(\"dashTexture\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),dashLength:e.prop(\"dashLength\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.prop(\"depth\")},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:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\")},n=e(YY({vert:UNt,frag:VNt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},r)),i;try{i=e(YY({cull:{enable:!0,face:\"back\"},vert:jNt,frag:WNt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},r))}catch(o){i=n}return{fill:e({primitive:\"triangle\",elements:(o,s)=>s.triangles,offset:0,vert:GNt,frag:HNt,uniforms:{scale:e.prop(\"scale\"),color:e.prop(\"fill\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:i}};Wc.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};Wc.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};Wc.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t==\"number\"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>Wc.precisionThreshold||t.scale[1]*t.viewport.height>Wc.precisionThreshold?this.shaders.rect(t):t.join===\"rect\"||!t.join&&(t.thickness<=2||t.count>=Wc.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};Wc.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]==\"number\"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((i,a)=>{let o=this.passes[a];if(i!==void 0){if(i===null){this.passes[a]=null;return}if(typeof i[0]==\"number\"&&(i={positions:i}),i=FNt(i,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color colour stroke colors colours stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\",splitNull:\"splitNull\"}),o||(this.passes[a]=o={id:a,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},i=YY({},Wc.defaults,i)),i.thickness!=null&&(o.thickness=parseFloat(i.thickness)),i.opacity!=null&&(o.opacity=parseFloat(i.opacity)),i.miterLimit!=null&&(o.miterLimit=parseFloat(i.miterLimit)),i.overlay!=null&&(o.overlay=!!i.overlay,aL-x),k=[],M=0,T=o.hole!=null?o.hole[0]:null;if(T!=null){let L=NNt(p,x=>x>=T);p=p.slice(0,L),p.push(T)}for(let L=0;Lg-T+(p[L]-M)),S=xOe(x,C);S=S.map(g=>g+M+(g+M{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var EOe=ye((l_r,MOe)=>{\"use strict\";var XNt=iw(),ZNt=ox(),YNt=mY(),KNt=ey(),TOe=Nh(),AOe=nw(),{float32:JNt,fract32:JY}=nz();MOe.exports=$Nt;var SOe=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]];function $Nt(e,t){if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");let r=e._gl,n,i,a,o,s,l,u={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),i=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),a=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),s=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),l=e.buffer({usage:\"static\",type:\"float\",data:SOe}),v(t),n=e({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:e.prop(\"range\"),lineWidth:e.prop(\"lineWidth\"),capSize:e.prop(\"capSize\"),opacity:e.prop(\"opacity\"),scale:e.prop(\"scale\"),translate:e.prop(\"translate\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),viewport:(b,p)=>[p.viewport.x,p.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,p)=>p.offset*4,divisor:1},position:{buffer:i,offset:(b,p)=>p.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,p)=>p.offset*8,divisor:1},error:{buffer:s,offset:(b,p)=>p.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,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:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:!1,instances:e.prop(\"count\"),count:SOe.length}),TOe(f,{update:v,draw:h,destroy:m,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?v(b):b===null&&m(),h()}function h(b){if(typeof b==\"number\")return d(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((p,k)=>{if(p){if(b&&(b[k]?p.draw=!0:p.draw=!1),!p.draw){p.draw=!0;return}d(k)}})}function d(b){typeof b==\"number\"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function v(b){if(!b)return;b.length!=null?typeof b[0]==\"number\"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let p=0,k=0;if(f.groups=c=b.map((L,x)=>{let C=c[x];if(L)typeof L==\"function\"?L={after:L}:typeof L[0]==\"number\"&&(L={positions:L});else return C;return L=KNt(L,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),C||(c[x]=C={id:x,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=TOe({},u,L)),YNt(C,L,[{lineWidth:S=>+S*.5,capSize:S=>+S*.5,opacity:parseFloat,errors:S=>(S=AOe(S),k+=S.length,S),positions:(S,g)=>(S=AOe(S,\"float64\"),g.count=Math.floor(S.length/2),g.bounds=XNt(S,2),g.offset=p,p+=g.count,S)},{color:(S,g)=>{let P=g.count;if(S||(S=\"transparent\"),!Array.isArray(S)||typeof S[0]==\"number\"){let z=S;S=Array(P);for(let q=0;q{let E=g.bounds;return S||(S=E),g.scale=[1/(S[2]-S[0]),1/(S[3]-S[1])],g.translate=[-S[0],-S[1]],g.scaleFract=JY(g.scale),g.translateFract=JY(g.translate),S},viewport:S=>{let g;return Array.isArray(S)?g={x:S[0],y:S[1],width:S[2]-S[0],height:S[3]-S[1]}:S?(g={x:S.x||S.left||0,y:S.y||S.top||0},S.right?g.width=S.right-g.x:g.width=S.w||S.width||0,S.bottom?g.height=S.bottom-g.y:g.height=S.h||S.height||0):g={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},g}}]),C}),p||k){let L=c.reduce((g,P,E)=>g+(P?P.count:0),0),x=new Float64Array(L*2),C=new Uint8Array(L*4),S=new Float32Array(L*4);c.forEach((g,P)=>{if(!g)return;let{positions:E,count:z,offset:q,color:U,errors:G}=g;z&&(C.set(U,q*4),S.set(G,q*4),x.set(E,q*2))});var M=JNt(x);i(M);var T=JY(x,M);a(T),o(C),s(S)}}function m(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var LOe=ye((u_r,COe)=>{var kOe=/[\\'\\\"]/;COe.exports=function(t){return t?(kOe.test(t.charAt(0))&&(t=t.substr(1)),kOe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}});var $Y=ye((c_r,QNt)=>{QNt.exports=[\"inherit\",\"initial\",\"unset\"]});var QY=ye((f_r,eUt)=>{eUt.exports=[\"caption\",\"icon\",\"menu\",\"message-box\",\"small-caption\",\"status-bar\"]});var eK=ye((h_r,tUt)=>{tUt.exports=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]});var tK=ye((d_r,rUt)=>{rUt.exports=[\"normal\",\"italic\",\"oblique\"]});var rK=ye((v_r,iUt)=>{iUt.exports=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]});var DOe=ye((p_r,ROe)=>{\"use strict\";function POe(e,t){if(typeof e!=\"string\")return[e];var r=[e];typeof t==\"string\"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:[\"{}\",\"[]\",\"()\"],i=t.escape||\"___\",a=!!t.flat;n.forEach(function(l){var u=new RegExp([\"\\\\\",l[0],\"[^\\\\\",l[0],\"\\\\\",l[1],\"]*\\\\\",l[1]].join(\"\")),c=[];function f(h,d,v){var m=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(m),i+m+i}r.forEach(function(h,d){for(var v,m=0;h!=v;)if(v=h,h=h.replace(u,f),m++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[d]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(d){h=h.replace(new RegExp(\"(\\\\\"+i+d+\"\\\\\"+i+\")\",\"g\"),l[0]+\"$1\"+l[1])}),h})});var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);function s(l,u,c){for(var f=[],h,d=0;h=o.exec(l);){if(d++>1e4)throw Error(\"Circular references in parenthesis\");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function IOe(e,t){if(t&&t.flat){var r=t&&t.escape||\"___\",n=e[0],i;if(!n)return\"\";for(var a=new RegExp(\"\\\\\"+r+\"([0-9]+)\\\\\"+r),o=0;n!=i;){if(o++>1e4)throw Error(\"Circular references in \"+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,\"\")),u+c},\"\");function s(l,u){if(e[u]==null)throw Error(\"Reference \"+u+\"is undefined\");return e[u]}}function iK(e,t){return Array.isArray(e)?IOe(e,t):POe(e,t)}iK.parse=POe;iK.stringify=IOe;ROe.exports=iK});var qOe=ye((g_r,zOe)=>{\"use strict\";var FOe=DOe();zOe.exports=function(t,r,n){if(t==null)throw Error(\"First argument should be a string\");if(r==null)throw Error(\"Separator should be a string or a RegExp\");n?(typeof n==\"string\"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201C\\u201D\",\"\\xAB\\xBB\"]:(typeof n.ignore==\"string\"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=FOe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l{nUt.exports=[\"xx-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"larger\",\"smaller\"]});var nK=ye((y_r,BOe)=>{\"use strict\";var aUt=OOe();BOe.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||t.indexOf(\"/\")!==-1||aUt.indexOf(t)!==-1}}});var GOe=ye((__r,VOe)=>{\"use strict\";var oUt=LOe(),sUt=$Y(),lUt=QY(),uUt=eK(),cUt=tK(),fUt=rK(),aK=qOe(),hUt=nK().isSize;VOe.exports=UOe;var Pk=UOe.cache={};function UOe(e){if(typeof e!=\"string\")throw new Error(\"Font argument must be a string.\");if(Pk[e])return Pk[e];if(e===\"\")throw new Error(\"Cannot parse an empty string.\");if(lUt.indexOf(e)!==-1)return Pk[e]={system:e};for(var t={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},r=aK(e,/\\s+/),n;n=r.shift();){if(sUt.indexOf(n)!==-1)return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(function(a){t[a]=n}),Pk[e]=t;if(cUt.indexOf(n)!==-1){t.style=n;continue}if(n===\"normal\"||n===\"small-caps\"){t.variant=n;continue}if(fUt.indexOf(n)!==-1){t.stretch=n;continue}if(uUt.indexOf(n)!==-1){t.weight=n;continue}if(hUt(n)){var i=aK(n,\"/\");if(t.size=i[0],i[1]!=null?t.lineHeight=NOe(i[1]):r[0]===\"/\"&&(r.shift(),t.lineHeight=NOe(r.shift())),!r.length)throw new Error(\"Missing required font-family.\");return t.family=aK(r.join(\" \"),/\\s*,\\s*/).map(oUt),Pk[e]=t}throw new Error(\"Unknown or unsupported font token: \"+n)}throw new Error(\"Missing required font-size.\")}function NOe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var sK=ye((x_r,HOe)=>{\"use strict\";var dUt=ey(),vUt=nK().isSize,pUt=Rk($Y()),gUt=Rk(QY()),mUt=Rk(eK()),yUt=Rk(tK()),_Ut=Rk(rK()),xUt={normal:1,\"small-caps\":1},bUt={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},oK={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",size:\"1rem\",lineHeight:\"normal\",family:\"serif\"};HOe.exports=function(t){if(t=dUt(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"}),t.system)return t.system&&Ik(t.system,gUt),t.system;if(Ik(t.style,yUt),Ik(t.variant,xUt),Ik(t.weight,mUt),Ik(t.stretch,_Ut),t.size==null&&(t.size=oK.size),typeof t.size==\"number\"&&(t.size+=\"px\"),!vUt)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=oK.family),Array.isArray(t.family)&&(t.family.length||(t.family=[oK.family]),t.family=t.family.map(function(n){return bUt[n]?n:'\"'+n+'\"'}).join(\", \"));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight===\"normal\"||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(\" \")};function Ik(e,t){if(e&&!t[e]&&!pUt[e])throw Error(\"Unknown keyword `\"+e+\"`\");return e}function Rk(e){for(var t={},r=0;r{\"use strict\";jOe.exports={parse:GOe(),stringify:sK()}});var XOe=ye((lK,uK)=>{(function(e,t){typeof lK==\"object\"&&typeof uK!=\"undefined\"?uK.exports=t():e.createREGL=t()})(lK,function(){\"use strict\";var e=function(Me,bt){for(var Ot=Object.keys(bt),Lr=0;Lr1&&bt===Ot&&(bt==='\"'||bt===\"'\"))return['\"'+o(Me.substr(1,Me.length-2))+'\"'];var Lr=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(Me);if(Lr)return s(Me.substr(0,Lr.index)).concat(s(Lr[1])).concat(s(Me.substr(Lr.index+Lr[0].length)));var Vr=Me.split(\".\");if(Vr.length===1)return['\"'+o(Me)+'\"'];for(var Or=[],Nr=0;Nr65535)<<4,Me>>>=bt,Ot=(Me>255)<<3,Me>>>=Ot,bt|=Ot,Ot=(Me>15)<<2,Me>>>=Ot,bt|=Ot,Ot=(Me>3)<<1,Me>>>=Ot,bt|=Ot,bt|Me>>1}function N(){var Me=S(8,function(){return[]});function bt(Or){var Nr=Z(Or),vi=Me[j(Nr)>>2];return vi.length>0?vi.pop():new ArrayBuffer(Nr)}function Ot(Or){Me[j(Or.byteLength)>>2].push(Or)}function Lr(Or,Nr){var vi=null;switch(Or){case g:vi=new Int8Array(bt(Nr),0,Nr);break;case P:vi=new Uint8Array(bt(Nr),0,Nr);break;case E:vi=new Int16Array(bt(2*Nr),0,Nr);break;case z:vi=new Uint16Array(bt(2*Nr),0,Nr);break;case q:vi=new Int32Array(bt(4*Nr),0,Nr);break;case U:vi=new Uint32Array(bt(4*Nr),0,Nr);break;case G:vi=new Float32Array(bt(4*Nr),0,Nr);break;default:return null}return vi.length!==Nr?vi.subarray(0,Nr):vi}function Vr(Or){Ot(Or.buffer)}return{alloc:bt,free:Ot,allocType:Lr,freeType:Vr}}var H=N();H.zero=N();var re=3408,oe=3410,_e=3411,ke=3412,Ce=3413,ge=3414,ie=3415,Se=33901,Ee=33902,we=3379,De=3386,Le=34921,me=36347,Pe=36348,ce=35661,He=35660,lt=34930,mt=36349,Vt=34076,st=34024,ct=7936,Qt=7937,Ht=7938,nr=35724,tt=34047,je=36063,Ue=34852,Ae=3553,rt=34067,St=34069,Tt=33984,dt=6408,Et=5126,pt=5121,Xt=36160,or=36053,_r=36064,Er=16384,ei=function(Me,bt){var Ot=1;bt.ext_texture_filter_anisotropic&&(Ot=Me.getParameter(tt));var Lr=1,Vr=1;bt.webgl_draw_buffers&&(Lr=Me.getParameter(Ue),Vr=Me.getParameter(je));var Or=!!bt.oes_texture_float;if(Or){var Nr=Me.createTexture();Me.bindTexture(Ae,Nr),Me.texImage2D(Ae,0,dt,1,1,0,dt,Et,null);var vi=Me.createFramebuffer();if(Me.bindFramebuffer(Xt,vi),Me.framebufferTexture2D(Xt,_r,Ae,Nr,0),Me.bindTexture(Ae,null),Me.checkFramebufferStatus(Xt)!==or)Or=!1;else{Me.viewport(0,0,1,1),Me.clearColor(1,0,0,1),Me.clear(Er);var Ni=H.allocType(Et,4);Me.readPixels(0,0,1,1,dt,Et,Ni),Me.getError()?Or=!1:(Me.deleteFramebuffer(vi),Me.deleteTexture(Nr),Or=Ni[0]===1),H.freeType(Ni)}}var qi=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Si=!0;if(!qi){var Vn=Me.createTexture(),Qi=H.allocType(pt,36);Me.activeTexture(Tt),Me.bindTexture(rt,Vn),Me.texImage2D(St,0,dt,3,3,0,dt,pt,Qi),H.freeType(Qi),Me.bindTexture(rt,null),Me.deleteTexture(Vn),Si=!Me.getError()}return{colorBits:[Me.getParameter(oe),Me.getParameter(_e),Me.getParameter(ke),Me.getParameter(Ce)],depthBits:Me.getParameter(ge),stencilBits:Me.getParameter(ie),subpixelBits:Me.getParameter(re),extensions:Object.keys(bt).filter(function(ji){return!!bt[ji]}),maxAnisotropic:Ot,maxDrawbuffers:Lr,maxColorAttachments:Vr,pointSizeDims:Me.getParameter(Se),lineWidthDims:Me.getParameter(Ee),maxViewportDims:Me.getParameter(De),maxCombinedTextureUnits:Me.getParameter(ce),maxCubeMapSize:Me.getParameter(Vt),maxRenderbufferSize:Me.getParameter(st),maxTextureUnits:Me.getParameter(lt),maxTextureSize:Me.getParameter(we),maxAttributes:Me.getParameter(Le),maxVertexUniforms:Me.getParameter(me),maxVertexTextureUnits:Me.getParameter(He),maxVaryingVectors:Me.getParameter(Pe),maxFragmentUniforms:Me.getParameter(mt),glsl:Me.getParameter(nr),renderer:Me.getParameter(Qt),vendor:Me.getParameter(ct),version:Me.getParameter(Ht),readFloat:Or,npotTextureCube:Si}},qr=function(Me){return Me instanceof Uint8Array||Me instanceof Uint16Array||Me instanceof Uint32Array||Me instanceof Int8Array||Me instanceof Int16Array||Me instanceof Int32Array||Me instanceof Float32Array||Me instanceof Float64Array||Me instanceof Uint8ClampedArray};function jr(Me){return!!Me&&typeof Me==\"object\"&&Array.isArray(Me.shape)&&Array.isArray(Me.stride)&&typeof Me.offset==\"number\"&&Me.shape.length===Me.stride.length&&(Array.isArray(Me.data)||qr(Me.data))}var gt=function(Me){return Object.keys(Me).map(function(bt){return Me[bt]})},Ge={shape:Kt,flatten:At};function Je(Me,bt,Ot){for(var Lr=0;Lr0){var qn;if(Array.isArray(Zr[0])){Xi=Vi(Zr);for(var fi=1,si=1;si0){if(typeof fi[0]==\"number\"){var Ui=H.allocType(ui.dtype,fi.length);wr(Ui,fi),Xi(Ui,mn),H.freeType(Ui)}else if(Array.isArray(fi[0])||qr(fi[0])){Ji=Vi(fi);var Bi=Qn(fi,Ji,ui.dtype);Xi(Bi,mn),H.freeType(Bi)}}}else if(jr(fi)){Ji=fi.shape;var pn=fi.stride,Nn=0,aa=0,Ki=0,Cn=0;Ji.length===1?(Nn=Ji[0],aa=1,Ki=pn[0],Cn=0):Ji.length===2&&(Nn=Ji[0],aa=Ji[1],Ki=pn[0],Cn=pn[1]);var ia=Array.isArray(fi.data)?ui.dtype:ir(fi.data),sa=H.allocType(ia,Nn*aa);Xr(sa,fi.data,Nn,aa,Ki,Cn,fi.offset),Xi(sa,mn),H.freeType(sa)}return nn}return yi||nn(Tr),nn._reglType=\"buffer\",nn._buffer=ui,nn.subdata=qn,Ot.profile&&(nn.stats=ui.stats),nn.destroy=function(){Qi(ui)},nn}function oi(){gt(Or).forEach(function(Tr){Tr.buffer=Me.createBuffer(),Me.bindBuffer(Tr.type,Tr.buffer),Me.bufferData(Tr.type,Tr.persistentData||Tr.byteLength,Tr.usage)})}return Ot.profile&&(bt.getTotalBufferSize=function(){var Tr=0;return Object.keys(Or).forEach(function(Zr){Tr+=Or[Zr].stats.size}),Tr}),{create:ji,createStream:Ni,destroyStream:qi,clear:function(){gt(Or).forEach(Qi),vi.forEach(Qi)},getBuffer:function(Tr){return Tr&&Tr._buffer instanceof Nr?Tr._buffer:null},restore:oi,_initBuffer:Vn}}var $r=0,Ri=0,Zi=1,en=1,fn=4,yn=4,Mn={points:$r,point:Ri,lines:Zi,line:en,triangles:fn,triangle:yn,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},Ba=0,ua=1,ma=4,Wa=5120,Fa=5121,Xo=5122,da=5123,jn=5124,Ha=5125,vo=34963,Gn=35040,Ct=35044;function Ar(Me,bt,Ot,Lr){var Vr={},Or=0,Nr={uint8:Fa,uint16:da};bt.oes_element_index_uint&&(Nr.uint32=Ha);function vi(oi){this.id=Or++,Vr[this.id]=this,this.buffer=oi,this.primType=ma,this.vertCount=0,this.type=0}vi.prototype.bind=function(){this.buffer.bind()};var Ni=[];function qi(oi){var Tr=Ni.pop();return Tr||(Tr=new vi(Ot.create(null,vo,!0,!1)._buffer)),Vn(Tr,oi,Gn,-1,-1,0,0),Tr}function Si(oi){Ni.push(oi)}function Vn(oi,Tr,Zr,yi,Ii,ui,nn){oi.buffer.bind();var Xi;if(Tr){var qn=nn;!nn&&(!qr(Tr)||jr(Tr)&&!qr(Tr.data))&&(qn=bt.oes_element_index_uint?Ha:da),Ot._initBuffer(oi.buffer,Tr,Zr,qn,3)}else Me.bufferData(vo,ui,Zr),oi.buffer.dtype=Xi||Fa,oi.buffer.usage=Zr,oi.buffer.dimension=3,oi.buffer.byteLength=ui;if(Xi=nn,!nn){switch(oi.buffer.dtype){case Fa:case Wa:Xi=Fa;break;case da:case Xo:Xi=da;break;case Ha:case jn:Xi=Ha;break;default:}oi.buffer.dtype=Xi}oi.type=Xi;var fi=Ii;fi<0&&(fi=oi.buffer.byteLength,Xi===da?fi>>=1:Xi===Ha&&(fi>>=2)),oi.vertCount=fi;var si=yi;if(yi<0){si=ma;var mn=oi.buffer.dimension;mn===1&&(si=Ba),mn===2&&(si=ua),mn===3&&(si=ma)}oi.primType=si}function Qi(oi){Lr.elementsCount--,delete Vr[oi.id],oi.buffer.destroy(),oi.buffer=null}function ji(oi,Tr){var Zr=Ot.create(null,vo,!0),yi=new vi(Zr._buffer);Lr.elementsCount++;function Ii(ui){if(!ui)Zr(),yi.primType=ma,yi.vertCount=0,yi.type=Fa;else if(typeof ui==\"number\")Zr(ui),yi.primType=ma,yi.vertCount=ui|0,yi.type=Fa;else{var nn=null,Xi=Ct,qn=-1,fi=-1,si=0,mn=0;Array.isArray(ui)||qr(ui)||jr(ui)?nn=ui:(\"data\"in ui&&(nn=ui.data),\"usage\"in ui&&(Xi=Hn[ui.usage]),\"primitive\"in ui&&(qn=Mn[ui.primitive]),\"count\"in ui&&(fi=ui.count|0),\"type\"in ui&&(mn=Nr[ui.type]),\"length\"in ui?si=ui.length|0:(si=fi,mn===da||mn===Xo?si*=2:(mn===Ha||mn===jn)&&(si*=4))),Vn(yi,nn,Xi,qn,fi,si,mn)}return Ii}return Ii(oi),Ii._reglType=\"elements\",Ii._elements=yi,Ii.subdata=function(ui,nn){return Zr.subdata(ui,nn),Ii},Ii.destroy=function(){Qi(yi)},Ii}return{create:ji,createStream:qi,destroyStream:Si,getElements:function(oi){return typeof oi==\"function\"&&oi._elements instanceof vi?oi._elements:null},clear:function(){gt(Vr).forEach(Qi)}}}var Jr=new Float32Array(1),hi=new Uint32Array(Jr.buffer),hn=5123;function Sn(Me){for(var bt=H.allocType(hn,Me.length),Ot=0;Ot>>31<<15,Or=(Lr<<1>>>24)-127,Nr=Lr>>13&1023;if(Or<-24)bt[Ot]=Vr;else if(Or<-14){var vi=-14-Or;bt[Ot]=Vr+(Nr+1024>>vi)}else Or>15?bt[Ot]=Vr+31744:bt[Ot]=Vr+(Or+15<<10)+Nr}return bt}function En(Me){return Array.isArray(Me)||qr(Me)}var ki=34467,_n=3553,ya=34067,ea=34069,Ma=6408,_o=6406,No=6407,po=6409,Lo=6410,ko=32854,Ds=32855,Fs=36194,ll=32819,ul=32820,zl=33635,us=34042,il=6402,As=34041,cl=35904,Ks=35906,zs=36193,Io=33776,ls=33777,Yl=33778,Su=33779,nc=35986,bs=35987,Rn=34798,_a=35840,Vu=35841,ql=35842,xo=35843,Kl=36196,Ns=5121,Hl=5123,ac=5125,oa=5126,qo=10242,Oo=10243,Ol=10497,Pc=33071,Do=33648,rf=10240,Vf=10241,pl=9728,Zc=9729,Jl=9984,qs=9985,yu=9986,oc=9987,Cf=33170,sc=4352,jh=4353,Lf=4354,cs=34046,nf=3317,Gf=37440,$l=37441,fl=37443,lc=37444,Fu=33984,Es=[Jl,yu,qs,oc],Hs=[0,po,Lo,No,Ma],Go={};Go[po]=Go[_o]=Go[il]=1,Go[As]=Go[Lo]=2,Go[No]=Go[cl]=3,Go[Ma]=Go[Ks]=4;function ps(Me){return\"[object \"+Me+\"]\"}var uc=ps(\"HTMLCanvasElement\"),xl=ps(\"OffscreenCanvas\"),Gu=ps(\"CanvasRenderingContext2D\"),Os=ps(\"ImageBitmap\"),od=ps(\"HTMLImageElement\"),Po=ps(\"HTMLVideoElement\"),sd=Object.keys(er).concat([uc,xl,Gu,Os,od,Po]),Ko=[];Ko[Ns]=1,Ko[oa]=4,Ko[zs]=2,Ko[Hl]=2,Ko[ac]=4;var Pa=[];Pa[ko]=2,Pa[Ds]=2,Pa[Fs]=2,Pa[As]=4,Pa[Io]=.5,Pa[ls]=.5,Pa[Yl]=1,Pa[Su]=1,Pa[nc]=.5,Pa[bs]=1,Pa[Rn]=1,Pa[_a]=.5,Pa[Vu]=.25,Pa[ql]=.5,Pa[xo]=.25,Pa[Kl]=.5;function af(Me){return Array.isArray(Me)&&(Me.length===0||typeof Me[0]==\"number\")}function Hu(Me){if(!Array.isArray(Me))return!1;var bt=Me.length;return!(bt===0||!En(Me[0]))}function bl(Me){return Object.prototype.toString.call(Me)}function Hf(Me){return bl(Me)===uc}function Ic(Me){return bl(Me)===xl}function yf(Me){return bl(Me)===Gu}function Bl(Me){return bl(Me)===Os}function Ah(Me){return bl(Me)===od}function Qf(Me){return bl(Me)===Po}function _f(Me){if(!Me)return!1;var bt=bl(Me);return sd.indexOf(bt)>=0?!0:af(Me)||Hu(Me)||jr(Me)}function Yc(Me){return er[Object.prototype.toString.call(Me)]|0}function eh(Me,bt){var Ot=bt.length;switch(Me.type){case Ns:case Hl:case ac:case oa:var Lr=H.allocType(Me.type,Ot);Lr.set(bt),Me.data=Lr;break;case zs:Me.data=Sn(bt);break;default:}}function th(Me,bt){return H.allocType(Me.type===zs?oa:Me.type,bt)}function ju(Me,bt){Me.type===zs?(Me.data=Sn(bt),H.freeType(bt)):Me.data=bt}function jf(Me,bt,Ot,Lr,Vr,Or){for(var Nr=Me.width,vi=Me.height,Ni=Me.channels,qi=Nr*vi*Ni,Si=th(Me,qi),Vn=0,Qi=0;Qi=1;)vi+=Nr*Ni*Ni,Ni/=2;return vi}else return Nr*Ot*Lr}function of(Me,bt,Ot,Lr,Vr,Or,Nr){var vi={\"don't care\":sc,\"dont care\":sc,nice:Lf,fast:jh},Ni={repeat:Ol,clamp:Pc,mirror:Do},qi={nearest:pl,linear:Zc},Si=e({mipmap:oc,\"nearest mipmap nearest\":Jl,\"linear mipmap nearest\":qs,\"nearest mipmap linear\":yu,\"linear mipmap linear\":oc},qi),Vn={none:0,browser:lc},Qi={uint8:Ns,rgba4:ll,rgb565:zl,\"rgb5 a1\":ul},ji={alpha:_o,luminance:po,\"luminance alpha\":Lo,rgb:No,rgba:Ma,rgba4:ko,\"rgb5 a1\":Ds,rgb565:Fs},oi={};bt.ext_srgb&&(ji.srgb=cl,ji.srgba=Ks),bt.oes_texture_float&&(Qi.float32=Qi.float=oa),bt.oes_texture_half_float&&(Qi.float16=Qi[\"half float\"]=zs),bt.webgl_depth_texture&&(e(ji,{depth:il,\"depth stencil\":As}),e(Qi,{uint16:Hl,uint32:ac,\"depth stencil\":us})),bt.webgl_compressed_texture_s3tc&&e(oi,{\"rgb s3tc dxt1\":Io,\"rgba s3tc dxt1\":ls,\"rgba s3tc dxt3\":Yl,\"rgba s3tc dxt5\":Su}),bt.webgl_compressed_texture_atc&&e(oi,{\"rgb atc\":nc,\"rgba atc explicit alpha\":bs,\"rgba atc interpolated alpha\":Rn}),bt.webgl_compressed_texture_pvrtc&&e(oi,{\"rgb pvrtc 4bppv1\":_a,\"rgb pvrtc 2bppv1\":Vu,\"rgba pvrtc 4bppv1\":ql,\"rgba pvrtc 2bppv1\":xo}),bt.webgl_compressed_texture_etc1&&(oi[\"rgb etc1\"]=Kl);var Tr=Array.prototype.slice.call(Me.getParameter(ki));Object.keys(oi).forEach(function(ne){var be=oi[ne];Tr.indexOf(be)>=0&&(ji[ne]=be)});var Zr=Object.keys(ji);Ot.textureFormats=Zr;var yi=[];Object.keys(ji).forEach(function(ne){var be=ji[ne];yi[be]=ne});var Ii=[];Object.keys(Qi).forEach(function(ne){var be=Qi[ne];Ii[be]=ne});var ui=[];Object.keys(qi).forEach(function(ne){var be=qi[ne];ui[be]=ne});var nn=[];Object.keys(Si).forEach(function(ne){var be=Si[ne];nn[be]=ne});var Xi=[];Object.keys(Ni).forEach(function(ne){var be=Ni[ne];Xi[be]=ne});var qn=Zr.reduce(function(ne,be){var Be=ji[be];return Be===po||Be===_o||Be===po||Be===Lo||Be===il||Be===As||bt.ext_srgb&&(Be===cl||Be===Ks)?ne[Be]=Be:Be===Ds||be.indexOf(\"rgba\")>=0?ne[Be]=Ma:ne[Be]=No,ne},{});function fi(){this.internalformat=Ma,this.format=Ma,this.type=Ns,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=lc,this.width=0,this.height=0,this.channels=0}function si(ne,be){ne.internalformat=be.internalformat,ne.format=be.format,ne.type=be.type,ne.compressed=be.compressed,ne.premultiplyAlpha=be.premultiplyAlpha,ne.flipY=be.flipY,ne.unpackAlignment=be.unpackAlignment,ne.colorSpace=be.colorSpace,ne.width=be.width,ne.height=be.height,ne.channels=be.channels}function mn(ne,be){if(!(typeof be!=\"object\"||!be)){if(\"premultiplyAlpha\"in be&&(ne.premultiplyAlpha=be.premultiplyAlpha),\"flipY\"in be&&(ne.flipY=be.flipY),\"alignment\"in be&&(ne.unpackAlignment=be.alignment),\"colorSpace\"in be&&(ne.colorSpace=Vn[be.colorSpace]),\"type\"in be){var Be=be.type;ne.type=Qi[Be]}var ht=ne.width,Yt=ne.height,cr=ne.channels,Nt=!1;\"shape\"in be?(ht=be.shape[0],Yt=be.shape[1],be.shape.length===3&&(cr=be.shape[2],Nt=!0)):(\"radius\"in be&&(ht=Yt=be.radius),\"width\"in be&&(ht=be.width),\"height\"in be&&(Yt=be.height),\"channels\"in be&&(cr=be.channels,Nt=!0)),ne.width=ht|0,ne.height=Yt|0,ne.channels=cr|0;var Ne=!1;if(\"format\"in be){var $e=be.format,ot=ne.internalformat=ji[$e];ne.format=qn[ot],$e in Qi&&(\"type\"in be||(ne.type=Qi[$e])),$e in oi&&(ne.compressed=!0),Ne=!0}!Nt&&Ne?ne.channels=Go[ne.format]:Nt&&!Ne&&ne.channels!==Hs[ne.format]&&(ne.format=ne.internalformat=Hs[ne.channels])}}function Ji(ne){Me.pixelStorei(Gf,ne.flipY),Me.pixelStorei($l,ne.premultiplyAlpha),Me.pixelStorei(fl,ne.colorSpace),Me.pixelStorei(nf,ne.unpackAlignment)}function Ui(){fi.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Bi(ne,be){var Be=null;if(_f(be)?Be=be:be&&(mn(ne,be),\"x\"in be&&(ne.xOffset=be.x|0),\"y\"in be&&(ne.yOffset=be.y|0),_f(be.data)&&(Be=be.data)),be.copy){var ht=Vr.viewportWidth,Yt=Vr.viewportHeight;ne.width=ne.width||ht-ne.xOffset,ne.height=ne.height||Yt-ne.yOffset,ne.needsCopy=!0}else if(!Be)ne.width=ne.width||1,ne.height=ne.height||1,ne.channels=ne.channels||4;else if(qr(Be))ne.channels=ne.channels||4,ne.data=Be,!(\"type\"in be)&&ne.type===Ns&&(ne.type=Yc(Be));else if(af(Be))ne.channels=ne.channels||4,eh(ne,Be),ne.alignment=1,ne.needsFree=!0;else if(jr(Be)){var cr=Be.data;!Array.isArray(cr)&&ne.type===Ns&&(ne.type=Yc(cr));var Nt=Be.shape,Ne=Be.stride,$e,ot,It,Bt,Ft,Ut;Nt.length===3?(It=Nt[2],Ut=Ne[2]):(It=1,Ut=1),$e=Nt[0],ot=Nt[1],Bt=Ne[0],Ft=Ne[1],ne.alignment=1,ne.width=$e,ne.height=ot,ne.channels=It,ne.format=ne.internalformat=Hs[It],ne.needsFree=!0,jf(ne,cr,Bt,Ft,Ut,Be.offset)}else if(Hf(Be)||Ic(Be)||yf(Be))Hf(Be)||Ic(Be)?ne.element=Be:ne.element=Be.canvas,ne.width=ne.element.width,ne.height=ne.element.height,ne.channels=4;else if(Bl(Be))ne.element=Be,ne.width=Be.width,ne.height=Be.height,ne.channels=4;else if(Ah(Be))ne.element=Be,ne.width=Be.naturalWidth,ne.height=Be.naturalHeight,ne.channels=4;else if(Qf(Be))ne.element=Be,ne.width=Be.videoWidth,ne.height=Be.videoHeight,ne.channels=4;else if(Hu(Be)){var zt=ne.width||Be[0].length,_t=ne.height||Be.length,Dt=ne.channels;En(Be[0][0])?Dt=Dt||Be[0][0].length:Dt=Dt||1;for(var vt=Ge.shape(Be),lr=1,yr=0;yr>=Yt,Be.height>>=Yt,Bi(Be,ht[Yt]),ne.mipmask|=1<=0&&!(\"faces\"in be)&&(ne.genMipmaps=!0)}if(\"mag\"in be){var ht=be.mag;ne.magFilter=qi[ht]}var Yt=ne.wrapS,cr=ne.wrapT;if(\"wrap\"in be){var Nt=be.wrap;typeof Nt==\"string\"?Yt=cr=Ni[Nt]:Array.isArray(Nt)&&(Yt=Ni[Nt[0]],cr=Ni[Nt[1]])}else{if(\"wrapS\"in be){var Ne=be.wrapS;Yt=Ni[Ne]}if(\"wrapT\"in be){var $e=be.wrapT;cr=Ni[$e]}}if(ne.wrapS=Yt,ne.wrapT=cr,\"anisotropic\"in be){var ot=be.anisotropic;ne.anisotropic=be.anisotropic}if(\"mipmap\"in be){var It=!1;switch(typeof be.mipmap){case\"string\":ne.mipmapHint=vi[be.mipmap],ne.genMipmaps=!0,It=!0;break;case\"boolean\":It=ne.genMipmaps=be.mipmap;break;case\"object\":ne.genMipmaps=!1,It=!0;break;default:}It&&!(\"min\"in be)&&(ne.minFilter=Jl)}}function al(ne,be){Me.texParameteri(be,Vf,ne.minFilter),Me.texParameteri(be,rf,ne.magFilter),Me.texParameteri(be,qo,ne.wrapS),Me.texParameteri(be,Oo,ne.wrapT),bt.ext_texture_filter_anisotropic&&Me.texParameteri(be,cs,ne.anisotropic),ne.genMipmaps&&(Me.hint(Cf,ne.mipmapHint),Me.generateMipmap(be))}var Vl=0,ss={},Vs=Ot.maxTextureUnits,Ys=Array(Vs).map(function(){return null});function wa(ne){fi.call(this),this.mipmask=0,this.internalformat=Ma,this.id=Vl++,this.refCount=1,this.target=ne,this.texture=Me.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new zo,Nr.profile&&(this.stats={size:0})}function ol(ne){Me.activeTexture(Fu),Me.bindTexture(ne.target,ne.texture)}function io(){var ne=Ys[0];ne?Me.bindTexture(ne.target,ne.texture):Me.bindTexture(_n,null)}function Y(ne){var be=ne.texture,Be=ne.unit,ht=ne.target;Be>=0&&(Me.activeTexture(Fu+Be),Me.bindTexture(ht,null),Ys[Be]=null),Me.deleteTexture(be),ne.texture=null,ne.params=null,ne.pixels=null,ne.refCount=0,delete ss[ne.id],Or.textureCount--}e(wa.prototype,{bind:function(){var ne=this;ne.bindCount+=1;var be=ne.unit;if(be<0){for(var Be=0;Be0)continue;ht.unit=-1}Ys[Be]=ne,be=Be;break}be>=Vs,Nr.profile&&Or.maxTextureUnits>Ft)-It,Ut.height=Ut.height||(Be.height>>Ft)-Bt,ol(Be),Nn(Ut,_n,It,Bt,Ft),io(),Cn(Ut),ht}function cr(Nt,Ne){var $e=Nt|0,ot=Ne|0||$e;if($e===Be.width&&ot===Be.height)return ht;ht.width=Be.width=$e,ht.height=Be.height=ot,ol(Be);for(var It=0;Be.mipmask>>It;++It){var Bt=$e>>It,Ft=ot>>It;if(!Bt||!Ft)break;Me.texImage2D(_n,It,Be.format,Bt,Ft,0,Be.format,Be.type,null)}return io(),Nr.profile&&(Be.stats.size=cc(Be.internalformat,Be.type,$e,ot,!1,!1)),ht}return ht(ne,be),ht.subimage=Yt,ht.resize=cr,ht._reglType=\"texture2d\",ht._texture=Be,Nr.profile&&(ht.stats=Be.stats),ht.destroy=function(){Be.decRef()},ht}function J(ne,be,Be,ht,Yt,cr){var Nt=new wa(ya);ss[Nt.id]=Nt,Or.cubeCount++;var Ne=new Array(6);function $e(Bt,Ft,Ut,zt,_t,Dt){var vt,lr=Nt.texInfo;for(zo.call(lr),vt=0;vt<6;++vt)Ne[vt]=Va();if(typeof Bt==\"number\"||!Bt){var yr=Bt|0||1;for(vt=0;vt<6;++vt)sa(Ne[vt],yr,yr)}else if(typeof Bt==\"object\")if(Ft)ba(Ne[0],Bt),ba(Ne[1],Ft),ba(Ne[2],Ut),ba(Ne[3],zt),ba(Ne[4],_t),ba(Ne[5],Dt);else if(Qs(lr,Bt),mn(Nt,Bt),\"faces\"in Bt){var Br=Bt.faces;for(vt=0;vt<6;++vt)si(Ne[vt],Nt),ba(Ne[vt],Br[vt])}else for(vt=0;vt<6;++vt)ba(Ne[vt],Bt);for(si(Nt,Ne[0]),lr.genMipmaps?Nt.mipmask=(Ne[0].width<<1)-1:Nt.mipmask=Ne[0].mipmask,Nt.internalformat=Ne[0].internalformat,$e.width=Ne[0].width,$e.height=Ne[0].height,ol(Nt),vt=0;vt<6;++vt)is(Ne[vt],ea+vt);for(al(lr,ya),io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,lr.genMipmaps,!0)),$e.format=yi[Nt.internalformat],$e.type=Ii[Nt.type],$e.mag=ui[lr.magFilter],$e.min=nn[lr.minFilter],$e.wrapS=Xi[lr.wrapS],$e.wrapT=Xi[lr.wrapT],vt=0;vt<6;++vt)Ml(Ne[vt]);return $e}function ot(Bt,Ft,Ut,zt,_t){var Dt=Ut|0,vt=zt|0,lr=_t|0,yr=Ki();return si(yr,Nt),yr.width=0,yr.height=0,Bi(yr,Ft),yr.width=yr.width||(Nt.width>>lr)-Dt,yr.height=yr.height||(Nt.height>>lr)-vt,ol(Nt),Nn(yr,ea+Bt,Dt,vt,lr),io(),Cn(yr),$e}function It(Bt){var Ft=Bt|0;if(Ft!==Nt.width){$e.width=Nt.width=Ft,$e.height=Nt.height=Ft,ol(Nt);for(var Ut=0;Ut<6;++Ut)for(var zt=0;Nt.mipmask>>zt;++zt)Me.texImage2D(ea+Ut,zt,Nt.format,Ft>>zt,Ft>>zt,0,Nt.format,Nt.type,null);return io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,!1,!0)),$e}}return $e(ne,be,Be,ht,Yt,cr),$e.subimage=ot,$e.resize=It,$e._reglType=\"textureCube\",$e._texture=Nt,Nr.profile&&($e.stats=Nt.stats),$e.destroy=function(){Nt.decRef()},$e}function O(){for(var ne=0;ne>ht,Be.height>>ht,0,Be.internalformat,Be.type,null);else for(var Yt=0;Yt<6;++Yt)Me.texImage2D(ea+Yt,ht,Be.internalformat,Be.width>>ht,Be.height>>ht,0,Be.internalformat,Be.type,null);al(Be.texInfo,Be.target)})}function de(){for(var ne=0;ne=0?Ml=!0:Ni.indexOf(zo)>=0&&(Ml=!1))),(\"depthTexture\"in wa||\"depthStencilTexture\"in wa)&&(Ys=!!(wa.depthTexture||wa.depthStencilTexture)),\"depth\"in wa&&(typeof wa.depth==\"boolean\"?is=wa.depth:(Vl=wa.depth,Zs=!1)),\"stencil\"in wa&&(typeof wa.stencil==\"boolean\"?Zs=wa.stencil:(ss=wa.stencil,is=!1)),\"depthStencil\"in wa&&(typeof wa.depthStencil==\"boolean\"?is=Zs=wa.depthStencil:(Vs=wa.depthStencil,is=!1,Zs=!1))}var io=null,Y=null,D=null,J=null;if(Array.isArray(Va))io=Va.map(oi);else if(Va)io=[oi(Va)];else for(io=new Array(al),ia=0;ia0&&(Cn.depth=Bi[0].depth,Cn.stencil=Bi[0].stencil,Cn.depthStencil=Bi[0].depthStencil),Bi[Ki]?Bi[Ki](Cn):Bi[Ki]=si(Cn)}return e(pn,{width:ia,height:ia,color:zo})}function Nn(aa){var Ki,Cn=aa|0;if(Cn===pn.width)return pn;var ia=pn.color;for(Ki=0;Ki=ia.byteLength?sa.subdata(ia):(sa.destroy(),si.buffers[aa]=null)),si.buffers[aa]||(sa=si.buffers[aa]=Vr.create(Ki,If,!1,!0)),Cn.buffer=Vr.getBuffer(sa),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1,pn[aa]=1}else Vr.getBuffer(Ki)?(Cn.buffer=Vr.getBuffer(Ki),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1):Vr.getBuffer(Ki.buffer)?(Cn.buffer=Vr.getBuffer(Ki.buffer),Cn.size=(+Ki.size||Cn.buffer.dimension)|0,Cn.normalized=!!Ki.normalized||!1,\"type\"in Ki?Cn.type=un[Ki.type]:Cn.type=Cn.buffer.dtype,Cn.offset=(Ki.offset||0)|0,Cn.stride=(Ki.stride||0)|0,Cn.divisor=(Ki.divisor||0)|0,Cn.state=1):\"x\"in Ki&&(Cn.x=+Ki.x||0,Cn.y=+Ki.y||0,Cn.z=+Ki.z||0,Cn.w=+Ki.w||0,Cn.state=2)}for(var ba=0;ba1)for(var Ji=0;JiTr&&(Tr=Zr.stats.uniformsCount)}),Tr},Ot.getMaxAttributesCount=function(){var Tr=0;return Si.forEach(function(Zr){Zr.stats.attributesCount>Tr&&(Tr=Zr.stats.attributesCount)}),Tr});function oi(){Vr={},Or={};for(var Tr=0;Tr16&&(Ot=Yi(Ot,Me.length*8));for(var Lr=Array(16),Vr=Array(16),Or=0;Or<16;Or++)Lr[Or]=Ot[Or]^909522486,Vr[Or]=Ot[Or]^1549556828;var Nr=Yi(Lr.concat(Bc(bt)),512+bt.length*8);return kt(Yi(Vr.concat(Nr),768))}function vu(Me){for(var bt=ah?\"0123456789ABCDEF\":\"0123456789abcdef\",Ot=\"\",Lr,Vr=0;Vr>>4&15)+bt.charAt(Lr&15);return Ot}function Oc(Me){for(var bt=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",Ot=\"\",Lr=Me.length,Vr=0;VrMe.length*8?Ot+=Zu:Ot+=bt.charAt(Or>>>6*(3-Nr)&63);return Ot}function cf(Me,bt){var Ot=bt.length,Lr=Array(),Vr,Or,Nr,vi,Ni=Array(Math.ceil(Me.length/2));for(Vr=0;Vr0;){for(vi=Array(),Nr=0,Vr=0;Vr0||Or>0)&&(vi[vi.length]=Or);Lr[Lr.length]=Nr,Ni=vi}var qi=\"\";for(Vr=Lr.length-1;Vr>=0;Vr--)qi+=bt.charAt(Lr[Vr]);var Si=Math.ceil(Me.length*8/(Math.log(bt.length)/Math.log(2)));for(Vr=qi.length;Vr>>6&31,128|Lr&63):Lr<=65535?bt+=String.fromCharCode(224|Lr>>>12&15,128|Lr>>>6&63,128|Lr&63):Lr<=2097151&&(bt+=String.fromCharCode(240|Lr>>>18&7,128|Lr>>>12&63,128|Lr>>>6&63,128|Lr&63));return bt}function Bc(Me){for(var bt=Array(Me.length>>2),Ot=0;Ot>5]|=(Me.charCodeAt(Ot/8)&255)<<24-Ot%32;return bt}function kt(Me){for(var bt=\"\",Ot=0;Ot>5]>>>24-Ot%32&255);return bt}function Zt(Me,bt){return Me>>>bt|Me<<32-bt}function Mr(Me,bt){return Me>>>bt}function xr(Me,bt,Ot){return Me&bt^~Me&Ot}function Kr(Me,bt,Ot){return Me&bt^Me&Ot^bt&Ot}function Mi(Me){return Zt(Me,2)^Zt(Me,13)^Zt(Me,22)}function Wi(Me){return Zt(Me,6)^Zt(Me,11)^Zt(Me,25)}function dn(Me){return Zt(Me,7)^Zt(Me,18)^Mr(Me,3)}function wn(Me){return Zt(Me,17)^Zt(Me,19)^Mr(Me,10)}var On=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Yi(Me,bt){var Ot=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Lr=new Array(64),Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr;for(Me[bt>>5]|=128<<24-bt%32,Me[(bt+64>>9<<4)+15]=bt,Qi=0;Qi>16)+(bt>>16)+(Ot>>16);return Lr<<16|Ot&65535}function an(Me){return Array.prototype.slice.call(Me)}function Fi(Me){return an(Me).join(\"\")}function ta(Me){var bt=Me&&Me.cache,Ot=0,Lr=[],Vr=[],Or=[];function Nr(oi,Tr){var Zr=Tr&&Tr.stable;if(!Zr){for(var yi=0;yi0&&(oi.push(Ii,\"=\"),oi.push.apply(oi,an(arguments)),oi.push(\";\")),Ii}return e(Tr,{def:yi,toString:function(){return Fi([Zr.length>0?\"var \"+Zr.join(\",\")+\";\":\"\",Fi(oi)])}})}function Ni(){var oi=vi(),Tr=vi(),Zr=oi.toString,yi=Tr.toString;function Ii(ui,nn){Tr(ui,nn,\"=\",oi.def(ui,nn),\";\")}return e(function(){oi.apply(oi,an(arguments))},{def:oi.def,entry:oi,exit:Tr,save:Ii,set:function(ui,nn,Xi){Ii(ui,nn),oi(ui,nn,\"=\",Xi,\";\")},toString:function(){return Zr()+yi()}})}function qi(){var oi=Fi(arguments),Tr=Ni(),Zr=Ni(),yi=Tr.toString,Ii=Zr.toString;return e(Tr,{then:function(){return Tr.apply(Tr,an(arguments)),this},else:function(){return Zr.apply(Zr,an(arguments)),this},toString:function(){var ui=Ii();return ui&&(ui=\"else{\"+ui+\"}\"),Fi([\"if(\",oi,\"){\",yi(),\"}\",ui])}})}var Si=vi(),Vn={};function Qi(oi,Tr){var Zr=[];function yi(){var qn=\"a\"+Zr.length;return Zr.push(qn),qn}Tr=Tr||0;for(var Ii=0;Ii\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},ii={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},di={cw:Te,ccw:Oe};function Li(Me){return Array.isArray(Me)||qr(Me)||jr(Me)}function Ti(Me){return Me.sort(function(bt,Ot){return bt===ee?-1:Ot===ee?1:bt=1,Lr>=2,bt)}else if(Ot===Zo){var Vr=Me.data;return new Qr(Vr.thisDep,Vr.contextDep,Vr.propDep,bt)}else{if(Ot===Ss)return new Qr(!1,!1,!1,bt);if(Ot===as){for(var Or=!1,Nr=!1,vi=!1,Ni=0;Ni=1&&(Nr=!0),Si>=2&&(vi=!0)}else qi.type===Zo&&(Or=Or||qi.data.thisDep,Nr=Nr||qi.data.contextDep,vi=vi||qi.data.propDep)}return new Qr(Or,Nr,vi,bt)}else return new Qr(Ot===bo,Ot===Ka,Ot===Dn,bt)}}var na=new Qr(!1,!1,!1,function(){});function Ea(Me,bt,Ot,Lr,Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr){var Zr=qi.Record,yi={add:32774,subtract:32778,\"reverse subtract\":32779};Ot.ext_blend_minmax&&(yi.min=Ve,yi.max=Ye);var Ii=Ot.angle_instanced_arrays,ui=Ot.webgl_draw_buffers,nn=Ot.oes_vertex_array_object,Xi={dirty:!0,profile:Tr.profile},qn={},fi=[],si={},mn={};function Ji(Ne){return Ne.replace(\".\",\"_\")}function Ui(Ne,$e,ot){var It=Ji(Ne);fi.push(Ne),qn[It]=Xi[It]=!!ot,si[It]=$e}function Bi(Ne,$e,ot){var It=Ji(Ne);fi.push(Ne),Array.isArray(ot)?(Xi[It]=ot.slice(),qn[It]=ot.slice()):Xi[It]=qn[It]=ot,mn[It]=$e}function pn(Ne){return!!isNaN(Ne)}Ui(ws,Ci),Ui(Ho,ri),Bi(ml,\"blendColor\",[0,0,0,0]),Bi(Ws,\"blendEquationSeparate\",[pr,pr]),Bi(Ls,\"blendFuncSeparate\",[dr,Wt,dr,Wt]),Ui(va,sn,!0),Bi(no,\"depthFunc\",Ur),Bi(ys,\"depthRange\",[0,1]),Bi(rs,\"depthMask\",!0),Bi(Ql,Ql,[!0,!0,!0,!0]),Ui(Cu,Hr),Bi(Yu,\"cullFace\",se),Bi(Nc,Nc,Oe),Bi(pu,pu,1),Ui(Uc,Yn),Bi(xu,\"polygonOffset\",[0,0]),Ui(Ac,Aa),Ui(Ua,fa),Bi(oo,\"sampleCoverage\",[1,!1]),Ui(Vc,cn),Bi(hc,\"stencilMask\",-1),Bi(Ku,\"stencilFunc\",[Pt,0,-1]),Bi(ue,\"stencilOpSeparate\",[X,at,at,at]),Bi(w,\"stencilOpSeparate\",[se,at,at,at]),Ui(B,Ln),Bi(Q,\"scissor\",[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]),Bi(ee,ee,[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]);var Nn={gl:Me,context:Qi,strings:bt,next:qn,current:Xi,draw:Vn,elements:Or,buffer:Vr,shader:Si,attributes:qi.state,vao:qi,uniforms:Ni,framebuffer:vi,extensions:Ot,timer:ji,isBufferArgs:Li},aa={primTypes:Mn,compareFuncs:Wr,blendFuncs:xi,blendEquations:yi,stencilOps:ii,glTypes:un,orientationType:di};ui&&(aa.backBuffer=[se],aa.drawBuffer=S(Lr.maxDrawbuffers,function(Ne){return Ne===0?[0]:S(Ne,function($e){return gi+$e})}));var Ki=0;function Cn(){var Ne=ta({cache:oi}),$e=Ne.link,ot=Ne.global;Ne.id=Ki++,Ne.batchId=\"0\";var It=$e(Nn),Bt=Ne.shared={props:\"a0\"};Object.keys(Nn).forEach(function(Dt){Bt[Dt]=ot.def(It,\".\",Dt)});var Ft=Ne.next={},Ut=Ne.current={};Object.keys(mn).forEach(function(Dt){Array.isArray(Xi[Dt])&&(Ft[Dt]=ot.def(Bt.next,\".\",Dt),Ut[Dt]=ot.def(Bt.current,\".\",Dt))});var zt=Ne.constants={};Object.keys(aa).forEach(function(Dt){zt[Dt]=ot.def(JSON.stringify(aa[Dt]))}),Ne.invoke=function(Dt,vt){switch(vt.type){case Zn:var lr=[\"this\",Bt.context,Bt.props,Ne.batchId];return Dt.def($e(vt.data),\".call(\",lr.slice(0,Math.max(vt.data.length+1,4)),\")\");case Dn:return Dt.def(Bt.props,vt.data);case Ka:return Dt.def(Bt.context,vt.data);case bo:return Dt.def(\"this\",vt.data);case Zo:return vt.data.append(Ne,Dt),vt.data.ref;case Ss:return vt.data.toString();case as:return vt.data.map(function(yr){return Ne.invoke(Dt,yr)})}},Ne.attribCache={};var _t={};return Ne.scopeAttrib=function(Dt){var vt=bt.id(Dt);if(vt in _t)return _t[vt];var lr=qi.scope[vt];lr||(lr=qi.scope[vt]=new Zr);var yr=_t[vt]=$e(lr);return yr},Ne}function ia(Ne){var $e=Ne.static,ot=Ne.dynamic,It;if(le in $e){var Bt=!!$e[le];It=kn(function(Ut,zt){return Bt}),It.enable=Bt}else if(le in ot){var Ft=ot[le];It=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}return It}function sa(Ne,$e){var ot=Ne.static,It=Ne.dynamic;if(ze in ot){var Bt=ot[ze];return Bt?(Bt=vi.getFramebuffer(Bt),kn(function(Ut,zt){var _t=Ut.link(Bt),Dt=Ut.shared;zt.set(Dt.framebuffer,\".next\",_t);var vt=Dt.context;return zt.set(vt,\".\"+qe,_t+\".width\"),zt.set(vt,\".\"+Qe,_t+\".height\"),_t})):kn(function(Ut,zt){var _t=Ut.shared;zt.set(_t.framebuffer,\".next\",\"null\");var Dt=_t.context;return zt.set(Dt,\".\"+qe,Dt+\".\"+jt),zt.set(Dt,\".\"+Qe,Dt+\".\"+ar),\"null\"})}else if(ze in It){var Ft=It[ze];return Bn(Ft,function(Ut,zt){var _t=Ut.invoke(zt,Ft),Dt=Ut.shared,vt=Dt.framebuffer,lr=zt.def(vt,\".getFramebuffer(\",_t,\")\");zt.set(vt,\".next\",lr);var yr=Dt.context;return zt.set(yr,\".\"+qe,lr+\"?\"+lr+\".width:\"+yr+\".\"+jt),zt.set(yr,\".\"+Qe,lr+\"?\"+lr+\".height:\"+yr+\".\"+ar),lr})}else return null}function ba(Ne,$e,ot){var It=Ne.static,Bt=Ne.dynamic;function Ft(_t){if(_t in It){var Dt=It[_t],vt=!0,lr=Dt.x|0,yr=Dt.y|0,Br,Di;return\"width\"in Dt?Br=Dt.width|0:vt=!1,\"height\"in Dt?Di=Dt.height|0:vt=!1,new Qr(!vt&&$e&&$e.thisDep,!vt&&$e&&$e.contextDep,!vt&&$e&&$e.propDep,function(gn,tn){var Ei=gn.shared.context,Oi=Br;\"width\"in Dt||(Oi=tn.def(Ei,\".\",qe,\"-\",lr));var Gi=Di;return\"height\"in Dt||(Gi=tn.def(Ei,\".\",Qe,\"-\",yr)),[lr,yr,Oi,Gi]})}else if(_t in Bt){var ci=Bt[_t],bi=Bn(ci,function(gn,tn){var Ei=gn.invoke(tn,ci),Oi=gn.shared.context,Gi=tn.def(Ei,\".x|0\"),on=tn.def(Ei,\".y|0\"),zn=tn.def('\"width\" in ',Ei,\"?\",Ei,\".width|0:\",\"(\",Oi,\".\",qe,\"-\",Gi,\")\"),Ja=tn.def('\"height\" in ',Ei,\"?\",Ei,\".height|0:\",\"(\",Oi,\".\",Qe,\"-\",on,\")\");return[Gi,on,zn,Ja]});return $e&&(bi.thisDep=bi.thisDep||$e.thisDep,bi.contextDep=bi.contextDep||$e.contextDep,bi.propDep=bi.propDep||$e.propDep),bi}else return $e?new Qr($e.thisDep,$e.contextDep,$e.propDep,function(gn,tn){var Ei=gn.shared.context;return[0,0,tn.def(Ei,\".\",qe),tn.def(Ei,\".\",Qe)]}):null}var Ut=Ft(ee);if(Ut){var zt=Ut;Ut=new Qr(Ut.thisDep,Ut.contextDep,Ut.propDep,function(_t,Dt){var vt=zt.append(_t,Dt),lr=_t.shared.context;return Dt.set(lr,\".\"+Xe,vt[2]),Dt.set(lr,\".\"+nt,vt[3]),vt})}return{viewport:Ut,scissor_box:Ft(Q)}}function is(Ne,$e){var ot=Ne.static,It=typeof ot[ut]==\"string\"&&typeof ot[Ze]==\"string\";if(It){if(Object.keys($e.dynamic).length>0)return null;var Bt=$e.static,Ft=Object.keys(Bt);if(Ft.length>0&&typeof Bt[Ft[0]]==\"number\"){for(var Ut=[],zt=0;zt\"+Gi+\"?\"+vt+\".constant[\"+Gi+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",Br,\"(\",vt,\".buffer)){\",gn,\"=\",Di,\".createStream(\",br,\",\",vt,\".buffer);\",\"}else{\",gn,\"=\",Di,\".getBuffer(\",vt,\".buffer);\",\"}\",tn,'=\"type\" in ',vt,\"?\",yr.glTypes,\"[\",vt,\".type]:\",gn,\".dtype;\",ci.normalized,\"=!!\",vt,\".normalized;\");function Ei(Oi){Dt(ci[Oi],\"=\",vt,\".\",Oi,\"|0;\")}return Ei(\"size\"),Ei(\"offset\"),Ei(\"stride\"),Ei(\"divisor\"),Dt(\"}}\"),Dt.exit(\"if(\",ci.isStream,\"){\",Di,\".destroyStream(\",gn,\");\",\"}\"),ci}Bt[Ft]=Bn(Ut,zt)}),Bt}function al(Ne){var $e=Ne.static,ot=Ne.dynamic,It={};return Object.keys($e).forEach(function(Bt){var Ft=$e[Bt];It[Bt]=kn(function(Ut,zt){return typeof Ft==\"number\"||typeof Ft==\"boolean\"?\"\"+Ft:Ut.link(Ft)})}),Object.keys(ot).forEach(function(Bt){var Ft=ot[Bt];It[Bt]=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}),It}function Vl(Ne,$e,ot,It,Bt){var Ft=Ne.static,Ut=Ne.dynamic,zt=is(Ne,$e),_t=sa(Ne,Bt),Dt=ba(Ne,_t,Bt),vt=Va(Ne,Bt),lr=Ml(Ne,Bt),yr=Zs(Ne,Bt,zt);function Br(Ei){var Oi=Dt[Ei];Oi&&(lr[Ei]=Oi)}Br(ee),Br(Ji(Q));var Di=Object.keys(lr).length>0,ci={framebuffer:_t,draw:vt,shader:yr,state:lr,dirty:Di,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(ci.profile=ia(Ne,Bt),ci.uniforms=zo(ot,Bt),ci.drawVAO=ci.scopeVAO=vt.vao,!ci.drawVAO&&yr.program&&!zt&&Ot.angle_instanced_arrays&&vt.static.elements){var bi=!0,gn=yr.program.attributes.map(function(Ei){var Oi=$e.static[Ei];return bi=bi&&!!Oi,Oi});if(bi&&gn.length>0){var tn=qi.getVAO(qi.createVAO({attributes:gn,elements:vt.static.elements}));ci.drawVAO=new Qr(null,null,null,function(Ei,Oi){return Ei.link(tn)}),ci.useVAO=!0}}return zt?ci.useVAO=!0:ci.attributes=Qs($e,Bt),ci.context=al(It,Bt),ci}function ss(Ne,$e,ot){var It=Ne.shared,Bt=It.context,Ft=Ne.scope();Object.keys(ot).forEach(function(Ut){$e.save(Bt,\".\"+Ut);var zt=ot[Ut],_t=zt.append(Ne,$e);Array.isArray(_t)?Ft(Bt,\".\",Ut,\"=[\",_t.join(),\"];\"):Ft(Bt,\".\",Ut,\"=\",_t,\";\")}),$e(Ft)}function Vs(Ne,$e,ot,It){var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.framebuffer,zt;ui&&(zt=$e.def(Bt.extensions,\".webgl_draw_buffers\"));var _t=Ne.constants,Dt=_t.drawBuffer,vt=_t.backBuffer,lr;ot?lr=ot.append(Ne,$e):lr=$e.def(Ut,\".next\"),It||$e(\"if(\",lr,\"!==\",Ut,\".cur){\"),$e(\"if(\",lr,\"){\",Ft,\".bindFramebuffer(\",zr,\",\",lr,\".framebuffer);\"),ui&&$e(zt,\".drawBuffersWEBGL(\",Dt,\"[\",lr,\".colorAttachments.length]);\"),$e(\"}else{\",Ft,\".bindFramebuffer(\",zr,\",null);\"),ui&&$e(zt,\".drawBuffersWEBGL(\",vt,\");\"),$e(\"}\",Ut,\".cur=\",lr,\";\"),It||$e(\"}\")}function Ys(Ne,$e,ot){var It=Ne.shared,Bt=It.gl,Ft=Ne.current,Ut=Ne.next,zt=It.current,_t=It.next,Dt=Ne.cond(zt,\".dirty\");fi.forEach(function(vt){var lr=Ji(vt);if(!(lr in ot.state)){var yr,Br;if(lr in Ut){yr=Ut[lr],Br=Ft[lr];var Di=S(Xi[lr].length,function(bi){return Dt.def(yr,\"[\",bi,\"]\")});Dt(Ne.cond(Di.map(function(bi,gn){return bi+\"!==\"+Br+\"[\"+gn+\"]\"}).join(\"||\")).then(Bt,\".\",mn[lr],\"(\",Di,\");\",Di.map(function(bi,gn){return Br+\"[\"+gn+\"]=\"+bi}).join(\";\"),\";\"))}else{yr=Dt.def(_t,\".\",lr);var ci=Ne.cond(yr,\"!==\",zt,\".\",lr);Dt(ci),lr in si?ci(Ne.cond(yr).then(Bt,\".enable(\",si[lr],\");\").else(Bt,\".disable(\",si[lr],\");\"),zt,\".\",lr,\"=\",yr,\";\"):ci(Bt,\".\",mn[lr],\"(\",yr,\");\",zt,\".\",lr,\"=\",yr,\";\")}}}),Object.keys(ot.state).length===0&&Dt(zt,\".dirty=false;\"),$e(Dt)}function wa(Ne,$e,ot,It){var Bt=Ne.shared,Ft=Ne.current,Ut=Bt.current,zt=Bt.gl,_t;Ti(Object.keys(ot)).forEach(function(Dt){var vt=ot[Dt];if(!(It&&!It(vt))){var lr=vt.append(Ne,$e);if(si[Dt]){var yr=si[Dt];Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(Ne.cond(_t).then(zt,\".enable(\",yr,\");\").else(zt,\".disable(\",yr,\");\")),$e(Ut,\".\",Dt,\"=\",_t,\";\")):($e(Ne.cond(lr).then(zt,\".enable(\",yr,\");\").else(zt,\".disable(\",yr,\");\")),$e(Ut,\".\",Dt,\"=\",lr,\";\"))}else if(En(lr)){var Br=Ft[Dt];$e(zt,\".\",mn[Dt],\"(\",lr,\");\",lr.map(function(Di,ci){return Br+\"[\"+ci+\"]=\"+Di}).join(\";\"),\";\")}else Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(zt,\".\",mn[Dt],\"(\",_t,\");\",Ut,\".\",Dt,\"=\",_t,\";\")):$e(zt,\".\",mn[Dt],\"(\",lr,\");\",Ut,\".\",Dt,\"=\",lr,\";\")}})}function ol(Ne,$e){Ii&&(Ne.instancing=$e.def(Ne.shared.extensions,\".angle_instanced_arrays\"))}function io(Ne,$e,ot,It,Bt){var Ft=Ne.shared,Ut=Ne.stats,zt=Ft.current,_t=Ft.timer,Dt=ot.profile;function vt(){return typeof performance==\"undefined\"?\"Date.now()\":\"performance.now()\"}var lr,yr;function Br(Ei){lr=$e.def(),Ei(lr,\"=\",vt(),\";\"),typeof Bt==\"string\"?Ei(Ut,\".count+=\",Bt,\";\"):Ei(Ut,\".count++;\"),ji&&(It?(yr=$e.def(),Ei(yr,\"=\",_t,\".getNumPendingQueries();\")):Ei(_t,\".beginQuery(\",Ut,\");\"))}function Di(Ei){Ei(Ut,\".cpuTime+=\",vt(),\"-\",lr,\";\"),ji&&(It?Ei(_t,\".pushScopeStats(\",yr,\",\",_t,\".getNumPendingQueries(),\",Ut,\");\"):Ei(_t,\".endQuery();\"))}function ci(Ei){var Oi=$e.def(zt,\".profile\");$e(zt,\".profile=\",Ei,\";\"),$e.exit(zt,\".profile=\",Oi,\";\")}var bi;if(Dt){if(Pn(Dt)){Dt.enable?(Br($e),Di($e.exit),ci(\"true\")):ci(\"false\");return}bi=Dt.append(Ne,$e),ci(bi)}else bi=$e.def(zt,\".profile\");var gn=Ne.block();Br(gn),$e(\"if(\",bi,\"){\",gn,\"}\");var tn=Ne.block();Di(tn),$e.exit(\"if(\",bi,\"){\",tn,\"}\")}function Y(Ne,$e,ot,It,Bt){var Ft=Ne.shared;function Ut(_t){switch(_t){case Co:case Ps:case hl:return 2;case Qa:case Ts:case Ul:return 3;case mo:case wo:case Lu:return 4;default:return 1}}function zt(_t,Dt,vt){var lr=Ft.gl,yr=$e.def(_t,\".location\"),Br=$e.def(Ft.attributes,\"[\",yr,\"]\"),Di=vt.state,ci=vt.buffer,bi=[vt.x,vt.y,vt.z,vt.w],gn=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function tn(){$e(\"if(!\",Br,\".buffer){\",lr,\".enableVertexAttribArray(\",yr,\");}\");var Oi=vt.type,Gi;if(vt.size?Gi=$e.def(vt.size,\"||\",Dt):Gi=Dt,$e(\"if(\",Br,\".type!==\",Oi,\"||\",Br,\".size!==\",Gi,\"||\",gn.map(function(zn){return Br+\".\"+zn+\"!==\"+vt[zn]}).join(\"||\"),\"){\",lr,\".bindBuffer(\",br,\",\",ci,\".buffer);\",lr,\".vertexAttribPointer(\",[yr,Gi,Oi,vt.normalized,vt.stride,vt.offset],\");\",Br,\".type=\",Oi,\";\",Br,\".size=\",Gi,\";\",gn.map(function(zn){return Br+\".\"+zn+\"=\"+vt[zn]+\";\"}).join(\"\"),\"}\"),Ii){var on=vt.divisor;$e(\"if(\",Br,\".divisor!==\",on,\"){\",Ne.instancing,\".vertexAttribDivisorANGLE(\",[yr,on],\");\",Br,\".divisor=\",on,\";}\")}}function Ei(){$e(\"if(\",Br,\".buffer){\",lr,\".disableVertexAttribArray(\",yr,\");\",Br,\".buffer=null;\",\"}if(\",Ca.map(function(Oi,Gi){return Br+\".\"+Oi+\"!==\"+bi[Gi]}).join(\"||\"),\"){\",lr,\".vertexAttrib4f(\",yr,\",\",bi,\");\",Ca.map(function(Oi,Gi){return Br+\".\"+Oi+\"=\"+bi[Gi]+\";\"}).join(\"\"),\"}\")}Di===La?tn():Di===Na?Ei():($e(\"if(\",Di,\"===\",La,\"){\"),tn(),$e(\"}else{\"),Ei(),$e(\"}\"))}It.forEach(function(_t){var Dt=_t.name,vt=ot.attributes[Dt],lr;if(vt){if(!Bt(vt))return;lr=vt.append(Ne,$e)}else{if(!Bt(na))return;var yr=Ne.scopeAttrib(Dt);lr={},Object.keys(new Zr).forEach(function(Br){lr[Br]=$e.def(yr,\".\",Br)})}zt(Ne.link(_t),Ut(_t.info.type),lr)})}function D(Ne,$e,ot,It,Bt,Ft){for(var Ut=Ne.shared,zt=Ut.gl,_t,Dt=0;Dt1){for(var co=[],ts=[],so=0;so>1)\",ci],\");\")}function on(){ot(bi,\".drawArraysInstancedANGLE(\",[yr,Br,Di,ci],\");\")}vt&&vt!==\"null\"?tn?Gi():(ot(\"if(\",vt,\"){\"),Gi(),ot(\"}else{\"),on(),ot(\"}\")):on()}function Oi(){function Gi(){ot(Ft+\".drawElements(\"+[yr,Di,gn,Br+\"<<((\"+gn+\"-\"+Ra+\")>>1)\"]+\");\")}function on(){ot(Ft+\".drawArrays(\"+[yr,Br,Di]+\");\")}vt&&vt!==\"null\"?tn?Gi():(ot(\"if(\",vt,\"){\"),Gi(),ot(\"}else{\"),on(),ot(\"}\")):on()}Ii&&(typeof ci!=\"number\"||ci>=0)?typeof ci==\"string\"?(ot(\"if(\",ci,\">0){\"),Ei(),ot(\"}else if(\",ci,\"<0){\"),Oi(),ot(\"}\")):Ei():Oi()}function O(Ne,$e,ot,It,Bt){var Ft=Cn(),Ut=Ft.proc(\"body\",Bt);return Ii&&(Ft.instancing=Ut.def(Ft.shared.extensions,\".angle_instanced_arrays\")),Ne(Ft,Ut,ot,It),Ft.compile().body}function K(Ne,$e,ot,It){ol(Ne,$e),ot.useVAO?ot.drawVAO?$e(Ne.shared.vao,\".setVAO(\",ot.drawVAO.append(Ne,$e),\");\"):$e(Ne.shared.vao,\".setVAO(\",Ne.shared.vao,\".targetVAO);\"):($e(Ne.shared.vao,\".setVAO(null);\"),Y(Ne,$e,ot,It.attributes,function(){return!0})),D(Ne,$e,ot,It.uniforms,function(){return!0},!1),J(Ne,$e,$e,ot)}function de(Ne,$e){var ot=Ne.proc(\"draw\",1);ol(Ne,ot),ss(Ne,ot,$e.context),Vs(Ne,ot,$e.framebuffer),Ys(Ne,ot,$e),wa(Ne,ot,$e.state),io(Ne,ot,$e,!1,!0);var It=$e.shader.progVar.append(Ne,ot);if(ot(Ne.shared.gl,\".useProgram(\",It,\".program);\"),$e.shader.program)K(Ne,ot,$e,$e.shader.program);else{ot(Ne.shared.vao,\".setVAO(null);\");var Bt=Ne.global.def(\"{}\"),Ft=ot.def(It,\".id\"),Ut=ot.def(Bt,\"[\",Ft,\"]\");ot(Ne.cond(Ut).then(Ut,\".call(this,a0);\").else(Ut,\"=\",Bt,\"[\",Ft,\"]=\",Ne.link(function(zt){return O(K,Ne,$e,zt,1)}),\"(\",It,\");\",Ut,\".call(this,a0);\"))}Object.keys($e.state).length>0&&ot(Ne.shared.current,\".dirty=true;\"),Ne.shared.vao&&ot(Ne.shared.vao,\".setVAO(null);\")}function ne(Ne,$e,ot,It){Ne.batchId=\"a1\",ol(Ne,$e);function Bt(){return!0}Y(Ne,$e,ot,It.attributes,Bt),D(Ne,$e,ot,It.uniforms,Bt,!1),J(Ne,$e,$e,ot)}function be(Ne,$e,ot,It){ol(Ne,$e);var Bt=ot.contextDep,Ft=$e.def(),Ut=\"a0\",zt=\"a1\",_t=$e.def();Ne.shared.props=_t,Ne.batchId=Ft;var Dt=Ne.scope(),vt=Ne.scope();$e(Dt.entry,\"for(\",Ft,\"=0;\",Ft,\"<\",zt,\";++\",Ft,\"){\",_t,\"=\",Ut,\"[\",Ft,\"];\",vt,\"}\",Dt.exit);function lr(gn){return gn.contextDep&&Bt||gn.propDep}function yr(gn){return!lr(gn)}if(ot.needsContext&&ss(Ne,vt,ot.context),ot.needsFramebuffer&&Vs(Ne,vt,ot.framebuffer),wa(Ne,vt,ot.state,lr),ot.profile&&lr(ot.profile)&&io(Ne,vt,ot,!1,!0),It)ot.useVAO?ot.drawVAO?lr(ot.drawVAO)?vt(Ne.shared.vao,\".setVAO(\",ot.drawVAO.append(Ne,vt),\");\"):Dt(Ne.shared.vao,\".setVAO(\",ot.drawVAO.append(Ne,Dt),\");\"):Dt(Ne.shared.vao,\".setVAO(\",Ne.shared.vao,\".targetVAO);\"):(Dt(Ne.shared.vao,\".setVAO(null);\"),Y(Ne,Dt,ot,It.attributes,yr),Y(Ne,vt,ot,It.attributes,lr)),D(Ne,Dt,ot,It.uniforms,yr,!1),D(Ne,vt,ot,It.uniforms,lr,!0),J(Ne,Dt,vt,ot);else{var Br=Ne.global.def(\"{}\"),Di=ot.shader.progVar.append(Ne,vt),ci=vt.def(Di,\".id\"),bi=vt.def(Br,\"[\",ci,\"]\");vt(Ne.shared.gl,\".useProgram(\",Di,\".program);\",\"if(!\",bi,\"){\",bi,\"=\",Br,\"[\",ci,\"]=\",Ne.link(function(gn){return O(ne,Ne,ot,gn,2)}),\"(\",Di,\");}\",bi,\".call(this,a0[\",Ft,\"],\",Ft,\");\")}}function Be(Ne,$e){var ot=Ne.proc(\"batch\",2);Ne.batchId=\"0\",ol(Ne,ot);var It=!1,Bt=!0;Object.keys($e.context).forEach(function(Br){It=It||$e.context[Br].propDep}),It||(ss(Ne,ot,$e.context),Bt=!1);var Ft=$e.framebuffer,Ut=!1;Ft?(Ft.propDep?It=Ut=!0:Ft.contextDep&&It&&(Ut=!0),Ut||Vs(Ne,ot,Ft)):Vs(Ne,ot,null),$e.state.viewport&&$e.state.viewport.propDep&&(It=!0);function zt(Br){return Br.contextDep&&It||Br.propDep}Ys(Ne,ot,$e),wa(Ne,ot,$e.state,function(Br){return!zt(Br)}),(!$e.profile||!zt($e.profile))&&io(Ne,ot,$e,!1,\"a1\"),$e.contextDep=It,$e.needsContext=Bt,$e.needsFramebuffer=Ut;var _t=$e.shader.progVar;if(_t.contextDep&&It||_t.propDep)be(Ne,ot,$e,null);else{var Dt=_t.append(Ne,ot);if(ot(Ne.shared.gl,\".useProgram(\",Dt,\".program);\"),$e.shader.program)be(Ne,ot,$e,$e.shader.program);else{ot(Ne.shared.vao,\".setVAO(null);\");var vt=Ne.global.def(\"{}\"),lr=ot.def(Dt,\".id\"),yr=ot.def(vt,\"[\",lr,\"]\");ot(Ne.cond(yr).then(yr,\".call(this,a0,a1);\").else(yr,\"=\",vt,\"[\",lr,\"]=\",Ne.link(function(Br){return O(be,Ne,$e,Br,2)}),\"(\",Dt,\");\",yr,\".call(this,a0,a1);\"))}}Object.keys($e.state).length>0&&ot(Ne.shared.current,\".dirty=true;\"),Ne.shared.vao&&ot(Ne.shared.vao,\".setVAO(null);\")}function ht(Ne,$e){var ot=Ne.proc(\"scope\",3);Ne.batchId=\"a2\";var It=Ne.shared,Bt=It.current;if(ss(Ne,ot,$e.context),$e.framebuffer&&$e.framebuffer.append(Ne,ot),Ti(Object.keys($e.state)).forEach(function(zt){var _t=$e.state[zt],Dt=_t.append(Ne,ot);En(Dt)?Dt.forEach(function(vt,lr){pn(vt)?ot.set(Ne.next[zt],\"[\"+lr+\"]\",vt):ot.set(Ne.next[zt],\"[\"+lr+\"]\",Ne.link(vt,{stable:!0}))}):Pn(_t)?ot.set(It.next,\".\"+zt,Ne.link(Dt,{stable:!0})):ot.set(It.next,\".\"+zt,Dt)}),io(Ne,ot,$e,!0,!0),[Mt,mr,$t,Cr,Jt].forEach(function(zt){var _t=$e.draw[zt];if(_t){var Dt=_t.append(Ne,ot);pn(Dt)?ot.set(It.draw,\".\"+zt,Dt):ot.set(It.draw,\".\"+zt,Ne.link(Dt),{stable:!0})}}),Object.keys($e.uniforms).forEach(function(zt){var _t=$e.uniforms[zt].append(Ne,ot);Array.isArray(_t)&&(_t=\"[\"+_t.map(function(Dt){return pn(Dt)?Dt:Ne.link(Dt,{stable:!0})})+\"]\"),ot.set(It.uniforms,\"[\"+Ne.link(bt.id(zt),{stable:!0})+\"]\",_t)}),Object.keys($e.attributes).forEach(function(zt){var _t=$e.attributes[zt].append(Ne,ot),Dt=Ne.scopeAttrib(zt);Object.keys(new Zr).forEach(function(vt){ot.set(Dt,\".\"+vt,_t[vt])})}),$e.scopeVAO){var Ft=$e.scopeVAO.append(Ne,ot);pn(Ft)?ot.set(It.vao,\".targetVAO\",Ft):ot.set(It.vao,\".targetVAO\",Ne.link(Ft,{stable:!0}))}function Ut(zt){var _t=$e.shader[zt];if(_t){var Dt=_t.append(Ne,ot);pn(Dt)?ot.set(It.shader,\".\"+zt,Dt):ot.set(It.shader,\".\"+zt,Ne.link(Dt,{stable:!0}))}}Ut(Ze),Ut(ut),Object.keys($e.state).length>0&&(ot(Bt,\".dirty=true;\"),ot.exit(Bt,\".dirty=true;\")),ot(\"a1(\",Ne.shared.context,\",a0,\",Ne.batchId,\");\")}function Yt(Ne){if(!(typeof Ne!=\"object\"||En(Ne))){for(var $e=Object.keys(Ne),ot=0;ot<$e.length;++ot)if(h.isDynamic(Ne[$e[ot]]))return!0;return!1}}function cr(Ne,$e,ot){var It=$e.static[ot];if(!It||!Yt(It))return;var Bt=Ne.global,Ft=Object.keys(It),Ut=!1,zt=!1,_t=!1,Dt=Ne.global.def(\"{}\");Ft.forEach(function(lr){var yr=It[lr];if(h.isDynamic(yr)){typeof yr==\"function\"&&(yr=It[lr]=h.unbox(yr));var Br=Bn(yr,null);Ut=Ut||Br.thisDep,_t=_t||Br.propDep,zt=zt||Br.contextDep}else{switch(Bt(Dt,\".\",lr,\"=\"),typeof yr){case\"number\":Bt(yr);break;case\"string\":Bt('\"',yr,'\"');break;case\"object\":Array.isArray(yr)&&Bt(\"[\",yr.join(),\"]\");break;default:Bt(Ne.link(yr));break}Bt(\";\")}});function vt(lr,yr){Ft.forEach(function(Br){var Di=It[Br];if(h.isDynamic(Di)){var ci=lr.invoke(yr,Di);yr(Dt,\".\",Br,\"=\",ci,\";\")}})}$e.dynamic[ot]=new h.DynamicVariable(Zo,{thisDep:Ut,contextDep:zt,propDep:_t,ref:Dt,append:vt}),delete $e.static[ot]}function Nt(Ne,$e,ot,It,Bt){var Ft=Cn();Ft.stats=Ft.link(Bt),Object.keys($e.static).forEach(function(zt){cr(Ft,$e,zt)}),fr.forEach(function(zt){cr(Ft,Ne,zt)});var Ut=Vl(Ne,$e,ot,It,Ft);return Ut.shader.program&&(Ut.shader.program.attributes.sort(function(zt,_t){return zt.name<_t.name?-1:1}),Ut.shader.program.uniforms.sort(function(zt,_t){return zt.name<_t.name?-1:1})),de(Ft,Ut),ht(Ft,Ut),Be(Ft,Ut),e(Ft.compile(),{destroy:function(){Ut.shader.program.destroy()}})}return{next:qn,current:Xi,procs:function(){var Ne=Cn(),$e=Ne.proc(\"poll\"),ot=Ne.proc(\"refresh\"),It=Ne.block();$e(It),ot(It);var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.next,zt=Bt.current;It(zt,\".dirty=false;\"),Vs(Ne,$e),Vs(Ne,ot,null,!0);var _t;Ii&&(_t=Ne.link(Ii)),Ot.oes_vertex_array_object&&ot(Ne.link(Ot.oes_vertex_array_object),\".bindVertexArrayOES(null);\");var Dt=ot.def(Bt.attributes),vt=ot.def(0),lr=Ne.cond(vt,\".buffer\");lr.then(Ft,\".enableVertexAttribArray(i);\",Ft,\".bindBuffer(\",br,\",\",vt,\".buffer.buffer);\",Ft,\".vertexAttribPointer(i,\",vt,\".size,\",vt,\".type,\",vt,\".normalized,\",vt,\".stride,\",vt,\".offset);\").else(Ft,\".disableVertexAttribArray(i);\",Ft,\".vertexAttrib4f(i,\",vt,\".x,\",vt,\".y,\",vt,\".z,\",vt,\".w);\",vt,\".buffer=null;\");var yr=Ne.link(Lr.maxAttributes,{stable:!0});return ot(\"for(var i=0;i<\",yr,\";++i){\",vt,\"=\",Dt,\"[i];\",lr,\"}\"),Ii&&ot(\"for(var i=0;i<\",yr,\";++i){\",_t,\".vertexAttribDivisorANGLE(i,\",Dt,\"[i].divisor);\",\"}\"),ot(Ne.shared.vao,\".currentVAO=null;\",Ne.shared.vao,\".setVAO(\",Ne.shared.vao,\".targetVAO);\"),Object.keys(si).forEach(function(Br){var Di=si[Br],ci=It.def(Ut,\".\",Br),bi=Ne.block();bi(\"if(\",ci,\"){\",Ft,\".enable(\",Di,\")}else{\",Ft,\".disable(\",Di,\")}\",zt,\".\",Br,\"=\",ci,\";\"),ot(bi),$e(\"if(\",ci,\"!==\",zt,\".\",Br,\"){\",bi,\"}\")}),Object.keys(mn).forEach(function(Br){var Di=mn[Br],ci=Xi[Br],bi,gn,tn=Ne.block();if(tn(Ft,\".\",Di,\"(\"),En(ci)){var Ei=ci.length;bi=Ne.global.def(Ut,\".\",Br),gn=Ne.global.def(zt,\".\",Br),tn(S(Ei,function(Oi){return bi+\"[\"+Oi+\"]\"}),\");\",S(Ei,function(Oi){return gn+\"[\"+Oi+\"]=\"+bi+\"[\"+Oi+\"];\"}).join(\"\")),$e(\"if(\",S(Ei,function(Oi){return bi+\"[\"+Oi+\"]!==\"+gn+\"[\"+Oi+\"]\"}).join(\"||\"),\"){\",tn,\"}\")}else bi=It.def(Ut,\".\",Br),gn=It.def(zt,\".\",Br),tn(bi,\");\",zt,\".\",Br,\"=\",bi,\";\"),$e(\"if(\",bi,\"!==\",gn,\"){\",tn,\"}\");ot(tn)}),Ne.compile()}(),compile:Nt}}function Ia(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var yo=34918,Da=34919,go=35007,Is=function(Me,bt){if(!bt.ext_disjoint_timer_query)return null;var Ot=[];function Lr(){return Ot.pop()||bt.ext_disjoint_timer_query.createQueryEXT()}function Vr(yi){Ot.push(yi)}var Or=[];function Nr(yi){var Ii=Lr();bt.ext_disjoint_timer_query.beginQueryEXT(go,Ii),Or.push(Ii),ji(Or.length-1,Or.length,yi)}function vi(){bt.ext_disjoint_timer_query.endQueryEXT(go)}function Ni(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var qi=[];function Si(){return qi.pop()||new Ni}function Vn(yi){qi.push(yi)}var Qi=[];function ji(yi,Ii,ui){var nn=Si();nn.startQueryIndex=yi,nn.endQueryIndex=Ii,nn.sum=0,nn.stats=ui,Qi.push(nn)}var oi=[],Tr=[];function Zr(){var yi,Ii,ui=Or.length;if(ui!==0){Tr.length=Math.max(Tr.length,ui+1),oi.length=Math.max(oi.length,ui+1),oi[0]=0,Tr[0]=0;var nn=0;for(yi=0,Ii=0;Ii=0;--O){var K=Nn[O];K&&K(oi,null,0)}Ot.flush(),Si&&Si.update()}function ba(){!ia&&Nn.length>0&&(ia=d.next(sa))}function is(){ia&&(d.cancel(sa),ia=null)}function Zs(O){O.preventDefault(),Vr=!0,is(),aa.forEach(function(K){K()})}function Va(O){Ot.getError(),Vr=!1,Or.restore(),qn.restore(),Ii.restore(),fi.restore(),si.restore(),mn.restore(),nn.restore(),Si&&Si.restore(),Ji.procs.refresh(),ba(),Ki.forEach(function(K){K()})}pn&&(pn.addEventListener(Fo,Zs,!1),pn.addEventListener(Uo,Va,!1));function Ml(){Nn.length=0,is(),pn&&(pn.removeEventListener(Fo,Zs),pn.removeEventListener(Uo,Va)),qn.clear(),mn.clear(),si.clear(),nn.clear(),fi.clear(),ui.clear(),Ii.clear(),Si&&Si.clear(),Cn.forEach(function(O){O()})}function zo(O){function K(Ft){var Ut=e({},Ft);delete Ut.uniforms,delete Ut.attributes,delete Ut.context,delete Ut.vao,\"stencil\"in Ut&&Ut.stencil.op&&(Ut.stencil.opBack=Ut.stencil.opFront=Ut.stencil.op,delete Ut.stencil.op);function zt(_t){if(_t in Ut){var Dt=Ut[_t];delete Ut[_t],Object.keys(Dt).forEach(function(vt){Ut[_t+\".\"+vt]=Dt[vt]})}}return zt(\"blend\"),zt(\"depth\"),zt(\"cull\"),zt(\"stencil\"),zt(\"polygonOffset\"),zt(\"scissor\"),zt(\"sample\"),\"vao\"in Ft&&(Ut.vao=Ft.vao),Ut}function de(Ft,Ut){var zt={},_t={};return Object.keys(Ft).forEach(function(Dt){var vt=Ft[Dt];if(h.isDynamic(vt)){_t[Dt]=h.unbox(vt,Dt);return}else if(Ut&&Array.isArray(vt)){for(var lr=0;lr0)return Ne.call(this,It(Ft|0),Ft|0)}else if(Array.isArray(Ft)){if(Ft.length)return Ne.call(this,Ft,Ft.length)}else return Nt.call(this,Ft)}return e(Bt,{stats:Yt,destroy:function(){cr.destroy()}})}var Qs=mn.setFBO=zo({framebuffer:h.define.call(null,$s,\"framebuffer\")});function al(O,K){var de=0;Ji.procs.poll();var ne=K.color;ne&&(Ot.clearColor(+ne[0]||0,+ne[1]||0,+ne[2]||0,+ne[3]||0),de|=Ms),\"depth\"in K&&(Ot.clearDepth(+K.depth),de|=Xs),\"stencil\"in K&&(Ot.clearStencil(K.stencil|0),de|=Un),Ot.clear(de)}function Vl(O){if(\"framebuffer\"in O)if(O.framebuffer&&O.framebuffer_reglType===\"framebufferCube\")for(var K=0;K<6;++K)Qs(e({framebuffer:O.framebuffer.faces[K]},O),al);else Qs(O,al);else al(null,O)}function ss(O){Nn.push(O);function K(){var de=dl(Nn,O);function ne(){var be=dl(Nn,ne);Nn[be]=Nn[Nn.length-1],Nn.length-=1,Nn.length<=0&&is()}Nn[de]=ne}return ba(),{cancel:K}}function Vs(){var O=Bi.viewport,K=Bi.scissor_box;O[0]=O[1]=K[0]=K[1]=0,oi.viewportWidth=oi.framebufferWidth=oi.drawingBufferWidth=O[2]=K[2]=Ot.drawingBufferWidth,oi.viewportHeight=oi.framebufferHeight=oi.drawingBufferHeight=O[3]=K[3]=Ot.drawingBufferHeight}function Ys(){oi.tick+=1,oi.time=ol(),Vs(),Ji.procs.poll()}function wa(){fi.refresh(),Vs(),Ji.procs.refresh(),Si&&Si.update()}function ol(){return(v()-Vn)/1e3}wa();function io(O,K){var de;switch(O){case\"frame\":return ss(K);case\"lost\":de=aa;break;case\"restore\":de=Ki;break;case\"destroy\":de=Cn;break;default:}return de.push(K),{cancel:function(){for(var ne=0;ne=0},read:Ui,destroy:Ml,_gl:Ot,_refresh:wa,poll:function(){Ys(),Si&&Si.update()},now:ol,stats:vi,getCachedCode:Y,preloadCachedCode:D});return bt.onDone(null,J),J}return Sc})});var $Oe=ye((w_r,JOe)=>{\"use strict\";var wUt=ey();JOe.exports=function(t){if(t?typeof t==\"string\"&&(t={container:t}):t={},YOe(t)?t={container:t}:TUt(t)?t={container:t}:AUt(t)?t={gl:t}:t=wUt(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=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container==\"string\"){var r=document.querySelector(t.container);if(!r)throw Error(\"Element \"+t.container+\" is not found\");t.container=r}YOe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=KOe(),t.container.appendChild(t.canvas),ZOe(t))}else if(!t.canvas)if(typeof document!=\"undefined\")t.container=document.body||document.documentElement,t.canvas=KOe(),t.container.appendChild(t.canvas),ZOe(t);else throw Error(\"Not DOM environment. Use headless-gl.\");return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function ZOe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function YOe(e){return typeof e.getContext==\"function\"&&\"width\"in e&&\"height\"in e}function TUt(e){return typeof e.nodeName==\"string\"&&typeof e.appendChild==\"function\"&&typeof e.getBoundingClientRect==\"function\"}function AUt(e){return typeof e.drawArrays==\"function\"||typeof e.drawElements==\"function\"}function KOe(){var e=document.createElement(\"canvas\");return e.style.position=\"absolute\",e.style.top=0,e.style.left=0,e}});var eBe=ye((T_r,QOe)=>{\"use strict\";var SUt=sK(),MUt=[32,126];QOe.exports=EUt;function EUt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement(\"canvas\"),n=e.font,i=typeof e.step==\"number\"?[e.step,e.step]:e.step||[32,32],a=e.chars||MUt;if(n&&typeof n!=\"string\"&&(n=SUt(n)),!Array.isArray(a))a=String(a).split(\"\");else if(a.length===2&&typeof a[0]==\"number\"&&typeof a[1]==\"number\"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext(\"2d\");u.fillStyle=\"#000\",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign=\"center\",u.textBaseline=\"middle\",u.fillStyle=\"#fff\";for(var c=i[0]/2,f=i[1]/2,s=0;st[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var fK=ye(Vh=>{\"use strict\";\"use restrict\";var cK=32;Vh.INT_BITS=cK;Vh.INT_MAX=2147483647;Vh.INT_MIN=-1<0)-(e<0)};Vh.abs=function(e){var t=e>>cK-1;return(e^t)-t};Vh.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Vh.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Vh.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function tBe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Vh.countTrailingZeros=tBe;Vh.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Vh.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Vh.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var Dk=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<>>8&255]<<16|Dk[e>>>16&255]<<8|Dk[e>>>24&255]};Vh.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Vh.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Vh.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Vh.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Vh.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>tBe(e)+1}});var nBe=ye((S_r,iBe)=>{\"use strict\";function rBe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a0)return kUt(e|0,t);break;case\"object\":if(typeof e.length==\"number\")return rBe(e,t,0);break}return[]}iBe.exports=CUt});var _Be=ye(mu=>{\"use strict\";var xx=fK(),Ev=nBe(),aBe=_2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Ev([32,0]),UINT16:Ev([32,0]),UINT32:Ev([32,0]),BIGUINT64:Ev([32,0]),INT8:Ev([32,0]),INT16:Ev([32,0]),INT32:Ev([32,0]),BIGINT64:Ev([32,0]),FLOAT:Ev([32,0]),DOUBLE:Ev([32,0]),DATA:Ev([32,0]),UINT8C:Ev([32,0]),BUFFER:Ev([32,0])});var LUt=typeof Uint8ClampedArray!=\"undefined\",PUt=typeof BigUint64Array!=\"undefined\",IUt=typeof BigInt64Array!=\"undefined\",ad=window.__TYPEDARRAY_POOL;ad.UINT8C||(ad.UINT8C=Ev([32,0]));ad.BIGUINT64||(ad.BIGUINT64=Ev([32,0]));ad.BIGINT64||(ad.BIGINT64=Ev([32,0]));ad.BUFFER||(ad.BUFFER=Ev([32,0]));var Tz=ad.DATA,Az=ad.BUFFER;mu.free=function(t){if(aBe.isBuffer(t))Az[xx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!==\"[object ArrayBuffer]\"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=xx.log2(r)|0;Tz[n].push(t)}};function oBe(e){if(e){var t=e.length||e.byteLength,r=xx.log2(t);Tz[r].push(e)}}function RUt(e){oBe(e.buffer)}mu.freeUint8=mu.freeUint16=mu.freeUint32=mu.freeBigUint64=mu.freeInt8=mu.freeInt16=mu.freeInt32=mu.freeBigInt64=mu.freeFloat32=mu.freeFloat=mu.freeFloat64=mu.freeDouble=mu.freeUint8Clamped=mu.freeDataView=RUt;mu.freeArrayBuffer=oBe;mu.freeBuffer=function(t){Az[xx.log2(t.length)].push(t)};mu.malloc=function(t,r){if(r===void 0||r===\"arraybuffer\")return Bp(t);switch(r){case\"uint8\":return hK(t);case\"uint16\":return sBe(t);case\"uint32\":return lBe(t);case\"int8\":return uBe(t);case\"int16\":return cBe(t);case\"int32\":return fBe(t);case\"float\":case\"float32\":return hBe(t);case\"double\":case\"float64\":return dBe(t);case\"uint8_clamped\":return vBe(t);case\"bigint64\":return gBe(t);case\"biguint64\":return pBe(t);case\"buffer\":return yBe(t);case\"data\":case\"dataview\":return mBe(t);default:return null}return null};function Bp(t){var t=xx.nextPow2(t),r=xx.log2(t),n=Tz[r];return n.length>0?n.pop():new ArrayBuffer(t)}mu.mallocArrayBuffer=Bp;function hK(e){return new Uint8Array(Bp(e),0,e)}mu.mallocUint8=hK;function sBe(e){return new Uint16Array(Bp(2*e),0,e)}mu.mallocUint16=sBe;function lBe(e){return new Uint32Array(Bp(4*e),0,e)}mu.mallocUint32=lBe;function uBe(e){return new Int8Array(Bp(e),0,e)}mu.mallocInt8=uBe;function cBe(e){return new Int16Array(Bp(2*e),0,e)}mu.mallocInt16=cBe;function fBe(e){return new Int32Array(Bp(4*e),0,e)}mu.mallocInt32=fBe;function hBe(e){return new Float32Array(Bp(4*e),0,e)}mu.mallocFloat32=mu.mallocFloat=hBe;function dBe(e){return new Float64Array(Bp(8*e),0,e)}mu.mallocFloat64=mu.mallocDouble=dBe;function vBe(e){return LUt?new Uint8ClampedArray(Bp(e),0,e):hK(e)}mu.mallocUint8Clamped=vBe;function pBe(e){return PUt?new BigUint64Array(Bp(8*e),0,e):null}mu.mallocBigUint64=pBe;function gBe(e){return IUt?new BigInt64Array(Bp(8*e),0,e):null}mu.mallocBigInt64=gBe;function mBe(e){return new DataView(Bp(e),0,e)}mu.mallocDataView=mBe;function yBe(e){e=xx.nextPow2(e);var t=xx.log2(e),r=Az[t];return r.length>0?r.pop():new aBe(e)}mu.mallocBuffer=yBe;mu.clearCache=function(){for(var t=0;t<32;++t)ad.UINT8[t].length=0,ad.UINT16[t].length=0,ad.UINT32[t].length=0,ad.INT8[t].length=0,ad.INT16[t].length=0,ad.INT32[t].length=0,ad.FLOAT[t].length=0,ad.DOUBLE[t].length=0,ad.BIGUINT64[t].length=0,ad.BIGINT64[t].length=0,ad.UINT8C[t].length=0,Tz[t].length=0,Az[t].length=0}});var bBe=ye((E_r,xBe)=>{\"use strict\";var DUt=Object.prototype.toString;xBe.exports=function(e){var t;return DUt.call(e)===\"[object Object]\"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var dK=ye((k_r,wBe)=>{wBe.exports=function(t,r){r||(r=[0,\"\"]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",r}});var SBe=ye((C_r,ABe)=>{\"use strict\";var FUt=dK();ABe.exports=TBe;var Fk=96;function vK(e,t){var r=FUt(getComputedStyle(e).getPropertyValue(t));return r[0]*TBe(r[1],e)}function zUt(e,t){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+e,t.appendChild(r);var n=vK(r,\"font-size\")/128;return t.removeChild(r),n}function TBe(e,t){switch(t=t||document.body,e=(e||\"px\").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case\"%\":return t.clientHeight/100;case\"ch\":case\"ex\":return zUt(e,t);case\"em\":return vK(t,\"font-size\");case\"rem\":return vK(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return Fk;case\"cm\":return Fk/2.54;case\"mm\":return Fk/25.4;case\"pt\":return Fk/72;case\"pc\":return Fk/6}return 1}});var kBe=ye((L_r,EBe)=>{\"use strict\";EBe.exports=Ez;var qUt=Ez.canvas=document.createElement(\"canvas\"),Sz=qUt.getContext(\"2d\"),MBe=Mz([32,126]);Ez.createPairs=Mz;Ez.ascii=MBe;function Ez(e,t){Array.isArray(e)&&(e=e.join(\", \"));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]==\"number\"?n=Mz(t):Array.isArray(t)?n=t:(t.o?n=Mz(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=MBe),Sz.font=i+\"px \"+e;for(var o=0;oi*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function Mz(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i{\"use strict\";PBe.exports=bx;bx.canvas=document.createElement(\"canvas\");bx.cache={};function bx(o,t){t||(t={}),(typeof o==\"string\"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(\", \"):t.family;if(!r)throw Error(\"`family` must be defined\");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||\"\",a=t.style||t.fontStyle||\"\",o=[a,i,n].join(\" \")+\"px \"+r,s=t.origin||\"top\";if(bx.cache[r]&&n<=bx.cache[r].em)return CBe(bx.cache[r],s);var l=t.canvas||bx.canvas,u=l.getContext(\"2d\"),c={upper:t.upper!==void 0?t.upper:\"H\",lower:t.lower!==void 0?t.lower:\"x\",descent:t.descent!==void 0?t.descent:\"p\",ascent:t.ascent!==void 0?t.ascent:\"h\",tittle:t.tittle!==void 0?t.tittle:\"i\",overshoot:t.overshoot!==void 0?t.overshoot:\"O\"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h=\"H\",d={top:0};u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillStyle=\"black\",u.fillText(h,0,0);var v=ry(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline=\"bottom\",u.fillText(h,0,f);var m=ry(u.getImageData(0,0,f,f));d.lineHeight=d.bottom=f-m+v,u.clearRect(0,0,f,f),u.textBaseline=\"alphabetic\",u.fillText(h,0,f);var b=ry(u.getImageData(0,0,f,f)),p=f-b-1+v;d.baseline=d.alphabetic=p,u.clearRect(0,0,f,f),u.textBaseline=\"middle\",u.fillText(h,0,f*.5);var k=ry(u.getImageData(0,0,f,f));d.median=d.middle=f-k-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"hanging\",u.fillText(h,0,f*.5);var M=ry(u.getImageData(0,0,f,f));d.hanging=f-M-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"ideographic\",u.fillText(h,0,f);var T=ry(u.getImageData(0,0,f,f));if(d.ideographic=f-T-1+v,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.upper,0,0),d.upper=ry(u.getImageData(0,0,f,f)),d.capHeight=d.baseline-d.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.lower,0,0),d.lower=ry(u.getImageData(0,0,f,f)),d.xHeight=d.baseline-d.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.tittle,0,0),d.tittle=ry(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.ascent,0,0),d.ascent=ry(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.descent,0,0),d.descent=LBe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.overshoot,0,0);var L=LBe(u.getImageData(0,0,f,f));d.overshoot=L-p}for(var x in d)d[x]/=n;return d.em=n,bx.cache[r]=d,CBe(d,s)}function CBe(e,t){var r={};typeof t==\"string\"&&(t=e[t]);for(var n in e)n!==\"em\"&&(r[n]=e[n]-t);return r}function ry(e){for(var t=e.height,r=e.data,n=3;n0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var zBe=ye((I_r,FBe)=>{\"use strict\";var _5=WOe(),OUt=ey(),BUt=XOe(),NUt=$Oe(),UUt=XY(),pK=ox(),VUt=eBe(),wx=_Be(),GUt=s5(),HUt=bBe(),jUt=dK(),WUt=SBe(),XUt=kBe(),ZUt=Nh(),YUt=IBe(),KUt=nw(),JUt=fK(),RBe=JUt.nextPow2,DBe=new UUt,Cz=!1;document.body&&(kz=document.body.appendChild(document.createElement(\"div\")),kz.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(kz).fontStretch&&(Cz=!0),document.body.removeChild(kz));var kz,xc=function(t){$Ut(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=NUt(t),this.shader=DBe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||BUt({gl:this.gl}),this.charBuffer=this.regl.buffer({type:\"uint8\",usage:\"stream\"}),this.sizeBuffer=this.regl.buffer({type:\"float\",usage:\"stream\"}),this.shader||(this.shader=this.createShader(),DBe.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(HUt(t)?t:{})};xc.prototype.createShader=function(){var t=this.regl,r=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop(\"count\"),offset:t.prop(\"offset\"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this(\"sizeBuffer\")},width:{offset:0,stride:8,buffer:t.this(\"sizeBuffer\")},char:t.this(\"charBuffer\"),position:t.this(\"position\")},uniforms:{atlasSize:function(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.atlas.em},color:t.prop(\"color\"),opacity:t.prop(\"opacity\"),viewport:t.this(\"viewportArray\"),scale:t.this(\"scale\"),align:t.prop(\"align\"),baseline:t.prop(\"baseline\"),translate:t.this(\"translate\"),positionOffset:t.prop(\"positionOffset\")},primitive:\"points\",viewport:t.this(\"viewport\"),vert:`\n", + "\t\t\tprecision highp float;\n", + "\t\t\tattribute float width, charOffset, char;\n", + "\t\t\tattribute vec2 position;\n", + "\t\t\tuniform float fontSize, charStep, em, align, baseline;\n", + "\t\t\tuniform vec4 viewport;\n", + "\t\t\tuniform vec4 color;\n", + "\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n", + "\t\t\tvarying vec2 charCoord, charId;\n", + "\t\t\tvarying float charWidth;\n", + "\t\t\tvarying vec4 fontColor;\n", + "\t\t\tvoid main () {\n", + "\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n", + "\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n", + "\t\t\t\t\t/ (viewport.zw * scale.xy);\n", + "\n", + "\t\t\t\tvec2 position = (position + translate) * scale;\n", + "\t\t\t\tposition += offset * scale;\n", + "\n", + "\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n", + "\n", + "\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n", + "\n", + "\t\t\t\tgl_PointSize = charStep;\n", + "\n", + "\t\t\t\tcharId.x = mod(char, atlasDim.x);\n", + "\t\t\t\tcharId.y = floor(char / atlasDim.x);\n", + "\n", + "\t\t\t\tcharWidth = width * em;\n", + "\n", + "\t\t\t\tfontColor = color / 255.;\n", + "\t\t\t}`,frag:`\n", + "\t\t\tprecision highp float;\n", + "\t\t\tuniform float fontSize, charStep, opacity;\n", + "\t\t\tuniform vec2 atlasSize;\n", + "\t\t\tuniform vec4 viewport;\n", + "\t\t\tuniform sampler2D atlas;\n", + "\t\t\tvarying vec4 fontColor;\n", + "\t\t\tvarying vec2 charCoord, charId;\n", + "\t\t\tvarying float charWidth;\n", + "\n", + "\t\t\tfloat lightness(vec4 color) {\n", + "\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n", + "\t\t\t}\n", + "\n", + "\t\t\tvoid main () {\n", + "\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n", + "\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n", + "\n", + "\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n", + "\t\t\t\tuv.y = charStep - uv.y;\n", + "\n", + "\t\t\t\t// ignore points outside of character bounding box\n", + "\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n", + "\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n", + "\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n", + "\n", + "\t\t\t\tuv += charId * charStep;\n", + "\t\t\t\tuv = uv / atlasSize;\n", + "\n", + "\t\t\t\tvec4 color = fontColor;\n", + "\t\t\t\tvec4 mask = texture2D(atlas, uv);\n", + "\n", + "\t\t\t\tfloat maskY = lightness(mask);\n", + "\t\t\t\t// float colorY = lightness(color);\n", + "\t\t\t\tcolor.a *= maskY;\n", + "\t\t\t\tcolor.a *= opacity;\n", + "\n", + "\t\t\t\t// color.a += .1;\n", + "\n", + "\t\t\t\t// antialiasing, see yiq color space y-channel formula\n", + "\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n", + "\n", + "\t\t\t\tgl_FragColor = color;\n", + "\t\t\t}`}),n={};return{regl:t,draw:r,atlas:n}};xc.prototype.update=function(t){var r=this;if(typeof t==\"string\")t={text:t};else if(!t)return;t=OUt(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),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(Ce){return parseFloat(Ce)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=GUt(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(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]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset==\"number\"&&(t.offset=[t.offset,0]),this.positionOffset=KUt(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=xc.baseFontSize+\"px sans-serif\");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(Ce,ge){if(typeof Ce==\"string\")try{Ce=_5.parse(Ce)}catch(He){Ce=_5.parse(xc.baseFontSize+\"px \"+Ce)}else{var ie=Ce.style,Se=Ce.weight,Ee=Ce.stretch,we=Ce.variant;Ce=_5.parse(_5.stringify(Ce)),ie&&(Ce.style=ie),Se&&(Ce.weight=Se),Ee&&(Ce.stretch=Ee),we&&(Ce.variant=we)}var De=_5.stringify({size:xc.baseFontSize,family:Ce.family,stretch:Cz?Ce.stretch:void 0,variant:Ce.variant,weight:Ce.weight,style:Ce.style}),Le=jUt(Ce.size),me=Math.round(Le[0]*WUt(Le[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||De!=r.font[ge].baseString)&&(n=!0,r.font[ge]=xc.fonts[De],!r.font[ge])){var Pe=Ce.family.join(\", \"),ce=[Ce.style];Ce.style!=Ce.variant&&ce.push(Ce.variant),Ce.variant!=Ce.weight&&ce.push(Ce.weight),Cz&&Ce.weight!=Ce.stretch&&ce.push(Ce.stretch),r.font[ge]={baseString:De,family:Pe,weight:Ce.weight,stretch:Ce.stretch,style:Ce.style,variant:Ce.variant,width:{},kerning:{},metrics:YUt(Pe,{origin:\"top\",fontSize:xc.baseFontSize,fontStyle:ce.join(\" \")})},xc.fonts[De]=r.font[ge]}}),(n||i)&&this.font.forEach(function(Ce,ge){var ie=_5.stringify({size:r.fontSize[ge],family:Ce.family,stretch:Cz?Ce.stretch:void 0,variant:Ce.variant,weight:Ce.weight,style:Ce.style});if(r.fontAtlas[ge]=r.shader.atlas[ie],!r.fontAtlas[ge]){var Se=Ce.metrics;r.shader.atlas[ie]=r.fontAtlas[ge]={fontString:ie,step:Math.ceil(r.fontSize[ge]*Se.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text==\"string\"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o2){for(var u=!t.position[0].length,c=wx.mallocFloat(this.count*2),f=0,h=0;f1?r.align[ge]:r.align[0]:r.align;if(typeof ie==\"number\")return ie;switch(ie){case\"right\":case\"end\":return-Ce;case\"center\":case\"centre\":case\"middle\":return-Ce*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(Ce,ge){var ie=(r.font[ge]||r.font[0]).metrics,Se=0;return Se+=ie.bottom*.5,typeof Ce==\"number\"?Se+=Ce-ie.baseline:Se+=-ie[Ce],Se*=-1,Se})),t.color!=null)if(t.color||(t.color=\"transparent\"),typeof t.color==\"string\"||!isNaN(t.color))this.color=pK(t.color,\"uint8\");else{var G;if(typeof t.color[0]==\"number\"&&t.color.length>this.counts.length){var Z=t.color.length;G=wx.mallocUint8(Z);for(var j=(t.color.subarray||t.color.slice).bind(t.color),N=0;N4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(oe){var _e=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(_e);for(var ke=0;ke1?this.counts[ke]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[ke]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(ke*4,ke*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[ke]:this.opacity,baseline:this.baselineOffset[ke]!=null?this.baselineOffset[ke]:this.baselineOffset[0],align:this.align?this.alignOffset[ke]!=null?this.alignOffset[ke]:this.alignOffset[0]:0,atlas:this.fontAtlas[ke]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(ke*2,ke*2+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=[]}};xc.prototype.destroy=function(){};xc.prototype.kerning=!0;xc.prototype.position={constant:new Float32Array(2)};xc.prototype.translate=null;xc.prototype.scale=null;xc.prototype.font=null;xc.prototype.text=\"\";xc.prototype.positionOffset=[0,0];xc.prototype.opacity=1;xc.prototype.color=new Uint8Array([0,0,0,255]);xc.prototype.alignOffset=[0,0];xc.maxAtlasSize=1024;xc.atlasCanvas=document.createElement(\"canvas\");xc.atlasContext=xc.atlasCanvas.getContext(\"2d\",{alpha:!1});xc.baseFontSize=64;xc.fonts={};function $Ut(e){return typeof e==\"function\"&&e._gl&&e.prop&&e.texture&&e.buffer}FBe.exports=xc});var qBe=ye((gK,mK)=>{(function(e,t){typeof gK==\"object\"&&typeof mK!=\"undefined\"?mK.exports=t():e.createREGL=t()})(gK,function(){\"use strict\";var e=function(Me,bt){for(var Ot=Object.keys(bt),Lr=0;Lr1&&bt===Ot&&(bt==='\"'||bt===\"'\"))return['\"'+o(Me.substr(1,Me.length-2))+'\"'];var Lr=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(Me);if(Lr)return s(Me.substr(0,Lr.index)).concat(s(Lr[1])).concat(s(Me.substr(Lr.index+Lr[0].length)));var Vr=Me.split(\".\");if(Vr.length===1)return['\"'+o(Me)+'\"'];for(var Or=[],Nr=0;Nr65535)<<4,Me>>>=bt,Ot=(Me>255)<<3,Me>>>=Ot,bt|=Ot,Ot=(Me>15)<<2,Me>>>=Ot,bt|=Ot,Ot=(Me>3)<<1,Me>>>=Ot,bt|=Ot,bt|Me>>1}function N(){var Me=S(8,function(){return[]});function bt(Or){var Nr=Z(Or),vi=Me[j(Nr)>>2];return vi.length>0?vi.pop():new ArrayBuffer(Nr)}function Ot(Or){Me[j(Or.byteLength)>>2].push(Or)}function Lr(Or,Nr){var vi=null;switch(Or){case g:vi=new Int8Array(bt(Nr),0,Nr);break;case P:vi=new Uint8Array(bt(Nr),0,Nr);break;case E:vi=new Int16Array(bt(2*Nr),0,Nr);break;case z:vi=new Uint16Array(bt(2*Nr),0,Nr);break;case q:vi=new Int32Array(bt(4*Nr),0,Nr);break;case U:vi=new Uint32Array(bt(4*Nr),0,Nr);break;case G:vi=new Float32Array(bt(4*Nr),0,Nr);break;default:return null}return vi.length!==Nr?vi.subarray(0,Nr):vi}function Vr(Or){Ot(Or.buffer)}return{alloc:bt,free:Ot,allocType:Lr,freeType:Vr}}var H=N();H.zero=N();var re=3408,oe=3410,_e=3411,ke=3412,Ce=3413,ge=3414,ie=3415,Se=33901,Ee=33902,we=3379,De=3386,Le=34921,me=36347,Pe=36348,ce=35661,He=35660,lt=34930,mt=36349,Vt=34076,st=34024,ct=7936,Qt=7937,Ht=7938,nr=35724,tt=34047,je=36063,Ue=34852,Ae=3553,rt=34067,St=34069,Tt=33984,dt=6408,Et=5126,pt=5121,Xt=36160,or=36053,_r=36064,Er=16384,ei=function(Me,bt){var Ot=1;bt.ext_texture_filter_anisotropic&&(Ot=Me.getParameter(tt));var Lr=1,Vr=1;bt.webgl_draw_buffers&&(Lr=Me.getParameter(Ue),Vr=Me.getParameter(je));var Or=!!bt.oes_texture_float;if(Or){var Nr=Me.createTexture();Me.bindTexture(Ae,Nr),Me.texImage2D(Ae,0,dt,1,1,0,dt,Et,null);var vi=Me.createFramebuffer();if(Me.bindFramebuffer(Xt,vi),Me.framebufferTexture2D(Xt,_r,Ae,Nr,0),Me.bindTexture(Ae,null),Me.checkFramebufferStatus(Xt)!==or)Or=!1;else{Me.viewport(0,0,1,1),Me.clearColor(1,0,0,1),Me.clear(Er);var Ni=H.allocType(Et,4);Me.readPixels(0,0,1,1,dt,Et,Ni),Me.getError()?Or=!1:(Me.deleteFramebuffer(vi),Me.deleteTexture(Nr),Or=Ni[0]===1),H.freeType(Ni)}}var qi=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Si=!0;if(!qi){var Vn=Me.createTexture(),Qi=H.allocType(pt,36);Me.activeTexture(Tt),Me.bindTexture(rt,Vn),Me.texImage2D(St,0,dt,3,3,0,dt,pt,Qi),H.freeType(Qi),Me.bindTexture(rt,null),Me.deleteTexture(Vn),Si=!Me.getError()}return{colorBits:[Me.getParameter(oe),Me.getParameter(_e),Me.getParameter(ke),Me.getParameter(Ce)],depthBits:Me.getParameter(ge),stencilBits:Me.getParameter(ie),subpixelBits:Me.getParameter(re),extensions:Object.keys(bt).filter(function(ji){return!!bt[ji]}),maxAnisotropic:Ot,maxDrawbuffers:Lr,maxColorAttachments:Vr,pointSizeDims:Me.getParameter(Se),lineWidthDims:Me.getParameter(Ee),maxViewportDims:Me.getParameter(De),maxCombinedTextureUnits:Me.getParameter(ce),maxCubeMapSize:Me.getParameter(Vt),maxRenderbufferSize:Me.getParameter(st),maxTextureUnits:Me.getParameter(lt),maxTextureSize:Me.getParameter(we),maxAttributes:Me.getParameter(Le),maxVertexUniforms:Me.getParameter(me),maxVertexTextureUnits:Me.getParameter(He),maxVaryingVectors:Me.getParameter(Pe),maxFragmentUniforms:Me.getParameter(mt),glsl:Me.getParameter(nr),renderer:Me.getParameter(Qt),vendor:Me.getParameter(ct),version:Me.getParameter(Ht),readFloat:Or,npotTextureCube:Si}},qr=function(Me){return Me instanceof Uint8Array||Me instanceof Uint16Array||Me instanceof Uint32Array||Me instanceof Int8Array||Me instanceof Int16Array||Me instanceof Int32Array||Me instanceof Float32Array||Me instanceof Float64Array||Me instanceof Uint8ClampedArray};function jr(Me){return!!Me&&typeof Me==\"object\"&&Array.isArray(Me.shape)&&Array.isArray(Me.stride)&&typeof Me.offset==\"number\"&&Me.shape.length===Me.stride.length&&(Array.isArray(Me.data)||qr(Me.data))}var gt=function(Me){return Object.keys(Me).map(function(bt){return Me[bt]})},Ge={shape:Kt,flatten:At};function Je(Me,bt,Ot){for(var Lr=0;Lr0){var qn;if(Array.isArray(Zr[0])){Xi=Vi(Zr);for(var fi=1,si=1;si0){if(typeof fi[0]==\"number\"){var Ui=H.allocType(ui.dtype,fi.length);wr(Ui,fi),Xi(Ui,mn),H.freeType(Ui)}else if(Array.isArray(fi[0])||qr(fi[0])){Ji=Vi(fi);var Bi=Qn(fi,Ji,ui.dtype);Xi(Bi,mn),H.freeType(Bi)}}}else if(jr(fi)){Ji=fi.shape;var pn=fi.stride,Nn=0,aa=0,Ki=0,Cn=0;Ji.length===1?(Nn=Ji[0],aa=1,Ki=pn[0],Cn=0):Ji.length===2&&(Nn=Ji[0],aa=Ji[1],Ki=pn[0],Cn=pn[1]);var ia=Array.isArray(fi.data)?ui.dtype:ir(fi.data),sa=H.allocType(ia,Nn*aa);Xr(sa,fi.data,Nn,aa,Ki,Cn,fi.offset),Xi(sa,mn),H.freeType(sa)}return nn}return yi||nn(Tr),nn._reglType=\"buffer\",nn._buffer=ui,nn.subdata=qn,Ot.profile&&(nn.stats=ui.stats),nn.destroy=function(){Qi(ui)},nn}function oi(){gt(Or).forEach(function(Tr){Tr.buffer=Me.createBuffer(),Me.bindBuffer(Tr.type,Tr.buffer),Me.bufferData(Tr.type,Tr.persistentData||Tr.byteLength,Tr.usage)})}return Ot.profile&&(bt.getTotalBufferSize=function(){var Tr=0;return Object.keys(Or).forEach(function(Zr){Tr+=Or[Zr].stats.size}),Tr}),{create:ji,createStream:Ni,destroyStream:qi,clear:function(){gt(Or).forEach(Qi),vi.forEach(Qi)},getBuffer:function(Tr){return Tr&&Tr._buffer instanceof Nr?Tr._buffer:null},restore:oi,_initBuffer:Vn}}var $r=0,Ri=0,Zi=1,en=1,fn=4,yn=4,Mn={points:$r,point:Ri,lines:Zi,line:en,triangles:fn,triangle:yn,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},Ba=0,ua=1,ma=4,Wa=5120,Fa=5121,Xo=5122,da=5123,jn=5124,Ha=5125,vo=34963,Gn=35040,Ct=35044;function Ar(Me,bt,Ot,Lr){var Vr={},Or=0,Nr={uint8:Fa,uint16:da};bt.oes_element_index_uint&&(Nr.uint32=Ha);function vi(oi){this.id=Or++,Vr[this.id]=this,this.buffer=oi,this.primType=ma,this.vertCount=0,this.type=0}vi.prototype.bind=function(){this.buffer.bind()};var Ni=[];function qi(oi){var Tr=Ni.pop();return Tr||(Tr=new vi(Ot.create(null,vo,!0,!1)._buffer)),Vn(Tr,oi,Gn,-1,-1,0,0),Tr}function Si(oi){Ni.push(oi)}function Vn(oi,Tr,Zr,yi,Ii,ui,nn){oi.buffer.bind();var Xi;if(Tr){var qn=nn;!nn&&(!qr(Tr)||jr(Tr)&&!qr(Tr.data))&&(qn=bt.oes_element_index_uint?Ha:da),Ot._initBuffer(oi.buffer,Tr,Zr,qn,3)}else Me.bufferData(vo,ui,Zr),oi.buffer.dtype=Xi||Fa,oi.buffer.usage=Zr,oi.buffer.dimension=3,oi.buffer.byteLength=ui;if(Xi=nn,!nn){switch(oi.buffer.dtype){case Fa:case Wa:Xi=Fa;break;case da:case Xo:Xi=da;break;case Ha:case jn:Xi=Ha;break;default:}oi.buffer.dtype=Xi}oi.type=Xi;var fi=Ii;fi<0&&(fi=oi.buffer.byteLength,Xi===da?fi>>=1:Xi===Ha&&(fi>>=2)),oi.vertCount=fi;var si=yi;if(yi<0){si=ma;var mn=oi.buffer.dimension;mn===1&&(si=Ba),mn===2&&(si=ua),mn===3&&(si=ma)}oi.primType=si}function Qi(oi){Lr.elementsCount--,delete Vr[oi.id],oi.buffer.destroy(),oi.buffer=null}function ji(oi,Tr){var Zr=Ot.create(null,vo,!0),yi=new vi(Zr._buffer);Lr.elementsCount++;function Ii(ui){if(!ui)Zr(),yi.primType=ma,yi.vertCount=0,yi.type=Fa;else if(typeof ui==\"number\")Zr(ui),yi.primType=ma,yi.vertCount=ui|0,yi.type=Fa;else{var nn=null,Xi=Ct,qn=-1,fi=-1,si=0,mn=0;Array.isArray(ui)||qr(ui)||jr(ui)?nn=ui:(\"data\"in ui&&(nn=ui.data),\"usage\"in ui&&(Xi=Hn[ui.usage]),\"primitive\"in ui&&(qn=Mn[ui.primitive]),\"count\"in ui&&(fi=ui.count|0),\"type\"in ui&&(mn=Nr[ui.type]),\"length\"in ui?si=ui.length|0:(si=fi,mn===da||mn===Xo?si*=2:(mn===Ha||mn===jn)&&(si*=4))),Vn(yi,nn,Xi,qn,fi,si,mn)}return Ii}return Ii(oi),Ii._reglType=\"elements\",Ii._elements=yi,Ii.subdata=function(ui,nn){return Zr.subdata(ui,nn),Ii},Ii.destroy=function(){Qi(yi)},Ii}return{create:ji,createStream:qi,destroyStream:Si,getElements:function(oi){return typeof oi==\"function\"&&oi._elements instanceof vi?oi._elements:null},clear:function(){gt(Vr).forEach(Qi)}}}var Jr=new Float32Array(1),hi=new Uint32Array(Jr.buffer),hn=5123;function Sn(Me){for(var bt=H.allocType(hn,Me.length),Ot=0;Ot>>31<<15,Or=(Lr<<1>>>24)-127,Nr=Lr>>13&1023;if(Or<-24)bt[Ot]=Vr;else if(Or<-14){var vi=-14-Or;bt[Ot]=Vr+(Nr+1024>>vi)}else Or>15?bt[Ot]=Vr+31744:bt[Ot]=Vr+(Or+15<<10)+Nr}return bt}function En(Me){return Array.isArray(Me)||qr(Me)}var ki=34467,_n=3553,ya=34067,ea=34069,Ma=6408,_o=6406,No=6407,po=6409,Lo=6410,ko=32854,Ds=32855,Fs=36194,ll=32819,ul=32820,zl=33635,us=34042,il=6402,As=34041,cl=35904,Ks=35906,zs=36193,Io=33776,ls=33777,Yl=33778,Su=33779,nc=35986,bs=35987,Rn=34798,_a=35840,Vu=35841,ql=35842,xo=35843,Kl=36196,Ns=5121,Hl=5123,ac=5125,oa=5126,qo=10242,Oo=10243,Ol=10497,Pc=33071,Do=33648,rf=10240,Vf=10241,pl=9728,Zc=9729,Jl=9984,qs=9985,yu=9986,oc=9987,Cf=33170,sc=4352,jh=4353,Lf=4354,cs=34046,nf=3317,Gf=37440,$l=37441,fl=37443,lc=37444,Fu=33984,Es=[Jl,yu,qs,oc],Hs=[0,po,Lo,No,Ma],Go={};Go[po]=Go[_o]=Go[il]=1,Go[As]=Go[Lo]=2,Go[No]=Go[cl]=3,Go[Ma]=Go[Ks]=4;function ps(Me){return\"[object \"+Me+\"]\"}var uc=ps(\"HTMLCanvasElement\"),xl=ps(\"OffscreenCanvas\"),Gu=ps(\"CanvasRenderingContext2D\"),Os=ps(\"ImageBitmap\"),od=ps(\"HTMLImageElement\"),Po=ps(\"HTMLVideoElement\"),sd=Object.keys(er).concat([uc,xl,Gu,Os,od,Po]),Ko=[];Ko[Ns]=1,Ko[oa]=4,Ko[zs]=2,Ko[Hl]=2,Ko[ac]=4;var Pa=[];Pa[ko]=2,Pa[Ds]=2,Pa[Fs]=2,Pa[As]=4,Pa[Io]=.5,Pa[ls]=.5,Pa[Yl]=1,Pa[Su]=1,Pa[nc]=.5,Pa[bs]=1,Pa[Rn]=1,Pa[_a]=.5,Pa[Vu]=.25,Pa[ql]=.5,Pa[xo]=.25,Pa[Kl]=.5;function af(Me){return Array.isArray(Me)&&(Me.length===0||typeof Me[0]==\"number\")}function Hu(Me){if(!Array.isArray(Me))return!1;var bt=Me.length;return!(bt===0||!En(Me[0]))}function bl(Me){return Object.prototype.toString.call(Me)}function Hf(Me){return bl(Me)===uc}function Ic(Me){return bl(Me)===xl}function yf(Me){return bl(Me)===Gu}function Bl(Me){return bl(Me)===Os}function Ah(Me){return bl(Me)===od}function Qf(Me){return bl(Me)===Po}function _f(Me){if(!Me)return!1;var bt=bl(Me);return sd.indexOf(bt)>=0?!0:af(Me)||Hu(Me)||jr(Me)}function Yc(Me){return er[Object.prototype.toString.call(Me)]|0}function eh(Me,bt){var Ot=bt.length;switch(Me.type){case Ns:case Hl:case ac:case oa:var Lr=H.allocType(Me.type,Ot);Lr.set(bt),Me.data=Lr;break;case zs:Me.data=Sn(bt);break;default:}}function th(Me,bt){return H.allocType(Me.type===zs?oa:Me.type,bt)}function ju(Me,bt){Me.type===zs?(Me.data=Sn(bt),H.freeType(bt)):Me.data=bt}function jf(Me,bt,Ot,Lr,Vr,Or){for(var Nr=Me.width,vi=Me.height,Ni=Me.channels,qi=Nr*vi*Ni,Si=th(Me,qi),Vn=0,Qi=0;Qi=1;)vi+=Nr*Ni*Ni,Ni/=2;return vi}else return Nr*Ot*Lr}function of(Me,bt,Ot,Lr,Vr,Or,Nr){var vi={\"don't care\":sc,\"dont care\":sc,nice:Lf,fast:jh},Ni={repeat:Ol,clamp:Pc,mirror:Do},qi={nearest:pl,linear:Zc},Si=e({mipmap:oc,\"nearest mipmap nearest\":Jl,\"linear mipmap nearest\":qs,\"nearest mipmap linear\":yu,\"linear mipmap linear\":oc},qi),Vn={none:0,browser:lc},Qi={uint8:Ns,rgba4:ll,rgb565:zl,\"rgb5 a1\":ul},ji={alpha:_o,luminance:po,\"luminance alpha\":Lo,rgb:No,rgba:Ma,rgba4:ko,\"rgb5 a1\":Ds,rgb565:Fs},oi={};bt.ext_srgb&&(ji.srgb=cl,ji.srgba=Ks),bt.oes_texture_float&&(Qi.float32=Qi.float=oa),bt.oes_texture_half_float&&(Qi.float16=Qi[\"half float\"]=zs),bt.webgl_depth_texture&&(e(ji,{depth:il,\"depth stencil\":As}),e(Qi,{uint16:Hl,uint32:ac,\"depth stencil\":us})),bt.webgl_compressed_texture_s3tc&&e(oi,{\"rgb s3tc dxt1\":Io,\"rgba s3tc dxt1\":ls,\"rgba s3tc dxt3\":Yl,\"rgba s3tc dxt5\":Su}),bt.webgl_compressed_texture_atc&&e(oi,{\"rgb atc\":nc,\"rgba atc explicit alpha\":bs,\"rgba atc interpolated alpha\":Rn}),bt.webgl_compressed_texture_pvrtc&&e(oi,{\"rgb pvrtc 4bppv1\":_a,\"rgb pvrtc 2bppv1\":Vu,\"rgba pvrtc 4bppv1\":ql,\"rgba pvrtc 2bppv1\":xo}),bt.webgl_compressed_texture_etc1&&(oi[\"rgb etc1\"]=Kl);var Tr=Array.prototype.slice.call(Me.getParameter(ki));Object.keys(oi).forEach(function(ne){var be=oi[ne];Tr.indexOf(be)>=0&&(ji[ne]=be)});var Zr=Object.keys(ji);Ot.textureFormats=Zr;var yi=[];Object.keys(ji).forEach(function(ne){var be=ji[ne];yi[be]=ne});var Ii=[];Object.keys(Qi).forEach(function(ne){var be=Qi[ne];Ii[be]=ne});var ui=[];Object.keys(qi).forEach(function(ne){var be=qi[ne];ui[be]=ne});var nn=[];Object.keys(Si).forEach(function(ne){var be=Si[ne];nn[be]=ne});var Xi=[];Object.keys(Ni).forEach(function(ne){var be=Ni[ne];Xi[be]=ne});var qn=Zr.reduce(function(ne,be){var Be=ji[be];return Be===po||Be===_o||Be===po||Be===Lo||Be===il||Be===As||bt.ext_srgb&&(Be===cl||Be===Ks)?ne[Be]=Be:Be===Ds||be.indexOf(\"rgba\")>=0?ne[Be]=Ma:ne[Be]=No,ne},{});function fi(){this.internalformat=Ma,this.format=Ma,this.type=Ns,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=lc,this.width=0,this.height=0,this.channels=0}function si(ne,be){ne.internalformat=be.internalformat,ne.format=be.format,ne.type=be.type,ne.compressed=be.compressed,ne.premultiplyAlpha=be.premultiplyAlpha,ne.flipY=be.flipY,ne.unpackAlignment=be.unpackAlignment,ne.colorSpace=be.colorSpace,ne.width=be.width,ne.height=be.height,ne.channels=be.channels}function mn(ne,be){if(!(typeof be!=\"object\"||!be)){if(\"premultiplyAlpha\"in be&&(ne.premultiplyAlpha=be.premultiplyAlpha),\"flipY\"in be&&(ne.flipY=be.flipY),\"alignment\"in be&&(ne.unpackAlignment=be.alignment),\"colorSpace\"in be&&(ne.colorSpace=Vn[be.colorSpace]),\"type\"in be){var Be=be.type;ne.type=Qi[Be]}var ht=ne.width,Yt=ne.height,cr=ne.channels,Nt=!1;\"shape\"in be?(ht=be.shape[0],Yt=be.shape[1],be.shape.length===3&&(cr=be.shape[2],Nt=!0)):(\"radius\"in be&&(ht=Yt=be.radius),\"width\"in be&&(ht=be.width),\"height\"in be&&(Yt=be.height),\"channels\"in be&&(cr=be.channels,Nt=!0)),ne.width=ht|0,ne.height=Yt|0,ne.channels=cr|0;var Ne=!1;if(\"format\"in be){var $e=be.format,ot=ne.internalformat=ji[$e];ne.format=qn[ot],$e in Qi&&(\"type\"in be||(ne.type=Qi[$e])),$e in oi&&(ne.compressed=!0),Ne=!0}!Nt&&Ne?ne.channels=Go[ne.format]:Nt&&!Ne&&ne.channels!==Hs[ne.format]&&(ne.format=ne.internalformat=Hs[ne.channels])}}function Ji(ne){Me.pixelStorei(Gf,ne.flipY),Me.pixelStorei($l,ne.premultiplyAlpha),Me.pixelStorei(fl,ne.colorSpace),Me.pixelStorei(nf,ne.unpackAlignment)}function Ui(){fi.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Bi(ne,be){var Be=null;if(_f(be)?Be=be:be&&(mn(ne,be),\"x\"in be&&(ne.xOffset=be.x|0),\"y\"in be&&(ne.yOffset=be.y|0),_f(be.data)&&(Be=be.data)),be.copy){var ht=Vr.viewportWidth,Yt=Vr.viewportHeight;ne.width=ne.width||ht-ne.xOffset,ne.height=ne.height||Yt-ne.yOffset,ne.needsCopy=!0}else if(!Be)ne.width=ne.width||1,ne.height=ne.height||1,ne.channels=ne.channels||4;else if(qr(Be))ne.channels=ne.channels||4,ne.data=Be,!(\"type\"in be)&&ne.type===Ns&&(ne.type=Yc(Be));else if(af(Be))ne.channels=ne.channels||4,eh(ne,Be),ne.alignment=1,ne.needsFree=!0;else if(jr(Be)){var cr=Be.data;!Array.isArray(cr)&&ne.type===Ns&&(ne.type=Yc(cr));var Nt=Be.shape,Ne=Be.stride,$e,ot,It,Bt,Ft,Ut;Nt.length===3?(It=Nt[2],Ut=Ne[2]):(It=1,Ut=1),$e=Nt[0],ot=Nt[1],Bt=Ne[0],Ft=Ne[1],ne.alignment=1,ne.width=$e,ne.height=ot,ne.channels=It,ne.format=ne.internalformat=Hs[It],ne.needsFree=!0,jf(ne,cr,Bt,Ft,Ut,Be.offset)}else if(Hf(Be)||Ic(Be)||yf(Be))Hf(Be)||Ic(Be)?ne.element=Be:ne.element=Be.canvas,ne.width=ne.element.width,ne.height=ne.element.height,ne.channels=4;else if(Bl(Be))ne.element=Be,ne.width=Be.width,ne.height=Be.height,ne.channels=4;else if(Ah(Be))ne.element=Be,ne.width=Be.naturalWidth,ne.height=Be.naturalHeight,ne.channels=4;else if(Qf(Be))ne.element=Be,ne.width=Be.videoWidth,ne.height=Be.videoHeight,ne.channels=4;else if(Hu(Be)){var zt=ne.width||Be[0].length,_t=ne.height||Be.length,Dt=ne.channels;En(Be[0][0])?Dt=Dt||Be[0][0].length:Dt=Dt||1;for(var vt=Ge.shape(Be),lr=1,yr=0;yr>=Yt,Be.height>>=Yt,Bi(Be,ht[Yt]),ne.mipmask|=1<=0&&!(\"faces\"in be)&&(ne.genMipmaps=!0)}if(\"mag\"in be){var ht=be.mag;ne.magFilter=qi[ht]}var Yt=ne.wrapS,cr=ne.wrapT;if(\"wrap\"in be){var Nt=be.wrap;typeof Nt==\"string\"?Yt=cr=Ni[Nt]:Array.isArray(Nt)&&(Yt=Ni[Nt[0]],cr=Ni[Nt[1]])}else{if(\"wrapS\"in be){var Ne=be.wrapS;Yt=Ni[Ne]}if(\"wrapT\"in be){var $e=be.wrapT;cr=Ni[$e]}}if(ne.wrapS=Yt,ne.wrapT=cr,\"anisotropic\"in be){var ot=be.anisotropic;ne.anisotropic=be.anisotropic}if(\"mipmap\"in be){var It=!1;switch(typeof be.mipmap){case\"string\":ne.mipmapHint=vi[be.mipmap],ne.genMipmaps=!0,It=!0;break;case\"boolean\":It=ne.genMipmaps=be.mipmap;break;case\"object\":ne.genMipmaps=!1,It=!0;break;default:}It&&!(\"min\"in be)&&(ne.minFilter=Jl)}}function al(ne,be){Me.texParameteri(be,Vf,ne.minFilter),Me.texParameteri(be,rf,ne.magFilter),Me.texParameteri(be,qo,ne.wrapS),Me.texParameteri(be,Oo,ne.wrapT),bt.ext_texture_filter_anisotropic&&Me.texParameteri(be,cs,ne.anisotropic),ne.genMipmaps&&(Me.hint(Cf,ne.mipmapHint),Me.generateMipmap(be))}var Vl=0,ss={},Vs=Ot.maxTextureUnits,Ys=Array(Vs).map(function(){return null});function wa(ne){fi.call(this),this.mipmask=0,this.internalformat=Ma,this.id=Vl++,this.refCount=1,this.target=ne,this.texture=Me.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new zo,Nr.profile&&(this.stats={size:0})}function ol(ne){Me.activeTexture(Fu),Me.bindTexture(ne.target,ne.texture)}function io(){var ne=Ys[0];ne?Me.bindTexture(ne.target,ne.texture):Me.bindTexture(_n,null)}function Y(ne){var be=ne.texture,Be=ne.unit,ht=ne.target;Be>=0&&(Me.activeTexture(Fu+Be),Me.bindTexture(ht,null),Ys[Be]=null),Me.deleteTexture(be),ne.texture=null,ne.params=null,ne.pixels=null,ne.refCount=0,delete ss[ne.id],Or.textureCount--}e(wa.prototype,{bind:function(){var ne=this;ne.bindCount+=1;var be=ne.unit;if(be<0){for(var Be=0;Be0)continue;ht.unit=-1}Ys[Be]=ne,be=Be;break}be>=Vs,Nr.profile&&Or.maxTextureUnits>Ft)-It,Ut.height=Ut.height||(Be.height>>Ft)-Bt,ol(Be),Nn(Ut,_n,It,Bt,Ft),io(),Cn(Ut),ht}function cr(Nt,Ne){var $e=Nt|0,ot=Ne|0||$e;if($e===Be.width&&ot===Be.height)return ht;ht.width=Be.width=$e,ht.height=Be.height=ot,ol(Be);for(var It=0;Be.mipmask>>It;++It){var Bt=$e>>It,Ft=ot>>It;if(!Bt||!Ft)break;Me.texImage2D(_n,It,Be.format,Bt,Ft,0,Be.format,Be.type,null)}return io(),Nr.profile&&(Be.stats.size=cc(Be.internalformat,Be.type,$e,ot,!1,!1)),ht}return ht(ne,be),ht.subimage=Yt,ht.resize=cr,ht._reglType=\"texture2d\",ht._texture=Be,Nr.profile&&(ht.stats=Be.stats),ht.destroy=function(){Be.decRef()},ht}function J(ne,be,Be,ht,Yt,cr){var Nt=new wa(ya);ss[Nt.id]=Nt,Or.cubeCount++;var Ne=new Array(6);function $e(Bt,Ft,Ut,zt,_t,Dt){var vt,lr=Nt.texInfo;for(zo.call(lr),vt=0;vt<6;++vt)Ne[vt]=Va();if(typeof Bt==\"number\"||!Bt){var yr=Bt|0||1;for(vt=0;vt<6;++vt)sa(Ne[vt],yr,yr)}else if(typeof Bt==\"object\")if(Ft)ba(Ne[0],Bt),ba(Ne[1],Ft),ba(Ne[2],Ut),ba(Ne[3],zt),ba(Ne[4],_t),ba(Ne[5],Dt);else if(Qs(lr,Bt),mn(Nt,Bt),\"faces\"in Bt){var Br=Bt.faces;for(vt=0;vt<6;++vt)si(Ne[vt],Nt),ba(Ne[vt],Br[vt])}else for(vt=0;vt<6;++vt)ba(Ne[vt],Bt);for(si(Nt,Ne[0]),lr.genMipmaps?Nt.mipmask=(Ne[0].width<<1)-1:Nt.mipmask=Ne[0].mipmask,Nt.internalformat=Ne[0].internalformat,$e.width=Ne[0].width,$e.height=Ne[0].height,ol(Nt),vt=0;vt<6;++vt)is(Ne[vt],ea+vt);for(al(lr,ya),io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,lr.genMipmaps,!0)),$e.format=yi[Nt.internalformat],$e.type=Ii[Nt.type],$e.mag=ui[lr.magFilter],$e.min=nn[lr.minFilter],$e.wrapS=Xi[lr.wrapS],$e.wrapT=Xi[lr.wrapT],vt=0;vt<6;++vt)Ml(Ne[vt]);return $e}function ot(Bt,Ft,Ut,zt,_t){var Dt=Ut|0,vt=zt|0,lr=_t|0,yr=Ki();return si(yr,Nt),yr.width=0,yr.height=0,Bi(yr,Ft),yr.width=yr.width||(Nt.width>>lr)-Dt,yr.height=yr.height||(Nt.height>>lr)-vt,ol(Nt),Nn(yr,ea+Bt,Dt,vt,lr),io(),Cn(yr),$e}function It(Bt){var Ft=Bt|0;if(Ft!==Nt.width){$e.width=Nt.width=Ft,$e.height=Nt.height=Ft,ol(Nt);for(var Ut=0;Ut<6;++Ut)for(var zt=0;Nt.mipmask>>zt;++zt)Me.texImage2D(ea+Ut,zt,Nt.format,Ft>>zt,Ft>>zt,0,Nt.format,Nt.type,null);return io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,!1,!0)),$e}}return $e(ne,be,Be,ht,Yt,cr),$e.subimage=ot,$e.resize=It,$e._reglType=\"textureCube\",$e._texture=Nt,Nr.profile&&($e.stats=Nt.stats),$e.destroy=function(){Nt.decRef()},$e}function O(){for(var ne=0;ne>ht,Be.height>>ht,0,Be.internalformat,Be.type,null);else for(var Yt=0;Yt<6;++Yt)Me.texImage2D(ea+Yt,ht,Be.internalformat,Be.width>>ht,Be.height>>ht,0,Be.internalformat,Be.type,null);al(Be.texInfo,Be.target)})}function de(){for(var ne=0;ne=0?Ml=!0:Ni.indexOf(zo)>=0&&(Ml=!1))),(\"depthTexture\"in wa||\"depthStencilTexture\"in wa)&&(Ys=!!(wa.depthTexture||wa.depthStencilTexture)),\"depth\"in wa&&(typeof wa.depth==\"boolean\"?is=wa.depth:(Vl=wa.depth,Zs=!1)),\"stencil\"in wa&&(typeof wa.stencil==\"boolean\"?Zs=wa.stencil:(ss=wa.stencil,is=!1)),\"depthStencil\"in wa&&(typeof wa.depthStencil==\"boolean\"?is=Zs=wa.depthStencil:(Vs=wa.depthStencil,is=!1,Zs=!1))}var io=null,Y=null,D=null,J=null;if(Array.isArray(Va))io=Va.map(oi);else if(Va)io=[oi(Va)];else for(io=new Array(al),ia=0;ia0&&(Cn.depth=Bi[0].depth,Cn.stencil=Bi[0].stencil,Cn.depthStencil=Bi[0].depthStencil),Bi[Ki]?Bi[Ki](Cn):Bi[Ki]=si(Cn)}return e(pn,{width:ia,height:ia,color:zo})}function Nn(aa){var Ki,Cn=aa|0;if(Cn===pn.width)return pn;var ia=pn.color;for(Ki=0;Ki=ia.byteLength?sa.subdata(ia):(sa.destroy(),si.buffers[aa]=null)),si.buffers[aa]||(sa=si.buffers[aa]=Vr.create(Ki,If,!1,!0)),Cn.buffer=Vr.getBuffer(sa),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1,pn[aa]=1}else Vr.getBuffer(Ki)?(Cn.buffer=Vr.getBuffer(Ki),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1):Vr.getBuffer(Ki.buffer)?(Cn.buffer=Vr.getBuffer(Ki.buffer),Cn.size=(+Ki.size||Cn.buffer.dimension)|0,Cn.normalized=!!Ki.normalized||!1,\"type\"in Ki?Cn.type=un[Ki.type]:Cn.type=Cn.buffer.dtype,Cn.offset=(Ki.offset||0)|0,Cn.stride=(Ki.stride||0)|0,Cn.divisor=(Ki.divisor||0)|0,Cn.state=1):\"x\"in Ki&&(Cn.x=+Ki.x||0,Cn.y=+Ki.y||0,Cn.z=+Ki.z||0,Cn.w=+Ki.w||0,Cn.state=2)}for(var ba=0;ba1)for(var Ji=0;JiTr&&(Tr=Zr.stats.uniformsCount)}),Tr},Ot.getMaxAttributesCount=function(){var Tr=0;return Si.forEach(function(Zr){Zr.stats.attributesCount>Tr&&(Tr=Zr.stats.attributesCount)}),Tr});function oi(){Vr={},Or={};for(var Tr=0;Tr16&&(Ot=Yi(Ot,Me.length*8));for(var Lr=Array(16),Vr=Array(16),Or=0;Or<16;Or++)Lr[Or]=Ot[Or]^909522486,Vr[Or]=Ot[Or]^1549556828;var Nr=Yi(Lr.concat(Bc(bt)),512+bt.length*8);return kt(Yi(Vr.concat(Nr),768))}function vu(Me){for(var bt=ah?\"0123456789ABCDEF\":\"0123456789abcdef\",Ot=\"\",Lr,Vr=0;Vr>>4&15)+bt.charAt(Lr&15);return Ot}function Oc(Me){for(var bt=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",Ot=\"\",Lr=Me.length,Vr=0;VrMe.length*8?Ot+=Zu:Ot+=bt.charAt(Or>>>6*(3-Nr)&63);return Ot}function cf(Me,bt){var Ot=bt.length,Lr=Array(),Vr,Or,Nr,vi,Ni=Array(Math.ceil(Me.length/2));for(Vr=0;Vr0;){for(vi=Array(),Nr=0,Vr=0;Vr0||Or>0)&&(vi[vi.length]=Or);Lr[Lr.length]=Nr,Ni=vi}var qi=\"\";for(Vr=Lr.length-1;Vr>=0;Vr--)qi+=bt.charAt(Lr[Vr]);var Si=Math.ceil(Me.length*8/(Math.log(bt.length)/Math.log(2)));for(Vr=qi.length;Vr>>6&31,128|Lr&63):Lr<=65535?bt+=String.fromCharCode(224|Lr>>>12&15,128|Lr>>>6&63,128|Lr&63):Lr<=2097151&&(bt+=String.fromCharCode(240|Lr>>>18&7,128|Lr>>>12&63,128|Lr>>>6&63,128|Lr&63));return bt}function Bc(Me){for(var bt=Array(Me.length>>2),Ot=0;Ot>5]|=(Me.charCodeAt(Ot/8)&255)<<24-Ot%32;return bt}function kt(Me){for(var bt=\"\",Ot=0;Ot>5]>>>24-Ot%32&255);return bt}function Zt(Me,bt){return Me>>>bt|Me<<32-bt}function Mr(Me,bt){return Me>>>bt}function xr(Me,bt,Ot){return Me&bt^~Me&Ot}function Kr(Me,bt,Ot){return Me&bt^Me&Ot^bt&Ot}function Mi(Me){return Zt(Me,2)^Zt(Me,13)^Zt(Me,22)}function Wi(Me){return Zt(Me,6)^Zt(Me,11)^Zt(Me,25)}function dn(Me){return Zt(Me,7)^Zt(Me,18)^Mr(Me,3)}function wn(Me){return Zt(Me,17)^Zt(Me,19)^Mr(Me,10)}var On=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Yi(Me,bt){var Ot=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Lr=new Array(64),Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr;for(Me[bt>>5]|=128<<24-bt%32,Me[(bt+64>>9<<4)+15]=bt,Qi=0;Qi>16)+(bt>>16)+(Ot>>16);return Lr<<16|Ot&65535}function an(Me){return Array.prototype.slice.call(Me)}function Fi(Me){return an(Me).join(\"\")}function ta(Me){var bt=Me&&Me.cache,Ot=0,Lr=[],Vr=[],Or=[];function Nr(oi,Tr){var Zr=Tr&&Tr.stable;if(!Zr){for(var yi=0;yi0&&(oi.push(Ii,\"=\"),oi.push.apply(oi,an(arguments)),oi.push(\";\")),Ii}return e(Tr,{def:yi,toString:function(){return Fi([Zr.length>0?\"var \"+Zr.join(\",\")+\";\":\"\",Fi(oi)])}})}function Ni(){var oi=vi(),Tr=vi(),Zr=oi.toString,yi=Tr.toString;function Ii(ui,nn){Tr(ui,nn,\"=\",oi.def(ui,nn),\";\")}return e(function(){oi.apply(oi,an(arguments))},{def:oi.def,entry:oi,exit:Tr,save:Ii,set:function(ui,nn,Xi){Ii(ui,nn),oi(ui,nn,\"=\",Xi,\";\")},toString:function(){return Zr()+yi()}})}function qi(){var oi=Fi(arguments),Tr=Ni(),Zr=Ni(),yi=Tr.toString,Ii=Zr.toString;return e(Tr,{then:function(){return Tr.apply(Tr,an(arguments)),this},else:function(){return Zr.apply(Zr,an(arguments)),this},toString:function(){var ui=Ii();return ui&&(ui=\"else{\"+ui+\"}\"),Fi([\"if(\",oi,\"){\",yi(),\"}\",ui])}})}var Si=vi(),Vn={};function Qi(oi,Tr){var Zr=[];function yi(){var qn=\"a\"+Zr.length;return Zr.push(qn),qn}Tr=Tr||0;for(var Ii=0;Ii\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},ii={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},di={cw:Te,ccw:Oe};function Li(Me){return Array.isArray(Me)||qr(Me)||jr(Me)}function Ti(Me){return Me.sort(function(bt,Ot){return bt===ee?-1:Ot===ee?1:bt=1,Lr>=2,bt)}else if(Ot===Zo){var Vr=Me.data;return new Qr(Vr.thisDep,Vr.contextDep,Vr.propDep,bt)}else{if(Ot===Ss)return new Qr(!1,!1,!1,bt);if(Ot===as){for(var Or=!1,Nr=!1,vi=!1,Ni=0;Ni=1&&(Nr=!0),Si>=2&&(vi=!0)}else qi.type===Zo&&(Or=Or||qi.data.thisDep,Nr=Nr||qi.data.contextDep,vi=vi||qi.data.propDep)}return new Qr(Or,Nr,vi,bt)}else return new Qr(Ot===bo,Ot===Ka,Ot===Dn,bt)}}var na=new Qr(!1,!1,!1,function(){});function Ea(Me,bt,Ot,Lr,Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr){var Zr=qi.Record,yi={add:32774,subtract:32778,\"reverse subtract\":32779};Ot.ext_blend_minmax&&(yi.min=Ve,yi.max=Ye);var Ii=Ot.angle_instanced_arrays,ui=Ot.webgl_draw_buffers,nn=Ot.oes_vertex_array_object,Xi={dirty:!0,profile:Tr.profile},qn={},fi=[],si={},mn={};function Ji(Ne){return Ne.replace(\".\",\"_\")}function Ui(Ne,$e,ot){var It=Ji(Ne);fi.push(Ne),qn[It]=Xi[It]=!!ot,si[It]=$e}function Bi(Ne,$e,ot){var It=Ji(Ne);fi.push(Ne),Array.isArray(ot)?(Xi[It]=ot.slice(),qn[It]=ot.slice()):Xi[It]=qn[It]=ot,mn[It]=$e}function pn(Ne){return!!isNaN(Ne)}Ui(ws,Ci),Ui(Ho,ri),Bi(ml,\"blendColor\",[0,0,0,0]),Bi(Ws,\"blendEquationSeparate\",[pr,pr]),Bi(Ls,\"blendFuncSeparate\",[dr,Wt,dr,Wt]),Ui(va,sn,!0),Bi(no,\"depthFunc\",Ur),Bi(ys,\"depthRange\",[0,1]),Bi(rs,\"depthMask\",!0),Bi(Ql,Ql,[!0,!0,!0,!0]),Ui(Cu,Hr),Bi(Yu,\"cullFace\",se),Bi(Nc,Nc,Oe),Bi(pu,pu,1),Ui(Uc,Yn),Bi(xu,\"polygonOffset\",[0,0]),Ui(Ac,Aa),Ui(Ua,fa),Bi(oo,\"sampleCoverage\",[1,!1]),Ui(Vc,cn),Bi(hc,\"stencilMask\",-1),Bi(Ku,\"stencilFunc\",[Pt,0,-1]),Bi(ue,\"stencilOpSeparate\",[X,at,at,at]),Bi(w,\"stencilOpSeparate\",[se,at,at,at]),Ui(B,Ln),Bi(Q,\"scissor\",[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]),Bi(ee,ee,[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]);var Nn={gl:Me,context:Qi,strings:bt,next:qn,current:Xi,draw:Vn,elements:Or,buffer:Vr,shader:Si,attributes:qi.state,vao:qi,uniforms:Ni,framebuffer:vi,extensions:Ot,timer:ji,isBufferArgs:Li},aa={primTypes:Mn,compareFuncs:Wr,blendFuncs:xi,blendEquations:yi,stencilOps:ii,glTypes:un,orientationType:di};ui&&(aa.backBuffer=[se],aa.drawBuffer=S(Lr.maxDrawbuffers,function(Ne){return Ne===0?[0]:S(Ne,function($e){return gi+$e})}));var Ki=0;function Cn(){var Ne=ta({cache:oi}),$e=Ne.link,ot=Ne.global;Ne.id=Ki++,Ne.batchId=\"0\";var It=$e(Nn),Bt=Ne.shared={props:\"a0\"};Object.keys(Nn).forEach(function(Dt){Bt[Dt]=ot.def(It,\".\",Dt)});var Ft=Ne.next={},Ut=Ne.current={};Object.keys(mn).forEach(function(Dt){Array.isArray(Xi[Dt])&&(Ft[Dt]=ot.def(Bt.next,\".\",Dt),Ut[Dt]=ot.def(Bt.current,\".\",Dt))});var zt=Ne.constants={};Object.keys(aa).forEach(function(Dt){zt[Dt]=ot.def(JSON.stringify(aa[Dt]))}),Ne.invoke=function(Dt,vt){switch(vt.type){case Zn:var lr=[\"this\",Bt.context,Bt.props,Ne.batchId];return Dt.def($e(vt.data),\".call(\",lr.slice(0,Math.max(vt.data.length+1,4)),\")\");case Dn:return Dt.def(Bt.props,vt.data);case Ka:return Dt.def(Bt.context,vt.data);case bo:return Dt.def(\"this\",vt.data);case Zo:return vt.data.append(Ne,Dt),vt.data.ref;case Ss:return vt.data.toString();case as:return vt.data.map(function(yr){return Ne.invoke(Dt,yr)})}},Ne.attribCache={};var _t={};return Ne.scopeAttrib=function(Dt){var vt=bt.id(Dt);if(vt in _t)return _t[vt];var lr=qi.scope[vt];lr||(lr=qi.scope[vt]=new Zr);var yr=_t[vt]=$e(lr);return yr},Ne}function ia(Ne){var $e=Ne.static,ot=Ne.dynamic,It;if(le in $e){var Bt=!!$e[le];It=kn(function(Ut,zt){return Bt}),It.enable=Bt}else if(le in ot){var Ft=ot[le];It=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}return It}function sa(Ne,$e){var ot=Ne.static,It=Ne.dynamic;if(ze in ot){var Bt=ot[ze];return Bt?(Bt=vi.getFramebuffer(Bt),kn(function(Ut,zt){var _t=Ut.link(Bt),Dt=Ut.shared;zt.set(Dt.framebuffer,\".next\",_t);var vt=Dt.context;return zt.set(vt,\".\"+qe,_t+\".width\"),zt.set(vt,\".\"+Qe,_t+\".height\"),_t})):kn(function(Ut,zt){var _t=Ut.shared;zt.set(_t.framebuffer,\".next\",\"null\");var Dt=_t.context;return zt.set(Dt,\".\"+qe,Dt+\".\"+jt),zt.set(Dt,\".\"+Qe,Dt+\".\"+ar),\"null\"})}else if(ze in It){var Ft=It[ze];return Bn(Ft,function(Ut,zt){var _t=Ut.invoke(zt,Ft),Dt=Ut.shared,vt=Dt.framebuffer,lr=zt.def(vt,\".getFramebuffer(\",_t,\")\");zt.set(vt,\".next\",lr);var yr=Dt.context;return zt.set(yr,\".\"+qe,lr+\"?\"+lr+\".width:\"+yr+\".\"+jt),zt.set(yr,\".\"+Qe,lr+\"?\"+lr+\".height:\"+yr+\".\"+ar),lr})}else return null}function ba(Ne,$e,ot){var It=Ne.static,Bt=Ne.dynamic;function Ft(_t){if(_t in It){var Dt=It[_t],vt=!0,lr=Dt.x|0,yr=Dt.y|0,Br,Di;return\"width\"in Dt?Br=Dt.width|0:vt=!1,\"height\"in Dt?Di=Dt.height|0:vt=!1,new Qr(!vt&&$e&&$e.thisDep,!vt&&$e&&$e.contextDep,!vt&&$e&&$e.propDep,function(gn,tn){var Ei=gn.shared.context,Oi=Br;\"width\"in Dt||(Oi=tn.def(Ei,\".\",qe,\"-\",lr));var Gi=Di;return\"height\"in Dt||(Gi=tn.def(Ei,\".\",Qe,\"-\",yr)),[lr,yr,Oi,Gi]})}else if(_t in Bt){var ci=Bt[_t],bi=Bn(ci,function(gn,tn){var Ei=gn.invoke(tn,ci),Oi=gn.shared.context,Gi=tn.def(Ei,\".x|0\"),on=tn.def(Ei,\".y|0\"),zn=tn.def('\"width\" in ',Ei,\"?\",Ei,\".width|0:\",\"(\",Oi,\".\",qe,\"-\",Gi,\")\"),Ja=tn.def('\"height\" in ',Ei,\"?\",Ei,\".height|0:\",\"(\",Oi,\".\",Qe,\"-\",on,\")\");return[Gi,on,zn,Ja]});return $e&&(bi.thisDep=bi.thisDep||$e.thisDep,bi.contextDep=bi.contextDep||$e.contextDep,bi.propDep=bi.propDep||$e.propDep),bi}else return $e?new Qr($e.thisDep,$e.contextDep,$e.propDep,function(gn,tn){var Ei=gn.shared.context;return[0,0,tn.def(Ei,\".\",qe),tn.def(Ei,\".\",Qe)]}):null}var Ut=Ft(ee);if(Ut){var zt=Ut;Ut=new Qr(Ut.thisDep,Ut.contextDep,Ut.propDep,function(_t,Dt){var vt=zt.append(_t,Dt),lr=_t.shared.context;return Dt.set(lr,\".\"+Xe,vt[2]),Dt.set(lr,\".\"+nt,vt[3]),vt})}return{viewport:Ut,scissor_box:Ft(Q)}}function is(Ne,$e){var ot=Ne.static,It=typeof ot[ut]==\"string\"&&typeof ot[Ze]==\"string\";if(It){if(Object.keys($e.dynamic).length>0)return null;var Bt=$e.static,Ft=Object.keys(Bt);if(Ft.length>0&&typeof Bt[Ft[0]]==\"number\"){for(var Ut=[],zt=0;zt\"+Gi+\"?\"+vt+\".constant[\"+Gi+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",Br,\"(\",vt,\".buffer)){\",gn,\"=\",Di,\".createStream(\",br,\",\",vt,\".buffer);\",\"}else{\",gn,\"=\",Di,\".getBuffer(\",vt,\".buffer);\",\"}\",tn,'=\"type\" in ',vt,\"?\",yr.glTypes,\"[\",vt,\".type]:\",gn,\".dtype;\",ci.normalized,\"=!!\",vt,\".normalized;\");function Ei(Oi){Dt(ci[Oi],\"=\",vt,\".\",Oi,\"|0;\")}return Ei(\"size\"),Ei(\"offset\"),Ei(\"stride\"),Ei(\"divisor\"),Dt(\"}}\"),Dt.exit(\"if(\",ci.isStream,\"){\",Di,\".destroyStream(\",gn,\");\",\"}\"),ci}Bt[Ft]=Bn(Ut,zt)}),Bt}function al(Ne){var $e=Ne.static,ot=Ne.dynamic,It={};return Object.keys($e).forEach(function(Bt){var Ft=$e[Bt];It[Bt]=kn(function(Ut,zt){return typeof Ft==\"number\"||typeof Ft==\"boolean\"?\"\"+Ft:Ut.link(Ft)})}),Object.keys(ot).forEach(function(Bt){var Ft=ot[Bt];It[Bt]=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}),It}function Vl(Ne,$e,ot,It,Bt){var Ft=Ne.static,Ut=Ne.dynamic,zt=is(Ne,$e),_t=sa(Ne,Bt),Dt=ba(Ne,_t,Bt),vt=Va(Ne,Bt),lr=Ml(Ne,Bt),yr=Zs(Ne,Bt,zt);function Br(Ei){var Oi=Dt[Ei];Oi&&(lr[Ei]=Oi)}Br(ee),Br(Ji(Q));var Di=Object.keys(lr).length>0,ci={framebuffer:_t,draw:vt,shader:yr,state:lr,dirty:Di,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(ci.profile=ia(Ne,Bt),ci.uniforms=zo(ot,Bt),ci.drawVAO=ci.scopeVAO=vt.vao,!ci.drawVAO&&yr.program&&!zt&&Ot.angle_instanced_arrays&&vt.static.elements){var bi=!0,gn=yr.program.attributes.map(function(Ei){var Oi=$e.static[Ei];return bi=bi&&!!Oi,Oi});if(bi&&gn.length>0){var tn=qi.getVAO(qi.createVAO({attributes:gn,elements:vt.static.elements}));ci.drawVAO=new Qr(null,null,null,function(Ei,Oi){return Ei.link(tn)}),ci.useVAO=!0}}return zt?ci.useVAO=!0:ci.attributes=Qs($e,Bt),ci.context=al(It,Bt),ci}function ss(Ne,$e,ot){var It=Ne.shared,Bt=It.context,Ft=Ne.scope();Object.keys(ot).forEach(function(Ut){$e.save(Bt,\".\"+Ut);var zt=ot[Ut],_t=zt.append(Ne,$e);Array.isArray(_t)?Ft(Bt,\".\",Ut,\"=[\",_t.join(),\"];\"):Ft(Bt,\".\",Ut,\"=\",_t,\";\")}),$e(Ft)}function Vs(Ne,$e,ot,It){var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.framebuffer,zt;ui&&(zt=$e.def(Bt.extensions,\".webgl_draw_buffers\"));var _t=Ne.constants,Dt=_t.drawBuffer,vt=_t.backBuffer,lr;ot?lr=ot.append(Ne,$e):lr=$e.def(Ut,\".next\"),It||$e(\"if(\",lr,\"!==\",Ut,\".cur){\"),$e(\"if(\",lr,\"){\",Ft,\".bindFramebuffer(\",zr,\",\",lr,\".framebuffer);\"),ui&&$e(zt,\".drawBuffersWEBGL(\",Dt,\"[\",lr,\".colorAttachments.length]);\"),$e(\"}else{\",Ft,\".bindFramebuffer(\",zr,\",null);\"),ui&&$e(zt,\".drawBuffersWEBGL(\",vt,\");\"),$e(\"}\",Ut,\".cur=\",lr,\";\"),It||$e(\"}\")}function Ys(Ne,$e,ot){var It=Ne.shared,Bt=It.gl,Ft=Ne.current,Ut=Ne.next,zt=It.current,_t=It.next,Dt=Ne.cond(zt,\".dirty\");fi.forEach(function(vt){var lr=Ji(vt);if(!(lr in ot.state)){var yr,Br;if(lr in Ut){yr=Ut[lr],Br=Ft[lr];var Di=S(Xi[lr].length,function(bi){return Dt.def(yr,\"[\",bi,\"]\")});Dt(Ne.cond(Di.map(function(bi,gn){return bi+\"!==\"+Br+\"[\"+gn+\"]\"}).join(\"||\")).then(Bt,\".\",mn[lr],\"(\",Di,\");\",Di.map(function(bi,gn){return Br+\"[\"+gn+\"]=\"+bi}).join(\";\"),\";\"))}else{yr=Dt.def(_t,\".\",lr);var ci=Ne.cond(yr,\"!==\",zt,\".\",lr);Dt(ci),lr in si?ci(Ne.cond(yr).then(Bt,\".enable(\",si[lr],\");\").else(Bt,\".disable(\",si[lr],\");\"),zt,\".\",lr,\"=\",yr,\";\"):ci(Bt,\".\",mn[lr],\"(\",yr,\");\",zt,\".\",lr,\"=\",yr,\";\")}}}),Object.keys(ot.state).length===0&&Dt(zt,\".dirty=false;\"),$e(Dt)}function wa(Ne,$e,ot,It){var Bt=Ne.shared,Ft=Ne.current,Ut=Bt.current,zt=Bt.gl,_t;Ti(Object.keys(ot)).forEach(function(Dt){var vt=ot[Dt];if(!(It&&!It(vt))){var lr=vt.append(Ne,$e);if(si[Dt]){var yr=si[Dt];Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(Ne.cond(_t).then(zt,\".enable(\",yr,\");\").else(zt,\".disable(\",yr,\");\")),$e(Ut,\".\",Dt,\"=\",_t,\";\")):($e(Ne.cond(lr).then(zt,\".enable(\",yr,\");\").else(zt,\".disable(\",yr,\");\")),$e(Ut,\".\",Dt,\"=\",lr,\";\"))}else if(En(lr)){var Br=Ft[Dt];$e(zt,\".\",mn[Dt],\"(\",lr,\");\",lr.map(function(Di,ci){return Br+\"[\"+ci+\"]=\"+Di}).join(\";\"),\";\")}else Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(zt,\".\",mn[Dt],\"(\",_t,\");\",Ut,\".\",Dt,\"=\",_t,\";\")):$e(zt,\".\",mn[Dt],\"(\",lr,\");\",Ut,\".\",Dt,\"=\",lr,\";\")}})}function ol(Ne,$e){Ii&&(Ne.instancing=$e.def(Ne.shared.extensions,\".angle_instanced_arrays\"))}function io(Ne,$e,ot,It,Bt){var Ft=Ne.shared,Ut=Ne.stats,zt=Ft.current,_t=Ft.timer,Dt=ot.profile;function vt(){return typeof performance==\"undefined\"?\"Date.now()\":\"performance.now()\"}var lr,yr;function Br(Ei){lr=$e.def(),Ei(lr,\"=\",vt(),\";\"),typeof Bt==\"string\"?Ei(Ut,\".count+=\",Bt,\";\"):Ei(Ut,\".count++;\"),ji&&(It?(yr=$e.def(),Ei(yr,\"=\",_t,\".getNumPendingQueries();\")):Ei(_t,\".beginQuery(\",Ut,\");\"))}function Di(Ei){Ei(Ut,\".cpuTime+=\",vt(),\"-\",lr,\";\"),ji&&(It?Ei(_t,\".pushScopeStats(\",yr,\",\",_t,\".getNumPendingQueries(),\",Ut,\");\"):Ei(_t,\".endQuery();\"))}function ci(Ei){var Oi=$e.def(zt,\".profile\");$e(zt,\".profile=\",Ei,\";\"),$e.exit(zt,\".profile=\",Oi,\";\")}var bi;if(Dt){if(Pn(Dt)){Dt.enable?(Br($e),Di($e.exit),ci(\"true\")):ci(\"false\");return}bi=Dt.append(Ne,$e),ci(bi)}else bi=$e.def(zt,\".profile\");var gn=Ne.block();Br(gn),$e(\"if(\",bi,\"){\",gn,\"}\");var tn=Ne.block();Di(tn),$e.exit(\"if(\",bi,\"){\",tn,\"}\")}function Y(Ne,$e,ot,It,Bt){var Ft=Ne.shared;function Ut(_t){switch(_t){case Co:case Ps:case hl:return 2;case Qa:case Ts:case Ul:return 3;case mo:case wo:case Lu:return 4;default:return 1}}function zt(_t,Dt,vt){var lr=Ft.gl,yr=$e.def(_t,\".location\"),Br=$e.def(Ft.attributes,\"[\",yr,\"]\"),Di=vt.state,ci=vt.buffer,bi=[vt.x,vt.y,vt.z,vt.w],gn=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function tn(){$e(\"if(!\",Br,\".buffer){\",lr,\".enableVertexAttribArray(\",yr,\");}\");var Oi=vt.type,Gi;if(vt.size?Gi=$e.def(vt.size,\"||\",Dt):Gi=Dt,$e(\"if(\",Br,\".type!==\",Oi,\"||\",Br,\".size!==\",Gi,\"||\",gn.map(function(zn){return Br+\".\"+zn+\"!==\"+vt[zn]}).join(\"||\"),\"){\",lr,\".bindBuffer(\",br,\",\",ci,\".buffer);\",lr,\".vertexAttribPointer(\",[yr,Gi,Oi,vt.normalized,vt.stride,vt.offset],\");\",Br,\".type=\",Oi,\";\",Br,\".size=\",Gi,\";\",gn.map(function(zn){return Br+\".\"+zn+\"=\"+vt[zn]+\";\"}).join(\"\"),\"}\"),Ii){var on=vt.divisor;$e(\"if(\",Br,\".divisor!==\",on,\"){\",Ne.instancing,\".vertexAttribDivisorANGLE(\",[yr,on],\");\",Br,\".divisor=\",on,\";}\")}}function Ei(){$e(\"if(\",Br,\".buffer){\",lr,\".disableVertexAttribArray(\",yr,\");\",Br,\".buffer=null;\",\"}if(\",Ca.map(function(Oi,Gi){return Br+\".\"+Oi+\"!==\"+bi[Gi]}).join(\"||\"),\"){\",lr,\".vertexAttrib4f(\",yr,\",\",bi,\");\",Ca.map(function(Oi,Gi){return Br+\".\"+Oi+\"=\"+bi[Gi]+\";\"}).join(\"\"),\"}\")}Di===La?tn():Di===Na?Ei():($e(\"if(\",Di,\"===\",La,\"){\"),tn(),$e(\"}else{\"),Ei(),$e(\"}\"))}It.forEach(function(_t){var Dt=_t.name,vt=ot.attributes[Dt],lr;if(vt){if(!Bt(vt))return;lr=vt.append(Ne,$e)}else{if(!Bt(na))return;var yr=Ne.scopeAttrib(Dt);lr={},Object.keys(new Zr).forEach(function(Br){lr[Br]=$e.def(yr,\".\",Br)})}zt(Ne.link(_t),Ut(_t.info.type),lr)})}function D(Ne,$e,ot,It,Bt,Ft){for(var Ut=Ne.shared,zt=Ut.gl,_t,Dt=0;Dt1){for(var co=[],ts=[],so=0;so>1)\",ci],\");\")}function on(){ot(bi,\".drawArraysInstancedANGLE(\",[yr,Br,Di,ci],\");\")}vt&&vt!==\"null\"?tn?Gi():(ot(\"if(\",vt,\"){\"),Gi(),ot(\"}else{\"),on(),ot(\"}\")):on()}function Oi(){function Gi(){ot(Ft+\".drawElements(\"+[yr,Di,gn,Br+\"<<((\"+gn+\"-\"+Ra+\")>>1)\"]+\");\")}function on(){ot(Ft+\".drawArrays(\"+[yr,Br,Di]+\");\")}vt&&vt!==\"null\"?tn?Gi():(ot(\"if(\",vt,\"){\"),Gi(),ot(\"}else{\"),on(),ot(\"}\")):on()}Ii&&(typeof ci!=\"number\"||ci>=0)?typeof ci==\"string\"?(ot(\"if(\",ci,\">0){\"),Ei(),ot(\"}else if(\",ci,\"<0){\"),Oi(),ot(\"}\")):Ei():Oi()}function O(Ne,$e,ot,It,Bt){var Ft=Cn(),Ut=Ft.proc(\"body\",Bt);return Ii&&(Ft.instancing=Ut.def(Ft.shared.extensions,\".angle_instanced_arrays\")),Ne(Ft,Ut,ot,It),Ft.compile().body}function K(Ne,$e,ot,It){ol(Ne,$e),ot.useVAO?ot.drawVAO?$e(Ne.shared.vao,\".setVAO(\",ot.drawVAO.append(Ne,$e),\");\"):$e(Ne.shared.vao,\".setVAO(\",Ne.shared.vao,\".targetVAO);\"):($e(Ne.shared.vao,\".setVAO(null);\"),Y(Ne,$e,ot,It.attributes,function(){return!0})),D(Ne,$e,ot,It.uniforms,function(){return!0},!1),J(Ne,$e,$e,ot)}function de(Ne,$e){var ot=Ne.proc(\"draw\",1);ol(Ne,ot),ss(Ne,ot,$e.context),Vs(Ne,ot,$e.framebuffer),Ys(Ne,ot,$e),wa(Ne,ot,$e.state),io(Ne,ot,$e,!1,!0);var It=$e.shader.progVar.append(Ne,ot);if(ot(Ne.shared.gl,\".useProgram(\",It,\".program);\"),$e.shader.program)K(Ne,ot,$e,$e.shader.program);else{ot(Ne.shared.vao,\".setVAO(null);\");var Bt=Ne.global.def(\"{}\"),Ft=ot.def(It,\".id\"),Ut=ot.def(Bt,\"[\",Ft,\"]\");ot(Ne.cond(Ut).then(Ut,\".call(this,a0);\").else(Ut,\"=\",Bt,\"[\",Ft,\"]=\",Ne.link(function(zt){return O(K,Ne,$e,zt,1)}),\"(\",It,\");\",Ut,\".call(this,a0);\"))}Object.keys($e.state).length>0&&ot(Ne.shared.current,\".dirty=true;\"),Ne.shared.vao&&ot(Ne.shared.vao,\".setVAO(null);\")}function ne(Ne,$e,ot,It){Ne.batchId=\"a1\",ol(Ne,$e);function Bt(){return!0}Y(Ne,$e,ot,It.attributes,Bt),D(Ne,$e,ot,It.uniforms,Bt,!1),J(Ne,$e,$e,ot)}function be(Ne,$e,ot,It){ol(Ne,$e);var Bt=ot.contextDep,Ft=$e.def(),Ut=\"a0\",zt=\"a1\",_t=$e.def();Ne.shared.props=_t,Ne.batchId=Ft;var Dt=Ne.scope(),vt=Ne.scope();$e(Dt.entry,\"for(\",Ft,\"=0;\",Ft,\"<\",zt,\";++\",Ft,\"){\",_t,\"=\",Ut,\"[\",Ft,\"];\",vt,\"}\",Dt.exit);function lr(gn){return gn.contextDep&&Bt||gn.propDep}function yr(gn){return!lr(gn)}if(ot.needsContext&&ss(Ne,vt,ot.context),ot.needsFramebuffer&&Vs(Ne,vt,ot.framebuffer),wa(Ne,vt,ot.state,lr),ot.profile&&lr(ot.profile)&&io(Ne,vt,ot,!1,!0),It)ot.useVAO?ot.drawVAO?lr(ot.drawVAO)?vt(Ne.shared.vao,\".setVAO(\",ot.drawVAO.append(Ne,vt),\");\"):Dt(Ne.shared.vao,\".setVAO(\",ot.drawVAO.append(Ne,Dt),\");\"):Dt(Ne.shared.vao,\".setVAO(\",Ne.shared.vao,\".targetVAO);\"):(Dt(Ne.shared.vao,\".setVAO(null);\"),Y(Ne,Dt,ot,It.attributes,yr),Y(Ne,vt,ot,It.attributes,lr)),D(Ne,Dt,ot,It.uniforms,yr,!1),D(Ne,vt,ot,It.uniforms,lr,!0),J(Ne,Dt,vt,ot);else{var Br=Ne.global.def(\"{}\"),Di=ot.shader.progVar.append(Ne,vt),ci=vt.def(Di,\".id\"),bi=vt.def(Br,\"[\",ci,\"]\");vt(Ne.shared.gl,\".useProgram(\",Di,\".program);\",\"if(!\",bi,\"){\",bi,\"=\",Br,\"[\",ci,\"]=\",Ne.link(function(gn){return O(ne,Ne,ot,gn,2)}),\"(\",Di,\");}\",bi,\".call(this,a0[\",Ft,\"],\",Ft,\");\")}}function Be(Ne,$e){var ot=Ne.proc(\"batch\",2);Ne.batchId=\"0\",ol(Ne,ot);var It=!1,Bt=!0;Object.keys($e.context).forEach(function(Br){It=It||$e.context[Br].propDep}),It||(ss(Ne,ot,$e.context),Bt=!1);var Ft=$e.framebuffer,Ut=!1;Ft?(Ft.propDep?It=Ut=!0:Ft.contextDep&&It&&(Ut=!0),Ut||Vs(Ne,ot,Ft)):Vs(Ne,ot,null),$e.state.viewport&&$e.state.viewport.propDep&&(It=!0);function zt(Br){return Br.contextDep&&It||Br.propDep}Ys(Ne,ot,$e),wa(Ne,ot,$e.state,function(Br){return!zt(Br)}),(!$e.profile||!zt($e.profile))&&io(Ne,ot,$e,!1,\"a1\"),$e.contextDep=It,$e.needsContext=Bt,$e.needsFramebuffer=Ut;var _t=$e.shader.progVar;if(_t.contextDep&&It||_t.propDep)be(Ne,ot,$e,null);else{var Dt=_t.append(Ne,ot);if(ot(Ne.shared.gl,\".useProgram(\",Dt,\".program);\"),$e.shader.program)be(Ne,ot,$e,$e.shader.program);else{ot(Ne.shared.vao,\".setVAO(null);\");var vt=Ne.global.def(\"{}\"),lr=ot.def(Dt,\".id\"),yr=ot.def(vt,\"[\",lr,\"]\");ot(Ne.cond(yr).then(yr,\".call(this,a0,a1);\").else(yr,\"=\",vt,\"[\",lr,\"]=\",Ne.link(function(Br){return O(be,Ne,$e,Br,2)}),\"(\",Dt,\");\",yr,\".call(this,a0,a1);\"))}}Object.keys($e.state).length>0&&ot(Ne.shared.current,\".dirty=true;\"),Ne.shared.vao&&ot(Ne.shared.vao,\".setVAO(null);\")}function ht(Ne,$e){var ot=Ne.proc(\"scope\",3);Ne.batchId=\"a2\";var It=Ne.shared,Bt=It.current;if(ss(Ne,ot,$e.context),$e.framebuffer&&$e.framebuffer.append(Ne,ot),Ti(Object.keys($e.state)).forEach(function(zt){var _t=$e.state[zt],Dt=_t.append(Ne,ot);En(Dt)?Dt.forEach(function(vt,lr){pn(vt)?ot.set(Ne.next[zt],\"[\"+lr+\"]\",vt):ot.set(Ne.next[zt],\"[\"+lr+\"]\",Ne.link(vt,{stable:!0}))}):Pn(_t)?ot.set(It.next,\".\"+zt,Ne.link(Dt,{stable:!0})):ot.set(It.next,\".\"+zt,Dt)}),io(Ne,ot,$e,!0,!0),[Mt,mr,$t,Cr,Jt].forEach(function(zt){var _t=$e.draw[zt];if(_t){var Dt=_t.append(Ne,ot);pn(Dt)?ot.set(It.draw,\".\"+zt,Dt):ot.set(It.draw,\".\"+zt,Ne.link(Dt),{stable:!0})}}),Object.keys($e.uniforms).forEach(function(zt){var _t=$e.uniforms[zt].append(Ne,ot);Array.isArray(_t)&&(_t=\"[\"+_t.map(function(Dt){return pn(Dt)?Dt:Ne.link(Dt,{stable:!0})})+\"]\"),ot.set(It.uniforms,\"[\"+Ne.link(bt.id(zt),{stable:!0})+\"]\",_t)}),Object.keys($e.attributes).forEach(function(zt){var _t=$e.attributes[zt].append(Ne,ot),Dt=Ne.scopeAttrib(zt);Object.keys(new Zr).forEach(function(vt){ot.set(Dt,\".\"+vt,_t[vt])})}),$e.scopeVAO){var Ft=$e.scopeVAO.append(Ne,ot);pn(Ft)?ot.set(It.vao,\".targetVAO\",Ft):ot.set(It.vao,\".targetVAO\",Ne.link(Ft,{stable:!0}))}function Ut(zt){var _t=$e.shader[zt];if(_t){var Dt=_t.append(Ne,ot);pn(Dt)?ot.set(It.shader,\".\"+zt,Dt):ot.set(It.shader,\".\"+zt,Ne.link(Dt,{stable:!0}))}}Ut(Ze),Ut(ut),Object.keys($e.state).length>0&&(ot(Bt,\".dirty=true;\"),ot.exit(Bt,\".dirty=true;\")),ot(\"a1(\",Ne.shared.context,\",a0,\",Ne.batchId,\");\")}function Yt(Ne){if(!(typeof Ne!=\"object\"||En(Ne))){for(var $e=Object.keys(Ne),ot=0;ot<$e.length;++ot)if(h.isDynamic(Ne[$e[ot]]))return!0;return!1}}function cr(Ne,$e,ot){var It=$e.static[ot];if(!It||!Yt(It))return;var Bt=Ne.global,Ft=Object.keys(It),Ut=!1,zt=!1,_t=!1,Dt=Ne.global.def(\"{}\");Ft.forEach(function(lr){var yr=It[lr];if(h.isDynamic(yr)){typeof yr==\"function\"&&(yr=It[lr]=h.unbox(yr));var Br=Bn(yr,null);Ut=Ut||Br.thisDep,_t=_t||Br.propDep,zt=zt||Br.contextDep}else{switch(Bt(Dt,\".\",lr,\"=\"),typeof yr){case\"number\":Bt(yr);break;case\"string\":Bt('\"',yr,'\"');break;case\"object\":Array.isArray(yr)&&Bt(\"[\",yr.join(),\"]\");break;default:Bt(Ne.link(yr));break}Bt(\";\")}});function vt(lr,yr){Ft.forEach(function(Br){var Di=It[Br];if(h.isDynamic(Di)){var ci=lr.invoke(yr,Di);yr(Dt,\".\",Br,\"=\",ci,\";\")}})}$e.dynamic[ot]=new h.DynamicVariable(Zo,{thisDep:Ut,contextDep:zt,propDep:_t,ref:Dt,append:vt}),delete $e.static[ot]}function Nt(Ne,$e,ot,It,Bt){var Ft=Cn();Ft.stats=Ft.link(Bt),Object.keys($e.static).forEach(function(zt){cr(Ft,$e,zt)}),fr.forEach(function(zt){cr(Ft,Ne,zt)});var Ut=Vl(Ne,$e,ot,It,Ft);return Ut.shader.program&&(Ut.shader.program.attributes.sort(function(zt,_t){return zt.name<_t.name?-1:1}),Ut.shader.program.uniforms.sort(function(zt,_t){return zt.name<_t.name?-1:1})),de(Ft,Ut),ht(Ft,Ut),Be(Ft,Ut),e(Ft.compile(),{destroy:function(){Ut.shader.program.destroy()}})}return{next:qn,current:Xi,procs:function(){var Ne=Cn(),$e=Ne.proc(\"poll\"),ot=Ne.proc(\"refresh\"),It=Ne.block();$e(It),ot(It);var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.next,zt=Bt.current;It(zt,\".dirty=false;\"),Vs(Ne,$e),Vs(Ne,ot,null,!0);var _t;Ii&&(_t=Ne.link(Ii)),Ot.oes_vertex_array_object&&ot(Ne.link(Ot.oes_vertex_array_object),\".bindVertexArrayOES(null);\");var Dt=ot.def(Bt.attributes),vt=ot.def(0),lr=Ne.cond(vt,\".buffer\");lr.then(Ft,\".enableVertexAttribArray(i);\",Ft,\".bindBuffer(\",br,\",\",vt,\".buffer.buffer);\",Ft,\".vertexAttribPointer(i,\",vt,\".size,\",vt,\".type,\",vt,\".normalized,\",vt,\".stride,\",vt,\".offset);\").else(Ft,\".disableVertexAttribArray(i);\",Ft,\".vertexAttrib4f(i,\",vt,\".x,\",vt,\".y,\",vt,\".z,\",vt,\".w);\",vt,\".buffer=null;\");var yr=Ne.link(Lr.maxAttributes,{stable:!0});return ot(\"for(var i=0;i<\",yr,\";++i){\",vt,\"=\",Dt,\"[i];\",lr,\"}\"),Ii&&ot(\"for(var i=0;i<\",yr,\";++i){\",_t,\".vertexAttribDivisorANGLE(i,\",Dt,\"[i].divisor);\",\"}\"),ot(Ne.shared.vao,\".currentVAO=null;\",Ne.shared.vao,\".setVAO(\",Ne.shared.vao,\".targetVAO);\"),Object.keys(si).forEach(function(Br){var Di=si[Br],ci=It.def(Ut,\".\",Br),bi=Ne.block();bi(\"if(\",ci,\"){\",Ft,\".enable(\",Di,\")}else{\",Ft,\".disable(\",Di,\")}\",zt,\".\",Br,\"=\",ci,\";\"),ot(bi),$e(\"if(\",ci,\"!==\",zt,\".\",Br,\"){\",bi,\"}\")}),Object.keys(mn).forEach(function(Br){var Di=mn[Br],ci=Xi[Br],bi,gn,tn=Ne.block();if(tn(Ft,\".\",Di,\"(\"),En(ci)){var Ei=ci.length;bi=Ne.global.def(Ut,\".\",Br),gn=Ne.global.def(zt,\".\",Br),tn(S(Ei,function(Oi){return bi+\"[\"+Oi+\"]\"}),\");\",S(Ei,function(Oi){return gn+\"[\"+Oi+\"]=\"+bi+\"[\"+Oi+\"];\"}).join(\"\")),$e(\"if(\",S(Ei,function(Oi){return bi+\"[\"+Oi+\"]!==\"+gn+\"[\"+Oi+\"]\"}).join(\"||\"),\"){\",tn,\"}\")}else bi=It.def(Ut,\".\",Br),gn=It.def(zt,\".\",Br),tn(bi,\");\",zt,\".\",Br,\"=\",bi,\";\"),$e(\"if(\",bi,\"!==\",gn,\"){\",tn,\"}\");ot(tn)}),Ne.compile()}(),compile:Nt}}function Ia(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var yo=34918,Da=34919,go=35007,Is=function(Me,bt){if(!bt.ext_disjoint_timer_query)return null;var Ot=[];function Lr(){return Ot.pop()||bt.ext_disjoint_timer_query.createQueryEXT()}function Vr(yi){Ot.push(yi)}var Or=[];function Nr(yi){var Ii=Lr();bt.ext_disjoint_timer_query.beginQueryEXT(go,Ii),Or.push(Ii),ji(Or.length-1,Or.length,yi)}function vi(){bt.ext_disjoint_timer_query.endQueryEXT(go)}function Ni(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var qi=[];function Si(){return qi.pop()||new Ni}function Vn(yi){qi.push(yi)}var Qi=[];function ji(yi,Ii,ui){var nn=Si();nn.startQueryIndex=yi,nn.endQueryIndex=Ii,nn.sum=0,nn.stats=ui,Qi.push(nn)}var oi=[],Tr=[];function Zr(){var yi,Ii,ui=Or.length;if(ui!==0){Tr.length=Math.max(Tr.length,ui+1),oi.length=Math.max(oi.length,ui+1),oi[0]=0,Tr[0]=0;var nn=0;for(yi=0,Ii=0;Ii=0;--O){var K=Nn[O];K&&K(oi,null,0)}Ot.flush(),Si&&Si.update()}function ba(){!ia&&Nn.length>0&&(ia=d.next(sa))}function is(){ia&&(d.cancel(sa),ia=null)}function Zs(O){O.preventDefault(),Vr=!0,is(),aa.forEach(function(K){K()})}function Va(O){Ot.getError(),Vr=!1,Or.restore(),qn.restore(),Ii.restore(),fi.restore(),si.restore(),mn.restore(),nn.restore(),Si&&Si.restore(),Ji.procs.refresh(),ba(),Ki.forEach(function(K){K()})}pn&&(pn.addEventListener(Fo,Zs,!1),pn.addEventListener(Uo,Va,!1));function Ml(){Nn.length=0,is(),pn&&(pn.removeEventListener(Fo,Zs),pn.removeEventListener(Uo,Va)),qn.clear(),mn.clear(),si.clear(),nn.clear(),fi.clear(),ui.clear(),Ii.clear(),Si&&Si.clear(),Cn.forEach(function(O){O()})}function zo(O){function K(Ft){var Ut=e({},Ft);delete Ut.uniforms,delete Ut.attributes,delete Ut.context,delete Ut.vao,\"stencil\"in Ut&&Ut.stencil.op&&(Ut.stencil.opBack=Ut.stencil.opFront=Ut.stencil.op,delete Ut.stencil.op);function zt(_t){if(_t in Ut){var Dt=Ut[_t];delete Ut[_t],Object.keys(Dt).forEach(function(vt){Ut[_t+\".\"+vt]=Dt[vt]})}}return zt(\"blend\"),zt(\"depth\"),zt(\"cull\"),zt(\"stencil\"),zt(\"polygonOffset\"),zt(\"scissor\"),zt(\"sample\"),\"vao\"in Ft&&(Ut.vao=Ft.vao),Ut}function de(Ft,Ut){var zt={},_t={};return Object.keys(Ft).forEach(function(Dt){var vt=Ft[Dt];if(h.isDynamic(vt)){_t[Dt]=h.unbox(vt,Dt);return}else if(Ut&&Array.isArray(vt)){for(var lr=0;lr0)return Ne.call(this,It(Ft|0),Ft|0)}else if(Array.isArray(Ft)){if(Ft.length)return Ne.call(this,Ft,Ft.length)}else return Nt.call(this,Ft)}return e(Bt,{stats:Yt,destroy:function(){cr.destroy()}})}var Qs=mn.setFBO=zo({framebuffer:h.define.call(null,$s,\"framebuffer\")});function al(O,K){var de=0;Ji.procs.poll();var ne=K.color;ne&&(Ot.clearColor(+ne[0]||0,+ne[1]||0,+ne[2]||0,+ne[3]||0),de|=Ms),\"depth\"in K&&(Ot.clearDepth(+K.depth),de|=Xs),\"stencil\"in K&&(Ot.clearStencil(K.stencil|0),de|=Un),Ot.clear(de)}function Vl(O){if(\"framebuffer\"in O)if(O.framebuffer&&O.framebuffer_reglType===\"framebufferCube\")for(var K=0;K<6;++K)Qs(e({framebuffer:O.framebuffer.faces[K]},O),al);else Qs(O,al);else al(null,O)}function ss(O){Nn.push(O);function K(){var de=dl(Nn,O);function ne(){var be=dl(Nn,ne);Nn[be]=Nn[Nn.length-1],Nn.length-=1,Nn.length<=0&&is()}Nn[de]=ne}return ba(),{cancel:K}}function Vs(){var O=Bi.viewport,K=Bi.scissor_box;O[0]=O[1]=K[0]=K[1]=0,oi.viewportWidth=oi.framebufferWidth=oi.drawingBufferWidth=O[2]=K[2]=Ot.drawingBufferWidth,oi.viewportHeight=oi.framebufferHeight=oi.drawingBufferHeight=O[3]=K[3]=Ot.drawingBufferHeight}function Ys(){oi.tick+=1,oi.time=ol(),Vs(),Ji.procs.poll()}function wa(){fi.refresh(),Vs(),Ji.procs.refresh(),Si&&Si.update()}function ol(){return(v()-Vn)/1e3}wa();function io(O,K){var de;switch(O){case\"frame\":return ss(K);case\"lost\":de=aa;break;case\"restore\":de=Ki;break;case\"destroy\":de=Cn;break;default:}return de.push(K),{cancel:function(){for(var ne=0;ne=0},read:Ui,destroy:Ml,_gl:Ot,_refresh:wa,poll:function(){Ys(),Si&&Si.update()},now:ol,stats:vi,getCachedCode:Y,preloadCachedCode:D});return bt.onDone(null,J),J}return Sc})});var Lz=ye((R_r,OBe)=>{\"use strict\";var QUt=zX(),eVt=qBe();OBe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has(\"parcoords\"))){try{o.regl=eVt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener(\"webglcontextlost\",function(s){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:s,layer:o.key})},!1)}}),a||QUt({container:i._glcontainer.node()}),a}});var xK=ye((_K,GBe)=>{\"use strict\";var BBe=_Y(),NBe=KY(),tVt=EOe(),UBe=zBe(),yK=Pr(),rVt=Cg().selectMode,iVt=Lz(),nVt=Ru(),aVt=SU(),oVt=pY().styleTextSelection,VBe={};function sVt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var _K=GBe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=iVt(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],VBe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(aVt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({color:!0,depth:!0}),a.error2d===!0&&(a.error2d=tVt(h)),a.line2d===!0&&(a.line2d=NBe(h)),a.scatter2d===!0&&(a.scatter2d=BBe(h)),a.fill2d===!0&&(a.fill2d=NBe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;la.glText.length){var d=f-a.glText.length;for(l=0;lre&&(isNaN(H[oe])||isNaN(H[oe+1]));)oe-=2;N.positions=H.slice(re,oe+2)}return N}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=yK.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(N,H){var re=n[H];if(!(!N||!re||!re[0]||!re[0].trace)){var oe=re[0],_e=oe.trace,ke=oe.t,Ce=a.lineOptions[H],ge,ie,Se=[];_e._ownfill&&Se.push(H),_e._nexttrace&&Se.push(H+1),Se.length&&(a.fillOrder[H]=Se);var Ee=[],we=Ce&&Ce.positions||ke.positions,De,Le;if(_e.fill===\"tozeroy\"){for(De=0;DeDe&&isNaN(we[Le+1]);)Le-=2;we[De+1]!==0&&(Ee=[we[De],0]),Ee=Ee.concat(we.slice(De,Le+2)),we[Le+1]!==0&&(Ee=Ee.concat([we[Le],0]))}else if(_e.fill===\"tozerox\"){for(De=0;DeDe&&isNaN(we[Le]);)Le-=2;we[De]!==0&&(Ee=[0,we[De+1]]),Ee=Ee.concat(we.slice(De,Le+2)),we[Le]!==0&&(Ee=Ee.concat([0,we[Le+1]]))}else if(_e.fill===\"toself\"||_e.fill===\"tonext\"){for(Ee=[],ge=0,N.splitNull=!0,ie=0;ie-1;for(let[N]of n)if(N){var T=N.trace,L=N.t,x=L.index,C=T._length,S=L.x,g=L.y;if(T.selectedpoints||k||M){if(k||(k=!0),T.selectedpoints){var P=a.selectBatch[x]=yK.selIndices2selPoints(T),E={};for(u=0;u{\"use strict\";var HBe=l7e();HBe.plot=xK();jBe.exports=HBe});var ZBe=ye((F_r,XBe)=>{\"use strict\";XBe.exports=WBe()});var bK=ye((z_r,$Be)=>{\"use strict\";var lVt=pf(),JBe=Tu(),YBe=df().axisHoverFormat,{hovertemplateAttrs:uVt,templatefallbackAttrs:cVt}=Ll(),zk=gk(),fVt=Rh().idRegex,hVt=vl().templatedArray,x5=Ao().extendFlat,d1=lVt.marker,dVt=d1.line,vVt=x5(JBe(\"marker.line\",{editTypeOverride:\"calc\"}),{width:x5({},dVt.width,{editType:\"calc\"}),editType:\"calc\"}),Pz=x5(JBe(\"marker\"),{symbol:d1.symbol,angle:d1.angle,size:x5({},d1.size,{editType:\"markerSize\"}),sizeref:d1.sizeref,sizemin:d1.sizemin,sizemode:d1.sizemode,opacity:d1.opacity,colorbar:d1.colorbar,line:vVt,editType:\"calc\"});Pz.color.editType=Pz.cmin.editType=Pz.cmax.editType=\"style\";function KBe(e){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:fVt[e],editType:\"plot\"}}}$Be.exports={dimensions:hVt(\"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:x5({},zk.text,{}),hovertext:x5({},zk.hovertext,{}),hovertemplate:uVt(),hovertemplatefallback:cVt(),xhoverformat:YBe(\"x\"),yhoverformat:YBe(\"y\"),marker:Pz,xaxes:KBe(\"x\"),yaxes:KBe(\"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:zk.selected.marker,editType:\"calc\"},unselected:{marker:zk.unselected.marker,editType:\"calc\"},opacity:zk.opacity}});var Iz=ye((q_r,QBe)=>{\"use strict\";QBe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i{\"use strict\";var wK=Pr(),pVt=Zd(),eNe=bK(),gVt=Ru(),mVt=$p(),yVt=Iz(),_Vt=WF().isOpenSymbol;tNe.exports=function(t,r,n,i){function a(d,v){return wK.coerce(t,r,eNe,d,v)}var o=pVt(t,r,{name:\"dimensions\",handleItemDefaults:xVt}),s=a(\"diagonal.visible\"),l=a(\"showupperhalf\"),u=a(\"showlowerhalf\"),c=yVt(r,o,\"values\");if(!c||!s&&!l&&!u){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"xhoverformat\"),a(\"yhoverformat\"),mVt(t,r,n,i,a,{noAngleRef:!0,noLineDash:!0,noStandOff:!0});var f=_Vt(r.marker.symbol),h=gVt.isBubble(r);a(\"marker.line.width\",f||h?1:0),bVt(t,r,i,a),wK.coerceSelectionMarkerOpacity(r,a)};function xVt(e,t){function r(i,a){return wK.coerce(e,t,eNe.dimensions,i,a)}r(\"label\");var n=r(\"values\");n&&n.length?r(\"visible\"):t.visible=!1,r(\"axis.type\"),r(\"axis.matches\")}function bVt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;uc&&o||u{\"use strict\";var iNe=Pr();nNe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=iNe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||iNe.extendFlat(l,o),l}});var lNe=ye((N_r,sNe)=>{\"use strict\";var TK=Pr(),Rz=hf(),wVt=O0().calcMarkerSize,TVt=O0().calcAxisExpansion,AVt=z0(),oNe=sw().markerSelection,SVt=sw().markerStyle,MVt=aNe(),EVt=fs().BADNUM,kVt=px().TOO_MANY_POINTS;sNe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,d;function v(M,T){for(var L=M.makeCalcdata({v:T.values,vcalendar:r.calendar},\"v\"),x=0;xkVt,p;for(b?p=a.sizeAvg||Math.max(a.size,3):p=wVt(r,i),c=0;c{(function(){var e,t,r,n,i,a;typeof performance!=\"undefined\"&&performance!==null&&performance.now?qk.exports=function(){return performance.now()}:typeof process!=\"undefined\"&&process!==null&&process.hrtime?(qk.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(qk.exports=function(){return Date.now()-r},r=Date.now()):(qk.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(uNe)});var hNe=ye((U_r,zz)=>{var CVt=cNe(),v1=window,Dz=[\"moz\",\"webkit\"],w5=\"AnimationFrame\",T5=v1[\"request\"+w5],Ok=v1[\"cancel\"+w5]||v1[\"cancelRequest\"+w5];for(b5=0;!T5&&b5{dNe.exports=function(t,r){var n=typeof t==\"number\",i=typeof r==\"number\";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error(\"array length must be positive\");for(var o=new Array(a),s=0,l=t;s{\"use strict\";var LVt=_Y(),PVt=ey(),IVt=iw(),pNe=hNe(),RVt=vNe(),SK=s5(),DVt=nw();mNe.exports=Ax;function Ax(e,t){if(!(this instanceof Ax))return new Ax(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=LVt(e),this.canvas=this.scatter.canvas}Ax.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=pNe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,pNe(()=>{this.dirty=!1})),this)};Ax.prototype.update=function(...e){if(!e.length)return;for(let n=0;nb||!i.lower&&m{t[a+s]=n})}this.scatter.draw(...t)}return this};Ax.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function FVt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function qz(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function gNe(e){if(typeof e==\"number\")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=SK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var xNe=ye((H_r,_Ne)=>{\"use strict\";var zVt=yNe(),MK=Pr(),Oz=hf(),qVt=Cg().selectMode;_Ne.exports=function(t,r,n){if(n.length)for(var i=0;i-1,E=qVt(c)||!!i.selectedpoints||P,z=!0;if(E){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var U=i.selectedpoints,G={};for(d=0;d{\"use strict\";bNe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s{\"use strict\";var wNe=EK(),BVt=jF().calcHover,TNe=ho().getFromId,NVt=Ao().extendFlat;function UVt(e,t,r,n,i){i||(i={});var a=(n||\"\").charAt(0)===\"x\",o=(n||\"\").charAt(0)===\"y\",s=ANe(e,t,r);if((a||o)&&i.hoversubplots===\"axis\"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=NVt({},e),f=0;f{\"use strict\";var LNe=Pr(),ENe=LNe.pushUnique,kNe=Ru(),CNe=EK();PNe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!kNe.hasMarkers(i)&&!kNe.hasText(i);if(i.visible!==!0||f)return c;var h=CNe.getDimIndex(i,l),d=CNe.getDimIndex(i,u);if(h===!1||d===!1)return c;var v=a.xpx[h],m=a.ypx[d],b=s[h],p=s[d],k=(t.scene.selectBatch||[]).slice(),M=[];if(r!==!1&&!r.degenerate)for(var T=0;T{\"use strict\";var RNe=Pr(),VVt=z0(),GVt=sw().markerStyle;DNe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){VVt(t,n),RNe.extendFlat(i.matrixOptions,GVt(t,n));var a=RNe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var qNe=ye((Y_r,zNe)=>{\"use strict\";var HVt=Oa(),jVt=yV();zNe.exports={moduleType:\"trace\",name:\"splom\",categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:bK(),supplyDefaults:rNe(),colorbar:$d(),calc:lNe(),plot:xNe(),hoverPoints:MNe().hoverPoints,selectPoints:INe(),editStyle:FNe(),meta:{}};HVt.register(jVt)});var GNe=ye((K_r,VNe)=>{\"use strict\";var WVt=KY(),XVt=Oa(),ZVt=Lz(),YVt=Id().getModuleCalcData,Sx=mh(),ONe=hf().getFromId,BNe=ho().shouldShowZeroLine,NNe=\"splom\",UNe={};function KVt(e){var t=e._fullLayout,r=XVt.getModule(NNe),n=YVt(e.calcdata,r)[0],i=ZVt(e,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],UNe);i&&(t._hasOnlyLargeSploms&&kK(e),r.plot(e,{},n))}function JVt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&kK(e);for(var n=0;n{\"use strict\";var HNe=qNe();HNe.basePlotModule=GNe(),jNe.exports=HNe});var ZNe=ye(($_r,XNe)=>{\"use strict\";XNe.exports=WNe()});var PK=ye((Q_r,YNe)=>{\"use strict\";var tGt=Tu(),CK=Rd(),LK=ec(),rGt=Cc().attributes,Bz=Ao().extendFlat,iGt=vl().templatedArray;YNe.exports={domain:rGt({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:LK({editType:\"plot\"}),tickfont:LK({autoShadowDflt:!0,editType:\"plot\"}),rangefont:LK({editType:\"plot\"}),dimensions:iGt(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:Bz({},CK.tickvals,{editType:\"plot\"}),ticktext:Bz({},CK.ticktext,{editType:\"plot\"}),tickformat:Bz({},CK.tickformat,{editType:\"plot\"}),visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},constraintrange:{valType:\"info_array\",freeLength:!0,dimensions:\"1-2\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},multiselect:{valType:\"boolean\",dflt:!0,editType:\"plot\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"}),line:Bz({editType:\"calc\"},tGt(\"line\",{colorscaleDflt:\"Viridis\",autoColorDflt:!1,editTypeOverride:\"calc\"})),unselected:{line:{color:{valType:\"color\",dflt:\"#7f7f7f\",editType:\"plot\"},opacity:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"plot\"},editType:\"plot\"},editType:\"plot\"}}});var Bk=ye((exr,KNe)=>{\"use strict\";KNe.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}});var iy=ye((txr,$Ne)=>{\"use strict\";var nGt=ZS();function JNe(e){return[e]}$Ne.exports={keyFun:function(e){return e.key},repeat:JNe,descend:nGt,wrap:JNe,unwrap:function(e){return e[0]}}});var DK=ye((rxr,uUe)=>{\"use strict\";var Th=Bk(),im=qa(),aGt=iy().keyFun,Nz=iy().repeat,A5=Pr().sorterAsc,oGt=Pr().strTranslate,QNe=Th.bar.snapRatio;function eUe(e,t){return e*(1-QNe)+t*QNe}var tUe=Th.bar.snapClose;function sGt(e,t){return e*(1-tUe)+t*tUe}function Vz(e,t,r,n){if(lGt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c=t[r][0]&&e<=t[r][1])return!0;return!1}function uGt(e){e.attr(\"x\",-Th.bar.captureWidth/2).attr(\"width\",Th.bar.captureWidth)}function cGt(e){e.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function fGt(e){if(!e.brush.filterSpecified)return\"0,\"+e.height;for(var t=rUe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;se[1]+r||t=.9*e[1]+.1*e[0]?\"n\":t<=.9*e[0]+.1*e[1]?\"s\":\"ns\"}function iUe(){im.select(document.body).style(\"cursor\",null)}function RK(e){e.attr(\"stroke-dasharray\",fGt)}function Uz(e,t){var r=im.select(e).selectAll(\".highlight, .highlight-shadow\"),n=t?r.transition().duration(Th.bar.snapDuration).each(\"end\",t):r;RK(n)}function nUe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=rUe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var d=u[o];if(d&&d[0]<=t&&t<=d[1]){c=o;break}else if(f=o?o-1:NaN,d&&d[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]=k[0]&&p<=k[1]){a.clickableOrdinalRange=k;break}}}return a}function dGt(e,t){im.event.sourceEvent.stopPropagation();var r=t.height-im.mouse(e)[1]-2*Th.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=nUe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region===\"ns\",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-Th.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region===\"s\"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function aUe(e,t){im.event.sourceEvent.stopPropagation();var r=t.height-im.mouse(e)[1]-2*Th.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(A5),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),Uz(e.parentNode)}function vGt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(oUe(e,t),aUe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=im.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,iUe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&IK(r)):IK(r),i.brushCallback(t),Uz(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||IK(r),i.brushCallback(t),u?Uz(e.parentNode,s):(s(),Uz(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function oUe(e,t){var r=t.height-im.mouse(e)[1]-2*Th.verticalPadding,n=nUe(t,r),i=\"crosshair\";n.clickableOrdinalRange?i=\"pointer\":n.region&&(i=n.region+\"-resize\"),im.select(document.body).style(\"cursor\",i)}function pGt(e){e.on(\"mousemove\",function(t){im.event.preventDefault(),t.parent.inBrushDrag||oUe(this,t)}).on(\"mouseleave\",function(t){t.parent.inBrushDrag||iUe()}).call(im.behavior.drag().on(\"dragstart\",function(t){dGt(this,t)}).on(\"drag\",function(t){aUe(this,t)}).on(\"dragend\",function(t){vGt(this,t)}))}function sUe(e,t){return e[0]-t[0]}function gGt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(\".background\").data(Nz);i.enter().append(\"rect\").classed(\"background\",!0).call(uGt).call(cGt).style(\"pointer-events\",n?\"none\":\"auto\").attr(\"transform\",oGt(0,Th.verticalPadding)),i.call(pGt).attr(\"height\",function(s){return s.height-Th.verticalPadding});var a=e.selectAll(\".highlight-shadow\").data(Nz);a.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-Th.bar.width/2).attr(\"stroke-width\",Th.bar.width+Th.bar.strokeWidth).attr(\"stroke\",t).attr(\"opacity\",Th.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),a.attr(\"y1\",function(s){return s.height}).call(RK);var o=e.selectAll(\".highlight\").data(Nz);o.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-Th.bar.width/2).attr(\"stroke-width\",Th.bar.width-Th.bar.strokeWidth).attr(\"stroke\",Th.bar.fillColor).attr(\"opacity\",Th.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),o.attr(\"y1\",function(s){return s.height}).call(RK)}function mGt(e,t,r){var n=e.selectAll(\".\"+Th.cn.axisBrush).data(Nz,aGt);n.enter().append(\"g\").classed(Th.cn.axisBrush,!0),gGt(n,t,r)}function yGt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function IK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function _Gt(e){return function(r){var n=r.brush,i=yGt(n),a=i.slice();n.filter.set(a),e()}}function lUe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function xGt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(A5)}).sort(sUe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=lUe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function bGt(e,t,r,n,i,a){var o=xGt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:_Gt(i),brushEndCallback:a}}}function wGt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(A5)}),t.multiselect?e=lUe(e.sort(sUe)):e=[e[0]]):e=[e.sort(A5)],t.tickvals){var r=t.tickvals.slice().sort(A5);if(e=e.map(function(n){var i=[Vz(0,r,n[0],[]),Vz(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}uUe.exports={makeBrush:bGt,ensureAxisBrush:mGt,cleanRanges:wGt}});var hUe=ye((ixr,fUe)=>{\"use strict\";var Mx=Pr(),TGt=pv().hasColorscale,AGt=td(),SGt=Cc().defaults,MGt=Zd(),EGt=ho(),cUe=PK(),kGt=DK(),FK=Bk().maxDimensionCount,CGt=Iz();function LGt(e,t,r,n,i){var a=i(\"line.color\",r);if(TGt(e,\"line\")&&Mx.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),AGt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function PGt(e,t,r,n){function i(u,c){return Mx.coerce(e,t,cUe.dimensions,u,c)}var a=i(\"values\"),o=i(\"visible\");if(a&&a.length||(o=t.visible=!1),o){i(\"label\"),i(\"tickvals\"),i(\"ticktext\"),i(\"tickformat\");var s=i(\"range\");t._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:s},EGt.setConvert(t._ax,n.layout),i(\"multiselect\");var l=i(\"constraintrange\");l&&(t.constraintrange=kGt.cleanRanges(l,t))}}fUe.exports=function(t,r,n,i){function a(c,f){return Mx.coerce(t,r,cUe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>FK&&(Mx.log(\"parcoords traces support up to \"+FK+\" dimensions at the moment\"),o.splice(FK));var s=MGt(t,r,{name:\"dimensions\",layout:i,handleItemDefaults:PGt}),l=LGt(t,r,n,i,a);SGt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),CGt(r,s,\"values\",l);var u=Mx.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});Mx.coerceFont(a,\"labelfont\",u),Mx.coerceFont(a,\"tickfont\",u,{autoShadowDflt:!0}),Mx.coerceFont(a,\"rangefont\",u),a(\"labelangle\"),a(\"labelside\"),a(\"unselected.line.color\"),a(\"unselected.line.opacity\")}});var vUe=ye((nxr,dUe)=>{\"use strict\";var IGt=Pr().isArrayOrTypedArray,zK=tc(),RGt=iy().wrap;dUe.exports=function(t,r){var n,i;return zK.hasColorscale(r,\"line\")&&IGt(r.line.color)?(n=r.line.color,i=zK.extractOpts(r.line).colorscale,zK.calc(t,r,{vals:n,containerStr:\"line\",cLetter:\"c\"})):(n=DGt(r._length),i=[[0,r.line.color],[1,r.line.color]]),RGt({lineColor:n,cscale:i})};function DGt(e){for(var t=new Array(e),r=0;r>>16,(e&65280)>>>8,e&255],alpha:1};if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(e=String(e).toLowerCase(),qK.default[e])r=qK.default[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(e[0]===\"#\"){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1];i=l.replace(/a$/,\"\");var u=i===\"cmyk\"?4:i===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/),i===\"color\"&&(i=r.shift()),r=r.map(function(h,d){if(h[h.length-1]===\"%\")return h=parseFloat(h)/100,d===3?h:i===\"rgb\"?h*255:i[0]===\"h\"||i[0]===\"l\"&&!d?h*100:i===\"lab\"?h*125:i===\"lch\"?d<2?h*150:h*360:i[0]===\"o\"&&!d?h:i===\"oklab\"?h*.4:i===\"oklch\"?d<2?h*.4:h*360:h;if(i[d]===\"h\"||d===2&&i[i.length-1]===\"h\"){if(pUe[h]!==void 0)return pUe[h];if(h.endsWith(\"deg\"))return parseFloat(h);if(h.endsWith(\"turn\"))return parseFloat(h)*360;if(h.endsWith(\"grad\"))return parseFloat(h)*360/400;if(h.endsWith(\"rad\"))return parseFloat(h)*180/Math.PI}return h===\"none\"?0:parseFloat(h)}),n=r.length>u?r.pop():1}else/[0-9](?:\\s|\\/|,)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),i=((f=(c=e.match(/([a-z])/ig))==null?void 0:c.join(\"\"))==null?void 0:f.toLowerCase())||\"rgb\");return{space:i,values:r,alpha:n}}var qK,gUe,pUe,mUe=gu(()=>{qK=Mtt(TX(),1),gUe=FGt,pUe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}});var Nk,OK=gu(()=>{Nk={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}});var Gz,yUe=gu(()=>{OK();Gz={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}};Nk.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var xUe={};mee(xUe,{default:()=>_Ue});function _Ue(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r,n,i=gUe(e);if(!i.space)return[];let a=i.space[0]===\"h\"?Gz.min:Nk.min,o=i.space[0]===\"h\"?Gz.max:Nk.max;return t=Array(3),t[0]=Math.min(Math.max(i.values[0],a[0]),o[0]),t[1]=Math.min(Math.max(i.values[1],a[1]),o[1]),t[2]=Math.min(Math.max(i.values[2],a[2]),o[2]),i.space[0]===\"h\"&&(t=Gz.rgb(t)),t.push(Math.min(Math.max(i.alpha,0),1)),t}var bUe=gu(()=>{mUe();OK();yUe()});var BK=ye(Hz=>{\"use strict\";var zGt=Pr().isTypedArray;Hz.convertTypedArray=function(e){return zGt(e)?Array.prototype.slice.call(e):e};Hz.isOrdinal=function(e){return!!e.tickvals};Hz.isVisible=function(e){return e.visible||!(\"visible\"in e)}});var PUe=ye((dxr,LUe)=>{\"use strict\";var qGt=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"attribute vec4 p01_04, p05_08, p09_12, p13_16,\",\" p17_20, p21_24, p25_28, p29_32,\",\" p33_36, p37_40, p41_44, p45_48,\",\" p49_52, p53_56, p57_60, colors;\",\"\",\"uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\",\" loA, hiA, loB, hiB, loC, hiC, loD, hiD;\",\"\",\"uniform vec2 resolution, viewBoxPos, viewBoxSize;\",\"uniform float maskHeight;\",\"uniform float drwLayer; // 0: context, 1: focus, 2: pick\",\"uniform vec4 contextColor;\",\"uniform sampler2D maskTexture, palette;\",\"\",\"bool isPick = (drwLayer > 1.5);\",\"bool isContext = (drwLayer < 0.5);\",\"\",\"const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\",\"const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\",\"\",\"float val(mat4 p, mat4 v) {\",\" return dot(matrixCompMult(p, v) * UNITS, UNITS);\",\"}\",\"\",\"float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\",\" float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\",\" return y1 * (1.0 - ratio) + y2 * ratio;\",\"}\",\"\",\"int iMod(int a, int b) {\",\" return a - b * (a / b);\",\"}\",\"\",\"bool fOutside(float p, float lo, float hi) {\",\" return (lo < hi) && (lo > p || p > hi);\",\"}\",\"\",\"bool vOutside(vec4 p, vec4 lo, vec4 hi) {\",\" return (\",\" fOutside(p[0], lo[0], hi[0]) ||\",\" fOutside(p[1], lo[1], hi[1]) ||\",\" fOutside(p[2], lo[2], hi[2]) ||\",\" fOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool mOutside(mat4 p, mat4 lo, mat4 hi) {\",\" return (\",\" vOutside(p[0], lo[0], hi[0]) ||\",\" vOutside(p[1], lo[1], hi[1]) ||\",\" vOutside(p[2], lo[2], hi[2]) ||\",\" vOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" return mOutside(A, loA, hiA) ||\",\" mOutside(B, loB, hiB) ||\",\" mOutside(C, loC, hiC) ||\",\" mOutside(D, loD, hiD);\",\"}\",\"\",\"bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" mat4 pnts[4];\",\" pnts[0] = A;\",\" pnts[1] = B;\",\" pnts[2] = C;\",\" pnts[3] = D;\",\"\",\" for(int i = 0; i < 4; ++i) {\",\" for(int j = 0; j < 4; ++j) {\",\" for(int k = 0; k < 4; ++k) {\",\" if(0 == iMod(\",\" int(255.0 * texture2D(maskTexture,\",\" vec2(\",\" (float(i * 2 + j / 2) + 0.5) / 8.0,\",\" (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\",\" ))[3]\",\" ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\",\" 2\",\" )) return true;\",\" }\",\" }\",\" }\",\" return false;\",\"}\",\"\",\"vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float x = 0.5 * sign(v) + 0.5;\",\" float y = axisY(x, A, B, C, D);\",\" float z = 1.0 - abs(v);\",\"\",\" z += isContext ? 0.0 : 2.0 * float(\",\" outsideBoundingBox(A, B, C, D) ||\",\" outsideRasterMask(A, B, C, D)\",\" );\",\"\",\" return vec4(\",\" 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\",\" z,\",\" 1.0\",\" );\",\"}\",\"\",\"void main() {\",\" mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\",\" mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\",\" mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\",\" mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\",\"\",\" float v = colors[3];\",\"\",\" gl_Position = position(isContext, v, A, B, C, D);\",\"\",\" fragColor =\",\" isContext ? vec4(contextColor) :\",\" isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\",\"}\"].join(`\n", + "`),OGt=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(`\n", + "`),Uk=Bk().maxDimensionCount,EUe=Pr(),wUe=1e-6,jz=2048,BGt=new Uint8Array(4),TUe=new Uint8Array(4),AUe={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function NGt(e){e.read({x:0,y:0,width:1,height:1,data:BGt})}function kUe(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function UGt(e,t,r,n,i,a){var o=a.key;function s(l){var u=Math.min(n,i-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],kUe(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*u,a.offset=2*l*n,t(a),l*n+u>>8*t)%256/255}function HGt(e,t,r){for(var n=new Array(e*(Uk+4)),i=0,a=0;aZ&&(Z=S[z].dim1.canvasX,U=z);E===0&&kUe(i,0,0,u.canvasWidth,u.canvasHeight);var j=M(r);for(z=0;z{\"use strict\";var Od=qa(),p1=Pr(),UK=p1.isArrayOrTypedArray,qUe=p1.numberFormat,OUe=(bUe(),pb(xUe)).default,BUe=ho(),YGt=p1.strRotate,ny=p1.strTranslate,KGt=Zl(),Wz=So(),IUe=tc(),HK=iy(),ig=HK.keyFun,ay=HK.repeat,NUe=HK.unwrap,S5=BK(),Dl=Bk(),UUe=DK(),JGt=PUe();function RUe(e,t,r){return p1.aggNums(e,null,t,r)}function VUe(e,t){return jK(RUe(Math.min,e,t),RUe(Math.max,e,t))}function Xz(e){var t=e.range;return t?jK(t[0],t[1]):VUe(e.values,e._length)}function jK(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function $Gt(e,t){return t?function(r,n){var i=t[n];return i==null?e(r):i}:e}function QGt(e,t,r,n,i){var a=Xz(r);return n?Od.scale.ordinal().domain(n.map($Gt(qUe(r.tickformat),i))).range(n.map(function(o){var s=(o-a[0])/(a[1]-a[0]);return e-t+s*(2*t-e)})):Od.scale.linear().domain(a).range([e-t,t])}function eHt(e,t){return Od.scale.linear().range([t,e-t])}function tHt(e,t){return Od.scale.linear().domain(Xz(e)).range([t,1-t])}function rHt(e){if(e.tickvals){var t=Xz(e);return Od.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function iHt(e){var t=e.map(function(a){return a[0]}),r=e.map(function(a){var o=OUe(a[1]);return Od.rgb(\"rgb(\"+o[0]+\",\"+o[1]+\",\"+o[2]+\")\")}),n=function(a){return function(o){return o[a]}},i=\"rgb\".split(\"\").map(function(a){return Od.scale.linear().clamp(!0).domain(t).range(r.map(n(a)))});return function(a){return i.map(function(o){return o(a)})}}function GK(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function nHt(e,t,r){var n=NUe(t),i=n.trace,a=S5.convertTypedArray(n.lineColor),o=i.line,s={color:OUe(i.unselected.line.color),opacity:i.unselected.line.opacity},l=IUe.extractOpts(o),u=l.reversescale?IUe.flipScale(n.cscale):n.cscale,c=i.domain,f=i.dimensions,h=e.width,d=i.labelangle,v=i.labelside,m=i.labelfont,b=i.tickfont,p=i.rangefont,k=p1.extendDeepNoArrays({},o,{color:a.map(Od.scale.linear().domain(Xz({values:a,range:[l.min,l.max],_length:i._length}))),blockLineCount:Dl.blockLineCount,canvasOverdrag:Dl.overdrag*Dl.canvasPixelRatio}),M=Math.floor(h*(c.x[1]-c.x[0])),T=Math.floor(e.height*(c.y[1]-c.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},x=M,C=T;return{key:r,colCount:f.filter(S5.isVisible).length,dimensions:f,tickDistance:Dl.tickDistance,unitToColor:iHt(u),lines:k,deselectedLines:s,labelAngle:d,labelSide:v,labelFont:m,tickFont:b,rangeFont:p,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:L,canvasWidth:x*Dl.canvasPixelRatio+2*k.canvasOverdrag,canvasHeight:C*Dl.canvasPixelRatio,width:x,height:C,canvasPixelRatio:Dl.canvasPixelRatio}}function aHt(e,t,r){var n=r.width,i=r.height,a=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=Dl.verticalPadding/i,u=eHt(i,Dl.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=a.filter(S5.isVisible).map(function(h,d){var v=tHt(h,l),m=f[h.label];f[h.label]=(m||0)+1;var b=h.label+(m?\"__\"+m:\"\"),p=h.constraintrange,k=p&&p.length;k&&!UK(p[0])&&(p=[p]);var M=k?p.map(function(q){return q.map(v)}):[[-1/0,1/0]],T=function(){var q=c;q.focusLayer&&q.focusLayer.render(q.panels,!0);var U=GK(q);!e.contextShown()&&U?(q.contextLayer&&q.contextLayer.render(q.panels,!0),e.contextShown(!0)):e.contextShown()&&!U&&(q.contextLayer&&q.contextLayer.render(q.panels,!0,!0),e.contextShown(!1))},L=h.values;L.length>h._length&&(L=L.slice(0,h._length));var x=h.tickvals,C;function S(q,U){return{val:q,text:C[U]}}function g(q,U){return q.val-U.val}if(UK(x)&&x.length){p1.isTypedArray(x)&&(x=Array.from(x)),C=h.ticktext,!UK(C)||!C.length?C=x.map(qUe(h.tickformat)):C.length>x.length?C=C.slice(0,x.length):x.length>C.length&&(x=x.slice(0,C.length));for(var P=1;P=U||N>=G)return;var H=z.lineLayer.readPixel(j,G-1-N),re=H[3]!==0,oe=re?H[2]+256*(H[1]+256*H[0]):null,_e={x:j,y:N,clientX:q.clientX,clientY:q.clientY,dataIndex:z.model.key,curveNumber:oe};oe!==v&&(re?i.hover(_e):i.unhover&&i.unhover(_e),v=oe)}}),d.style(\"opacity\",function(z){return z.pick?0:1}),s.style(\"background\",\"rgba(255, 255, 255, 0)\");var b=s.selectAll(\".\"+Dl.cn.parcoords).data(h,ig);b.exit().remove(),b.enter().append(\"g\").classed(Dl.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),b.attr(\"transform\",function(z){return ny(z.model.translateX,z.model.translateY)});var p=b.selectAll(\".\"+Dl.cn.parcoordsControlView).data(ay,ig);p.enter().append(\"g\").classed(Dl.cn.parcoordsControlView,!0),p.attr(\"transform\",function(z){return ny(z.model.pad.l,z.model.pad.t)});var k=p.selectAll(\".\"+Dl.cn.yAxis).data(function(z){return z.dimensions},ig);k.enter().append(\"g\").classed(Dl.cn.yAxis,!0),p.each(function(z){VK(k,z,u)}),d.each(function(z){if(z.viewModel){!z.lineLayer||i?z.lineLayer=JGt(this,z):z.lineLayer.update(z),(z.key||z.key===0)&&(z.viewModel[z.key]=z.lineLayer);var q=!z.context||i;z.lineLayer.render(z.viewModel.panels,q)}}),k.attr(\"transform\",function(z){return ny(z.xScale(z.xIndex),0)}),k.call(Od.behavior.drag().origin(function(z){return z}).on(\"drag\",function(z){var q=z.parent;f.linePickActive(!1),z.x=Math.max(-Dl.overdrag,Math.min(z.model.width+Dl.overdrag,Od.event.x)),z.canvasX=z.x*z.model.canvasPixelRatio,k.sort(function(U,G){return U.x-G.x}).each(function(U,G){U.xIndex=G,U.x=z===U?U.x:U.xScale(U.xIndex),U.canvasX=U.x*U.model.canvasPixelRatio}),VK(k,q,u),k.filter(function(U){return Math.abs(z.xIndex-U.xIndex)!==0}).attr(\"transform\",function(U){return ny(U.xScale(U.xIndex),0)}),Od.select(this).attr(\"transform\",ny(z.x,0)),k.each(function(U,G,Z){Z===z.parent.key&&(q.dimensions[G]=U)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!GK(q)),q.focusLayer.render&&q.focusLayer.render(q.panels)}).on(\"dragend\",function(z){var q=z.parent;z.x=z.xScale(z.xIndex),z.canvasX=z.x*z.model.canvasPixelRatio,VK(k,q,u),Od.select(this).attr(\"transform\",function(U){return ny(U.x,0)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!GK(q)),q.focusLayer&&q.focusLayer.render(q.panels),q.pickLayer&&q.pickLayer.render(q.panels,!0),f.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(q.key,q.dimensions.map(function(U){return U.crossfilterDimensionIndex}))})),k.exit().remove();var M=k.selectAll(\".\"+Dl.cn.axisOverlays).data(ay,ig);M.enter().append(\"g\").classed(Dl.cn.axisOverlays,!0),M.selectAll(\".\"+Dl.cn.axis).remove();var T=M.selectAll(\".\"+Dl.cn.axis).data(ay,ig);T.enter().append(\"g\").classed(Dl.cn.axis,!0),T.each(function(z){var q=z.model.height/z.model.tickDistance,U=z.domainScale,G=U.domain();Od.select(this).call(Od.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(q,z.tickFormat).tickValues(z.ordinal?G:null).tickFormat(function(Z){return S5.isOrdinal(z)?Z:GUe(z.model.dimensions[z.visibleIndex],Z)}).scale(U)),Wz.font(T.selectAll(\"text\"),z.model.tickFont)}),T.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),T.selectAll(\"text\").style(\"cursor\",\"default\");var L=M.selectAll(\".\"+Dl.cn.axisHeading).data(ay,ig);L.enter().append(\"g\").classed(Dl.cn.axisHeading,!0);var x=L.selectAll(\".\"+Dl.cn.axisTitle).data(ay,ig);x.enter().append(\"text\").classed(Dl.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",a?\"none\":\"auto\"),x.text(function(z){return z.label}).each(function(z){var q=Od.select(this);Wz.font(q,z.model.labelFont),KGt.convertToTspans(q,t)}).attr(\"transform\",function(z){var q=FUe(z.model.labelAngle,z.model.labelSide),U=Dl.axisTitleOffset;return(q.dir>0?\"\":ny(0,2*U+z.model.height))+YGt(q.degrees)+ny(-U*q.dx,-U*q.dy)}).attr(\"text-anchor\",function(z){var q=FUe(z.model.labelAngle,z.model.labelSide),U=Math.abs(q.dx),G=Math.abs(q.dy);return 2*U>G?q.dir*q.dx<0?\"start\":\"end\":\"middle\"});var C=M.selectAll(\".\"+Dl.cn.axisExtent).data(ay,ig);C.enter().append(\"g\").classed(Dl.cn.axisExtent,!0);var S=C.selectAll(\".\"+Dl.cn.axisExtentTop).data(ay,ig);S.enter().append(\"g\").classed(Dl.cn.axisExtentTop,!0),S.attr(\"transform\",ny(0,-Dl.axisExtentOffset));var g=S.selectAll(\".\"+Dl.cn.axisExtentTopText).data(ay,ig);g.enter().append(\"text\").classed(Dl.cn.axisExtentTopText,!0).call(DUe),g.text(function(z){return zUe(z,!0)}).each(function(z){Wz.font(Od.select(this),z.model.rangeFont)});var P=C.selectAll(\".\"+Dl.cn.axisExtentBottom).data(ay,ig);P.enter().append(\"g\").classed(Dl.cn.axisExtentBottom,!0),P.attr(\"transform\",function(z){return ny(0,z.model.height+Dl.axisExtentOffset)});var E=P.selectAll(\".\"+Dl.cn.axisExtentBottomText).data(ay,ig);E.enter().append(\"text\").classed(Dl.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(DUe),E.text(function(z){return zUe(z,!1)}).each(function(z){Wz.font(Od.select(this),z.model.rangeFont)}),UUe.ensureAxisBrush(M,c,t)}});var XK=ye((WK,YUe)=>{\"use strict\";var lHt=jUe(),uHt=Lz(),WUe=BK().isVisible,ZUe={};function XUe(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return i===-1&&(i+=t.length),i}function cHt(e,t){return function(n,i){return XUe(e,t,n)-XUe(e,t,i)}}var WK=YUe.exports=function(t,r){var n=t._fullLayout,i=uHt(t,[],ZUe);if(i){var a={},o={},s={},l={},u=n._size;r.forEach(function(v,m){var b=v[0].trace;s[m]=b.index;var p=l[m]=b.index;a[m]=t.data[p].dimensions,o[m]=t.data[p].dimensions.slice()});var c=function(v,m,b){var p=o[v][m],k=b.map(function(S){return S.slice()}),M=\"dimensions[\"+m+\"].constraintrange\",T=n._tracePreGUI[t._fullData[s[v]]._fullInput.uid];if(T[M]===void 0){var L=p.constraintrange;T[M]=L||null}var x=t._fullData[s[v]].dimensions[m];k.length?(k.length===1&&(k=k[0]),p.constraintrange=k,x.constraintrange=k.slice(),k=[k]):(delete p.constraintrange,delete x.constraintrange,k=null);var C={};C[M]=k,t.emit(\"plotly_restyle\",[C,[l[v]]])},f=function(v){t.emit(\"plotly_hover\",v)},h=function(v){t.emit(\"plotly_unhover\",v)},d=function(v,m){var b=cHt(m,o[v].filter(WUe));a[v].sort(b),o[v].filter(function(p){return!WUe(p)}).sort(function(p){return o[v].indexOf(p)}).forEach(function(p){a[v].splice(a[v].indexOf(p),1),a[v].splice(o[v].indexOf(p),0,p)}),t.emit(\"plotly_restyle\",[{dimensions:[a[v]]},[l[v]]])};lHt(t,r,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:c,hover:f,unhover:h,axesMoved:d})}};WK.reglPrecompiled=ZUe});var JUe=ye(Vk=>{\"use strict\";var KUe=qa(),fHt=Id().getModuleCalcData,hHt=XK(),dHt=Wp();Vk.name=\"parcoords\";Vk.plot=function(e){var t=fHt(e.calcdata,\"parcoords\")[0];t.length&&hHt(e,t)};Vk.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcoords\"),a=t._has&&t._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())};Vk.toSVG=function(e){var t=e._fullLayout._glimages,r=KUe.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:dHt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i),window.setTimeout(function(){KUe.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}});var QUe=ye((gxr,$Ue)=>{\"use strict\";$Ue.exports={attributes:PK(),supplyDefaults:hUe(),calc:vUe(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:JUe(),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}});var rVe=ye((mxr,tVe)=>{\"use strict\";var eVe=QUe();eVe.plot=XK();tVe.exports=eVe});var nVe=ye((yxr,iVe)=>{\"use strict\";iVe.exports=rVe()});var ZK=ye((_xr,uVe)=>{\"use strict\";var oVe=Ao().extendFlat,vHt=Gl(),aVe=ec(),pHt=Tu(),{hovertemplateAttrs:sVe,templatefallbackAttrs:lVe}=Ll(),gHt=Cc().attributes,mHt=oVe({editType:\"calc\"},pHt(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:sVe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]}),hovertemplatefallback:lVe({editType:\"plot\"})});uVe.exports={domain:gHt({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:oVe({},vHt.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:sVe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),hovertemplatefallback:lVe({editType:\"plot\"}),arrangement:{valType:\"enumerated\",values:[\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"perpendicular\",editType:\"plot\"},bundlecolors:{valType:\"boolean\",dflt:!0,editType:\"plot\"},sortpaths:{valType:\"enumerated\",values:[\"forward\",\"backward\"],dflt:\"forward\",editType:\"plot\"},labelfont:aVe({editType:\"calc\"}),tickfont:aVe({autoShadowDflt:!0,editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",dflt:[],editType:\"calc\"},displayindex:{valType:\"integer\",editType:\"calc\"},editType:\"calc\",visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},line:mHt,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}});var hVe=ye((xxr,fVe)=>{\"use strict\";var M5=Pr(),yHt=pv().hasColorscale,_Ht=td(),xHt=Cc().defaults,bHt=Zd(),cVe=ZK(),wHt=Iz(),THt=vv().isTypedArraySpec;function AHt(e,t,r,n,i){i(\"line.shape\"),i(\"line.hovertemplate\"),i(\"line.hovertemplatefallback\");var a=i(\"line.color\",n.colorway[0]);if(yHt(e,\"line\")&&M5.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),_Ht(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function SHt(e,t){function r(u,c){return M5.coerce(e,t,cVe.dimensions,u,c)}var n=r(\"values\"),i=r(\"visible\");if(n&&n.length||(i=t.visible=!1),i){r(\"label\"),r(\"displayindex\",t._index);var a=e.categoryarray,o=M5.isArrayOrTypedArray(a)&&a.length>0||THt(a),s;o&&(s=\"array\");var l=r(\"categoryorder\",s);l===\"array\"?(r(\"categoryarray\"),r(\"ticktext\")):(delete e.categoryarray,delete e.ticktext),!o&&l===\"array\"&&(t.categoryorder=\"trace\")}}fVe.exports=function(t,r,n,i){function a(u,c){return M5.coerce(t,r,cVe,u,c)}var o=bHt(t,r,{name:\"dimensions\",handleItemDefaults:SHt}),s=AHt(t,r,n,i,a);xHt(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),wHt(r,o,\"values\",s),a(\"hoveron\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"arrangement\"),a(\"bundlecolors\"),a(\"sortpaths\"),a(\"counts\");var l=i.font;M5.coerceFont(a,\"labelfont\",l,{overrideDflt:{size:Math.round(l.size)}}),M5.coerceFont(a,\"tickfont\",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var vVe=ye((bxr,dVe)=>{\"use strict\";var MHt=iy().wrap,EHt=pv().hasColorscale,kHt=gv(),CHt=tO(),LHt=So(),Gk=Pr(),PHt=Eo();dVe.exports=function(t,r){var n=Gk.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(g){var P;if(g.categoryorder===\"trace\")P=null;else if(g.categoryorder===\"array\")P=g.categoryarray;else{P=CHt(g.values);for(var E=!0,z=0;z=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var TVe=ye((wxr,wVe)=>{\"use strict\";var Fl=qa(),VHt=(H2(),pb(G2)).interpolateNumber,GHt=ZP(),Wk=vf(),Ex=Pr(),Hk=Ex.strTranslate,pVe=So(),YK=fd(),HHt=Zl();function jHt(e,t,r,n){var i=t._context.staticPlot,a=e.map(ojt.bind(0,t,r)),o=n.selectAll(\"g.parcatslayer\").data([null]);o.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",i?\"none\":\"all\");var s=o.selectAll(\"g.trace.parcats\").data(a,g1),l=s.enter().append(\"g\").attr(\"class\",\"trace parcats\");s.attr(\"transform\",function(k){return Hk(k.x,k.y)}),l.append(\"g\").attr(\"class\",\"paths\");var u=s.select(\"g.paths\"),c=u.selectAll(\"path.path\").data(function(k){return k.paths},g1);c.attr(\"fill\",function(k){return k.model.color});var f=c.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",function(k){return k.model.color}).attr(\"fill-opacity\",0);$K(f),c.attr(\"d\",function(k){return k.svgD}),f.empty()||c.sort(KK),c.exit().remove(),c.on(\"mouseover\",WHt).on(\"mouseout\",XHt).on(\"click\",ZHt),l.append(\"g\").attr(\"class\",\"dimensions\");var h=s.select(\"g.dimensions\"),d=h.selectAll(\"g.dimension\").data(function(k){return k.dimensions},g1);d.enter().append(\"g\").attr(\"class\",\"dimension\"),d.attr(\"transform\",function(k){return Hk(k.x,0)}),d.exit().remove();var v=d.selectAll(\"g.category\").data(function(k){return k.categories},g1),m=v.enter().append(\"g\").attr(\"class\",\"category\");v.attr(\"transform\",function(k){return Hk(0,k.y)}),m.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),v.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",function(k){return k.width}).attr(\"height\",function(k){return k.height}),mVe(m);var b=v.selectAll(\"rect.bandrect\").data(function(k){return k.bands},g1);b.each(function(){Ex.raiseToTop(this)}),b.attr(\"fill\",function(k){return k.color});var p=b.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",function(k){return k.color}).attr(\"fill-opacity\",0);b.attr(\"fill\",function(k){return k.color}).attr(\"width\",function(k){return k.width}).attr(\"height\",function(k){return k.height}).attr(\"y\",function(k){return k.y}).attr(\"cursor\",function(k){return k.parcatsViewModel.arrangement===\"fixed\"?\"default\":k.parcatsViewModel.arrangement===\"perpendicular\"?\"ns-resize\":\"move\"}),eJ(p),b.exit().remove(),m.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\"),v.select(\"text.catlabel\").attr(\"text-anchor\",function(k){return jk(k)?\"start\":\"end\"}).attr(\"alignment-baseline\",\"middle\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",function(k){return jk(k)?k.width+5:-5}).attr(\"y\",function(k){return k.height/2}).text(function(k){return k.model.categoryLabel}).each(function(k){pVe.font(Fl.select(this),k.parcatsViewModel.categorylabelfont),HHt.convertToTspans(Fl.select(this),t)}),m.append(\"text\").attr(\"class\",\"dimlabel\"),v.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",function(k){return k.parcatsViewModel.arrangement===\"fixed\"?\"default\":\"ew-resize\"}).attr(\"x\",function(k){return k.width/2}).attr(\"y\",-5).text(function(k,M){return M===0?k.parcatsViewModel.model.dimensions[k.model.dimensionInd].dimensionLabel:null}).each(function(k){pVe.font(Fl.select(this),k.parcatsViewModel.labelfont)}),v.selectAll(\"rect.bandrect\").on(\"mouseover\",tjt).on(\"mouseout\",rjt),v.exit().remove(),d.call(Fl.behavior.drag().origin(function(k){return{x:k.x,y:0}}).on(\"dragstart\",ijt).on(\"drag\",njt).on(\"dragend\",ajt)),s.each(function(k){k.traceSelection=Fl.select(this),k.pathSelection=Fl.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),k.dimensionSelection=Fl.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")}),s.exit().remove()}wVe.exports=function(e,t,r,n){jHt(r,e,n,t)};function g1(e){return e.key}function jk(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function KK(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor\"),x=Fl.mouse(i)[0];Wk.loneHover({trace:a,x:v-s.left+l.left,y:m-s.top+l.top,text:L,color:e.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:b,idealAlign:x1&&u.displayInd===l.dimensions.length-1?(h=o.left,d=\"left\"):(h=o.left+o.width,d=\"right\");var v=s.model.count,m=s.model.categoryLabel,b=v/s.parcatsViewModel.model.count,p={countLabel:v,categoryLabel:m,probabilityLabel:b.toFixed(3)},k=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&k.push([\"Count:\",p.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&k.push([\"P(\"+p.categoryLabel+\"):\",p.probabilityLabel].join(\" \"));var M=k.join(\"
\");return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:M,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:p,eventData:[{data:c._input,fullData:c,count:v,category:m,probability:b}]}}function QHt(e,t,r){var n=[];return Fl.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each(function(){var i=this;n.push(yVe(e,t,i))}),n}function ejt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=Fl.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=a.y+a.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,d=\"left\"):(h=a.left+a.width,d=\"right\");var v=s.model.categoryLabel,m=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(P){P.color===o.color&&(b+=P.count)});var p=s.model.count,k=0;l.pathSelection.each(function(P){P.model.color===o.color&&(k+=P.model.count)});var M=b/m,T=b/k,L=b/p,x={countLabel:b,categoryLabel:v,probabilityLabel:M.toFixed(3)},C=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&C.push([\"Count:\",x.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&(C.push(\"P(color \\u2229 \"+v+\"): \"+x.probabilityLabel),C.push(\"P(\"+v+\" | color): \"+T.toFixed(3)),C.push(\"P(color | \"+v+\"): \"+L.toFixed(3)));var S=C.join(\"
\"),g=YK.mostReadable(o.color,[\"black\",\"white\"]);return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:S,color:o.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:g,fontSize:10,idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:x,eventData:[{data:c._input,fullData:c,category:v,count:m,probability:M,categorycount:p,colorcount:k,bandcolorcount:b}]}}function tjt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=Fl.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a===\"color\"?($Ht(o),rJ(o,\"plotly_hover\",Fl.event)):(JHt(o),tJ(o,\"plotly_hover\",Fl.event)),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var s;a===\"category\"?s=yVe(r,i,o):a===\"color\"?s=ejt(r,i,o):a===\"dimension\"&&(s=QHt(r,i,o)),s&&Wk.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function rjt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&($K(t.pathSelection),mVe(t.dimensionSelection.selectAll(\"g.category\")),eJ(t.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),Wk.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(KK),t.hoverinfoItems.indexOf(\"skip\")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r===\"color\"?rJ(n,\"plotly_unhover\",Fl.event):tJ(n,\"plotly_unhover\",Fl.event)}}function ijt(e){e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,Fl.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each(function(t){var r=Fl.mouse(this)[0],n=Fl.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,Ex.raiseToTop(this.parentNode),Fl.select(this.parentNode).selectAll(\"rect.bandrect\").each(function(i){i.yc.y+c.height/2&&(a.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement===\"freeform\"){i.model.dragX=Fl.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&i.model.dragXh.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}nJ(e.parcatsViewModel),iJ(e.parcatsViewModel),bVe(e.parcatsViewModel),xVe(e.parcatsViewModel)}}function ajt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&e.dragDimensionDisplayInd!==null){Fl.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var t={},r=_Ve(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,d){return h!==n[d]});i&&n.forEach(function(h,d){var v=e.parcatsViewModel.model.dimensions[d].containerInd;t[\"dimensions[\"+v+\"].displayindex\"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,d){return h!==o[d]}),a){var s=e.model.categories.slice().sort(function(h,d){return h.displayInd-d.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t[\"dimensions[\"+e.model.containerInd+\"].categoryarray\"]=[l],t[\"dimensions[\"+e.model.containerInd+\"].ticktext\"]=[u],t[\"dimensions[\"+e.model.containerInd+\"].categoryorder\"]=\"array\"}}if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron===\"color\"?rJ(e.potentialClickBand,\"plotly_click\",Fl.event.sourceEvent):tJ(e.potentialClickBand,\"plotly_click\",Fl.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,nJ(e.parcatsViewModel),iJ(e.parcatsViewModel);var f=Fl.transition().duration(300).ease(\"cubic-in-out\");f.each(function(){bVe(e.parcatsViewModel,!0),xVe(e.parcatsViewModel,!0)}).each(\"end\",function(){(i||a)&&GHt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function _Ve(e){for(var t,r=e.graphDiv._fullData,n=0;n=0;l--)u+=\"C\"+o[l]+\",\"+(t[l+1]+n)+\" \"+a[l]+\",\"+(t[l]+n)+\" \"+(e[l]+r[l])+\",\"+(t[l]+n),u+=\"l-\"+r[l]+\",0 \";return u+=\"Z\",u}function iJ(e){var t=e.dimensions,r=e.model,n=t.map(function(q){return q.categories.map(function(U){return U.y})}),i=e.model.dimensions.map(function(q){return q.categories.map(function(U){return U.displayInd})}),a=e.model.dimensions.map(function(q){return q.displayInd}),o=e.dimensions.map(function(q){return q.model.dimensionInd}),s=t.map(function(q){return q.x}),l=t.map(function(q){return q.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(q){var U=q.categoryInds.map(function(Z,j){return i[j][Z]}),G=o.map(function(Z){return U[Z]});return G}u.sort(function(q,U){var G=f(q),Z=f(U);return e.sortpaths===\"backward\"&&(G.reverse(),Z.reverse()),G.push(q.valueInds[0]),Z.push(U.valueInds[0]),e.bundlecolors&&(G.unshift(q.rawColor),Z.unshift(U.rawColor)),GZ?1:0});for(var h=new Array(u.length),d=t[0].model.count,v=t[0].categories.map(function(q){return q.height}).reduce(function(q,U){return q+U}),m=0;m0?p=v*(b.count/d):p=0;for(var k=new Array(n.length),M=0;M1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,d=t.count,v=e.height-h*(c-1),m,b,p,k,M,T=(c-f)*h/2,L=t.categories.map(function(x){return{displayInd:x.displayInd,categoryInd:x.categoryInd}});for(L.sort(function(x,C){return x.displayInd-C.displayInd}),M=0;M0?m=b.count/d*v:m=0,p={key:b.valueInds[0],model:b,width:n,height:m,y:b.dragY!==null?b.dragY:T,bands:[],parcatsViewModel:e},T=T+m+h,u.push(p);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var aJ=ye((Txr,AVe)=>{\"use strict\";var ljt=TVe();AVe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;ljt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var MVe=ye(Yz=>{\"use strict\";var ujt=Id().getModuleCalcData,cjt=aJ(),SVe=\"parcats\";Yz.name=SVe;Yz.plot=function(e,t,r,n){var i=ujt(e.calcdata,SVe);if(i.length){var a=i[0];cjt(e,a,r,n)}};Yz.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcats\"),a=t._has&&t._has(\"parcats\");i&&!a&&n._paperdiv.selectAll(\".parcats\").remove()}});var kVe=ye((Sxr,EVe)=>{\"use strict\";EVe.exports={attributes:ZK(),supplyDefaults:hVe(),calc:vVe(),plot:aJ(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:MVe(),categories:[\"noOpacity\"],meta:{}}});var LVe=ye((Mxr,CVe)=>{\"use strict\";CVe.exports=kVe()});var m1=ye((Exr,qVe)=>{\"use strict\";var fjt=t_(),PVe=\"1.13.4\",FVe='\\xA9 OpenStreetMap contributors',IVe=['\\xA9 Carto',FVe].join(\" \"),RVe=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under ODbL'].join(\" \"),hjt=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under CC BY SA'].join(\" \"),zVe={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:FVe,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}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:IVe,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}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:IVe,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}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:RVe,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:RVe,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:hjt,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"}},DVe=fjt(zVe);qVe.exports={requiredVersion:PVe,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:zVe,styleValuesNonMapbox:DVe,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install @plotly/mapbox-gl@\"+PVe+\".\"].join(`\n", + "`),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\" Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(`\n", + "`),missingStyleErrorMsg:[\"No valid mapbox style found, please set `mapbox.style` to one of:\",DVe.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')`}}});var Zk=ye((kxr,UVe)=>{\"use strict\";var OVe=Pr(),BVe=ka().defaultLine,djt=Cc().attributes,vjt=ec(),pjt=pf().textposition,gjt=mc().overrideAll,mjt=vl().templatedArray,oJ=m1(),NVe=vjt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});NVe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var yjt=UVe.exports=gjt({_arrayAttrRegexps:[OVe.counterRegex(\"mapbox\",\".layers\",!0)],domain:djt({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:oJ.styleValuesMapbox.concat(oJ.styleValuesNonMapbox),dflt:oJ.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:mjt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:BVe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:BVe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:NVe,textposition:OVe.extendFlat({},pjt,{arrayOk:!1})}})},\"plot\",\"from-root\");yjt.uirevision={valType:\"any\",editType:\"none\"}});var Kz=ye((Cxr,jVe)=>{\"use strict\";var{hovertemplateAttrs:_jt,texttemplateAttrs:xjt,templatefallbackAttrs:VVe}=Ll(),bjt=Pg(),Yk=ew(),E5=pf(),GVe=Zk(),wjt=Gl(),Tjt=Tu(),hw=Ao().extendFlat,Ajt=mc().overrideAll,Sjt=Zk(),HVe=Yk.line,k5=Yk.marker;jVe.exports=Ajt({lon:Yk.lon,lat:Yk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:hw({},Sjt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:hw({},k5.opacity,{dflt:1})},mode:hw({},E5.mode,{dflt:\"markers\"}),text:hw({},E5.text,{}),texttemplate:xjt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),texttemplatefallback:VVe({editType:\"plot\"}),hovertext:hw({},E5.hovertext,{}),line:{color:HVe.color,width:HVe.width},connectgaps:E5.connectgaps,marker:hw({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:k5.opacity,size:k5.size,sizeref:k5.sizeref,sizemin:k5.sizemin,sizemode:k5.sizemode},Tjt(\"marker\")),fill:Yk.fill,fillcolor:bjt(),textfont:GVe.layers.symbol.textfont,textposition:GVe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:E5.selected.marker},unselected:{marker:E5.unselected.marker},hoverinfo:hw({},wjt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:_jt(),hovertemplatefallback:VVe()},\"calc\",\"nested\")});var sJ=ye((Lxr,WVe)=>{\"use strict\";var Mjt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];WVe.exports={isSupportedFont:function(e){return Mjt.indexOf(e)!==-1}}});var YVe=ye((Pxr,ZVe)=>{\"use strict\";var Kk=Pr(),lJ=Ru(),Ejt=$p(),kjt=D0(),Cjt=F0(),Ljt=Fg(),XVe=Kz(),Pjt=sJ().isSupportedFont;ZVe.exports=function(t,r,n,i){function a(p,k){return Kk.coerce(t,r,XVe,p,k)}function o(p,k){return Kk.coerce2(t,r,XVe,p,k)}var s=Ijt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"texttemplatefallback\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"mode\"),a(\"below\"),lJ.hasMarkers(r)){Ejt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(Kk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Kk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}lJ.hasLines(r)&&(kjt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,m=a(\"cluster.enabled\",v);if(m||lJ.hasText(r)){var b=i.font.family;Cjt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:Pjt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&Ljt(t,r,n,a),Kk.coerceSelectionMarkerOpacity(r,a)};function Ijt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var uJ=ye((Ixr,JVe)=>{\"use strict\";var KVe=ho();JVe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=KVe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=KVe.tickText(o,o.c2l(s[1]),!0).text,i}});var cJ=ye((Rxr,QVe)=>{\"use strict\";var $Ve=Pr();QVe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=$Ve.isArrayOrTypedArray(r)?$Ve.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var aGe=ye((Dxr,nGe)=>{\"use strict\";var rGe=Eo(),av=Pr(),Rjt=fs().BADNUM,$z=cx(),eGe=tc(),Djt=So(),Fjt=O3(),Qz=Ru(),zjt=sJ().isSupportedFont,qjt=cJ(),Ojt=ip().appendArrayPointValue,Bjt=Zl().NEWLINES,Njt=Zl().BR_TAG_ALL;nGe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=Qz.hasLines(n),s=Qz.hasMarkers(n),l=Qz.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=Jz(\"fill\"),d=Jz(\"line\"),v=Jz(\"circle\"),m=Jz(\"symbol\"),b={fill:h,line:d,circle:v,symbol:m};if(!i)return b;var p;if((a||o)&&(p=$z.calcTraceToLineCoords(r)),a&&(h.geojson=$z.makePolygon(p),h.layout.visibility=\"visible\",av.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=$z.makeLine(p),d.layout.visibility=\"visible\",av.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var k=Ujt(r);v.geojson=k.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":hJ(n.cluster.color,n.cluster.step),\"circle-radius\":hJ(n.cluster.size,n.cluster.step),\"circle-opacity\":hJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":tGe(n),\"text-size\":12}}),av.extendFlat(v.paint,{\"circle-color\":k.mcc,\"circle-radius\":k.mrc,\"circle-opacity\":k.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(m.geojson=Vjt(r,t),av.extendFlat(m.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(av.extendFlat(m.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&av.extendFlat(m.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),m.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,av.extendFlat(m.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var M=(n.marker||{}).size,T=qjt(n.textposition,M);av.extendFlat(m.layout,{\"text-size\":n.textfont.size,\"text-anchor\":T.anchor,\"text-offset\":T.offset,\"text-font\":tGe(n)}),av.extendFlat(m.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function Jz(e){return{type:e,geojson:$z.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function Ujt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=av.isArrayOrTypedArray(r.color),a=av.isArrayOrTypedArray(r.size),o=av.isArrayOrTypedArray(r.opacity),s;function l(M){return t.opacity*M}function u(M){return M/2}var c;i&&(eGe.hasColorscale(t,\"marker\")?c=eGe.makeColorScaleFuncFromTrace(r):c=av.identity);var f;a&&(f=Fjt(t));var h;o&&(h=function(M){var T=rGe(M)?+av.constrain(M,0,1):0;return l(T)});var d=[];for(s=0;s850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),zjt(s)||(s=r);var l=s.split(\", \");return l}});var uGe=ye((Fxr,lGe)=>{\"use strict\";var Gjt=Pr(),oGe=aGe(),C5=m1().traceLayerPrefix,ng={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function sGe(e,t,r,n){this.type=\"scattermapbox\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:C5+t+\"-fill\",line:C5+t+\"-line\",circle:C5+t+\"-circle\",symbol:C5+t+\"-symbol\",cluster:C5+t+\"-cluster\",clusterCount:C5+t+\"-cluster-count\"},this.below=null}var Jk=sGe.prototype;Jk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&Gjt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Jk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Jk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s=0;L--){var x=T[L];i.removeLayer(u.layerIds[x])}M||i.removeSource(u.sourceIds.circle)}function h(M){for(var T=ng.nonCluster,L=0;L=0;L--){var x=T[L];i.removeLayer(u.layerIds[x]),M||i.removeSource(u.sourceIds[x])}}function v(M){l?f(M):d(M)}function m(M){s?c(M):h(M)}function b(){for(var M=s?ng.cluster:ng.nonCluster,T=0;T=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};lGe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new sGe(t,n.uid,i,a),s=oGe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u{\"use strict\";var Hjt=vf(),dJ=Pr(),jjt=mT(),Wjt=dJ.fillText,Xjt=fs().BADNUM,Zjt=m1().traceLayerPrefix;function Yjt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=Zjt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(S){return S.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function m(S){var g=S.lonlat;if(g[0]===Xjt||c&&l.indexOf(S.i+1)===-1)return 1/0;var P=dJ.modHalf(g[0],360),E=g[1],z=s.project([P,E]),q=z.x-a.c2p([v,E]),U=z.y-o.c2p([P,r]),G=Math.max(3,S.mrc||0);return Math.max(Math.sqrt(q*q+U*U)-G,1-3/G)}if(Hjt.getClosest(n,m,e),e.index!==!1){var b=n[e.index],p=b.lonlat,k=[dJ.modHalf(p[0],360)+d,p[1]],M=a.c2p(k),T=o.c2p(k),L=b.mrc||1;e.x0=M-L,e.x1=M+L,e.y0=T-L,e.y1=T+L;var x={};x[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,x);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=jjt(i,b),e.extraText=cGe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function cGe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&Wjt(t,e,u),u.join(\"
\")}fGe.exports={hoverPoints:Yjt,getExtraText:cGe}});var dGe=ye((qxr,hGe)=>{\"use strict\";hGe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var pGe=ye((Oxr,vGe)=>{\"use strict\";var Kjt=Pr(),Jjt=Ru(),$jt=fs().BADNUM;vGe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!Jjt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof vJ==\"object\"&&typeof pJ!=\"undefined\"?pJ.exports=t():(e=e||self,e.mapboxgl=t())})(vJ,function(){\"use strict\";var e,t,r;function n(i,a){if(!e)e=a;else if(!t)t=a;else{var o=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",s={};e(s),r=a(s),typeof window!=\"undefined\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([o],{type:\"text/javascript\"})))}}return n([\"exports\"],function(i){\"use strict\";function a(y,_){return _={exports:{}},y(_,_.exports),_.exports}var o=\"1.13.4\",s=l;function l(y,_,I,V){this.cx=3*y,this.bx=3*(I-y)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*_,this.by=3*(V-_)-this.cy,this.ay=1-this.cy-this.by,this.p1x=y,this.p1y=V,this.p2x=I,this.p2y=V}l.prototype.sampleCurveX=function(y){return((this.ax*y+this.bx)*y+this.cx)*y},l.prototype.sampleCurveY=function(y){return((this.ay*y+this.by)*y+this.cy)*y},l.prototype.sampleCurveDerivativeX=function(y){return(3*this.ax*y+2*this.bx)*y+this.cx},l.prototype.solveCurveX=function(y,_){typeof _==\"undefined\"&&(_=1e-6);var I,V,$,ae,he;for($=y,he=0;he<8;he++){if(ae=this.sampleCurveX($)-y,Math.abs(ae)<_)return $;var Fe=this.sampleCurveDerivativeX($);if(Math.abs(Fe)<1e-6)break;$=$-ae/Fe}if(I=0,V=1,$=y,$V)return V;for(;Iae?I=$:V=$,$=(V-I)*.5+I}return $},l.prototype.solve=function(y,_){return this.sampleCurveY(this.solveCurveX(y,_))};var u=c;function c(y,_){this.x=y,this.y=_}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(y){return this.clone()._add(y)},sub:function(y){return this.clone()._sub(y)},multByPoint:function(y){return this.clone()._multByPoint(y)},divByPoint:function(y){return this.clone()._divByPoint(y)},mult:function(y){return this.clone()._mult(y)},div:function(y){return this.clone()._div(y)},rotate:function(y){return this.clone()._rotate(y)},rotateAround:function(y,_){return this.clone()._rotateAround(y,_)},matMult:function(y){return this.clone()._matMult(y)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(y){return this.x===y.x&&this.y===y.y},dist:function(y){return Math.sqrt(this.distSqr(y))},distSqr:function(y){var _=y.x-this.x,I=y.y-this.y;return _*_+I*I},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(y){return Math.atan2(this.y-y.y,this.x-y.x)},angleWith:function(y){return this.angleWithSep(y.x,y.y)},angleWithSep:function(y,_){return Math.atan2(this.x*_-this.y*y,this.x*y+this.y*_)},_matMult:function(y){var _=y[0]*this.x+y[1]*this.y,I=y[2]*this.x+y[3]*this.y;return this.x=_,this.y=I,this},_add:function(y){return this.x+=y.x,this.y+=y.y,this},_sub:function(y){return this.x-=y.x,this.y-=y.y,this},_mult:function(y){return this.x*=y,this.y*=y,this},_div:function(y){return this.x/=y,this.y/=y,this},_multByPoint:function(y){return this.x*=y.x,this.y*=y.y,this},_divByPoint:function(y){return this.x/=y.x,this.y/=y.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var y=this.y;return this.y=this.x,this.x=-y,this},_rotate:function(y){var _=Math.cos(y),I=Math.sin(y),V=_*this.x-I*this.y,$=I*this.x+_*this.y;return this.x=V,this.y=$,this},_rotateAround:function(y,_){var I=Math.cos(y),V=Math.sin(y),$=_.x+I*(this.x-_.x)-V*(this.y-_.y),ae=_.y+V*(this.x-_.x)+I*(this.y-_.y);return this.x=$,this.y=ae,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(y){return y instanceof c?y:Array.isArray(y)?new c(y[0],y[1]):y};var f=typeof self!=\"undefined\"?self:{};function h(y,_){if(Array.isArray(y)){if(!Array.isArray(_)||y.length!==_.length)return!1;for(var I=0;I=1)return 1;var _=y*y,I=_*y;return 4*(y<.5?I:3*(y-_)+I-.75)}function m(y,_,I,V){var $=new s(y,_,I,V);return function(ae){return $.solve(ae)}}var b=m(.25,.1,.25,1);function p(y,_,I){return Math.min(I,Math.max(_,y))}function k(y,_,I){var V=I-_,$=((y-_)%V+V)%V+_;return $===_?I:$}function M(y,_,I){if(!y.length)return I(null,[]);var V=y.length,$=new Array(y.length),ae=null;y.forEach(function(he,Fe){_(he,function(it,yt){it&&(ae=it),$[Fe]=yt,--V===0&&I(ae,$)})})}function T(y){var _=[];for(var I in y)_.push(y[I]);return _}function L(y,_){var I=[];for(var V in y)V in _||I.push(V);return I}function x(y){for(var _=[],I=arguments.length-1;I-- >0;)_[I]=arguments[I+1];for(var V=0,$=_;V<$.length;V+=1){var ae=$[V];for(var he in ae)y[he]=ae[he]}return y}function C(y,_){for(var I={},V=0;V<_.length;V++){var $=_[V];$ in y&&(I[$]=y[$])}return I}var S=1;function g(){return S++}function P(){function y(_){return _?(_^Math.random()*16>>_/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,y)}return y()}function E(y){return y<=1?1:Math.pow(2,Math.ceil(Math.log(y)/Math.LN2))}function z(y){return y?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(y):!1}function q(y,_){y.forEach(function(I){_[I]&&(_[I]=_[I].bind(_))})}function U(y,_){return y.indexOf(_,y.length-_.length)!==-1}function G(y,_,I){var V={};for(var $ in y)V[$]=_.call(I||this,y[$],$,y);return V}function Z(y,_,I){var V={};for(var $ in y)_.call(I||this,y[$],$,y)&&(V[$]=y[$]);return V}function j(y){return Array.isArray(y)?y.map(j):typeof y==\"object\"&&y?G(y,j):y}function N(y,_){for(var I=0;I=0)return!0;return!1}var H={};function re(y){H[y]||(typeof console!=\"undefined\"&&console.warn(y),H[y]=!0)}function oe(y,_,I){return(I.y-y.y)*(_.x-y.x)>(_.y-y.y)*(I.x-y.x)}function _e(y){for(var _=0,I=0,V=y.length,$=V-1,ae=void 0,he=void 0;I@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,I={};if(y.replace(_,function($,ae,he,Fe){var it=he||Fe;return I[ae]=it?it.toLowerCase():!0,\"\"}),I[\"max-age\"]){var V=parseInt(I[\"max-age\"],10);isNaN(V)?delete I[\"max-age\"]:I[\"max-age\"]=V}return I}var ie=null;function Se(y){if(ie==null){var _=y.navigator?y.navigator.userAgent:null;ie=!!y.safari||!!(_&&(/\\b(iPad|iPhone|iPod)\\b/.test(_)||_.match(\"Safari\")&&!_.match(\"Chrome\")))}return ie}function Ee(y){try{var _=f[y];return _.setItem(\"_mapbox_test_\",1),_.removeItem(\"_mapbox_test_\"),!0}catch(I){return!1}}function we(y){return f.btoa(encodeURIComponent(y).replace(/%([0-9A-F]{2})/g,function(_,I){return String.fromCharCode(+(\"0x\"+I))}))}function De(y){return decodeURIComponent(f.atob(y).split(\"\").map(function(_){return\"%\"+(\"00\"+_.charCodeAt(0).toString(16)).slice(-2)}).join(\"\"))}var Le=f.performance&&f.performance.now?f.performance.now.bind(f.performance):Date.now.bind(Date),me=f.requestAnimationFrame||f.mozRequestAnimationFrame||f.webkitRequestAnimationFrame||f.msRequestAnimationFrame,Pe=f.cancelAnimationFrame||f.mozCancelAnimationFrame||f.webkitCancelAnimationFrame||f.msCancelAnimationFrame,ce,He,lt={now:Le,frame:function(_){var I=me(_);return{cancel:function(){return Pe(I)}}},getImageData:function(_,I){I===void 0&&(I=0);var V=f.document.createElement(\"canvas\"),$=V.getContext(\"2d\");if(!$)throw new Error(\"failed to create canvas 2d context\");return V.width=_.width,V.height=_.height,$.drawImage(_,0,0,_.width,_.height),$.getImageData(-I,-I,_.width+2*I,_.height+2*I)},resolveURL:function(_){return ce||(ce=f.document.createElement(\"a\")),ce.href=_,ce.href},hardwareConcurrency:f.navigator&&f.navigator.hardwareConcurrency||4,get devicePixelRatio(){return f.devicePixelRatio},get prefersReducedMotion(){return f.matchMedia?(He==null&&(He=f.matchMedia(\"(prefers-reduced-motion: reduce)\")),He.matches):!1}},mt={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf(\"https://api.mapbox.cn\")===0?\"https://events.mapbox.cn/events/v2\":this.API_URL.indexOf(\"https://api.mapbox.com\")===0?\"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},Vt={supported:!1,testSupport:nr},st,ct=!1,Qt,Ht=!1;f.document&&(Qt=f.document.createElement(\"img\"),Qt.onload=function(){st&&tt(st),st=null,Ht=!0},Qt.onerror=function(){ct=!0,st=null},Qt.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");function nr(y){ct||!Qt||(Ht?tt(y):st=y)}function tt(y){var _=y.createTexture();y.bindTexture(y.TEXTURE_2D,_);try{if(y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,Qt),y.isContextLost())return;Vt.supported=!0}catch(I){}y.deleteTexture(_),ct=!0}var je=\"01\";function Ue(){for(var y=\"1\",_=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\",I=\"\",V=0;V<10;V++)I+=_[Math.floor(Math.random()*62)];var $=12*60*60*1e3,ae=[y,je,I].join(\"\"),he=Date.now()+$;return{token:ae,tokenExpiresAt:he}}var Ae=function(_,I){this._transformRequestFn=_,this._customAccessToken=I,this._createSkuToken()};Ae.prototype._createSkuToken=function(){var _=Ue();this._skuToken=_.token,this._skuTokenExpiresAt=_.tokenExpiresAt},Ae.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ae.prototype.transformRequest=function(_,I){return this._transformRequestFn?this._transformRequestFn(_,I)||{url:_}:{url:_}},Ae.prototype.normalizeStyleURL=function(_,I){if(!rt(_))return _;var V=Xt(_);return V.path=\"/styles/v1\"+V.path,this._makeAPIURL(V,this._customAccessToken||I)},Ae.prototype.normalizeGlyphsURL=function(_,I){if(!rt(_))return _;var V=Xt(_);return V.path=\"/fonts/v1\"+V.path,this._makeAPIURL(V,this._customAccessToken||I)},Ae.prototype.normalizeSourceURL=function(_,I){if(!rt(_))return _;var V=Xt(_);return V.path=\"/v4/\"+V.authority+\".json\",V.params.push(\"secure\"),this._makeAPIURL(V,this._customAccessToken||I)},Ae.prototype.normalizeSpriteURL=function(_,I,V,$){var ae=Xt(_);return rt(_)?(ae.path=\"/styles/v1\"+ae.path+\"/sprite\"+I+V,this._makeAPIURL(ae,this._customAccessToken||$)):(ae.path+=\"\"+I+V,or(ae))},Ae.prototype.normalizeTileURL=function(_,I){if(this._isSkuTokenExpired()&&this._createSkuToken(),_&&!rt(_))return _;var V=Xt(_),$=/(\\.(png|jpg)\\d*)(?=$)/,ae=/^.+\\/v4\\//,he=lt.devicePixelRatio>=2||I===512?\"@2x\":\"\",Fe=Vt.supported?\".webp\":\"$1\";V.path=V.path.replace($,\"\"+he+Fe),V.path=V.path.replace(ae,\"/\"),V.path=\"/v4\"+V.path;var it=this._customAccessToken||Et(V.params)||mt.ACCESS_TOKEN;return mt.REQUIRE_ACCESS_TOKEN&&it&&this._skuToken&&V.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(V,it)},Ae.prototype.canonicalizeTileURL=function(_,I){var V=\"/v4/\",$=/\\.[\\w]+$/,ae=Xt(_);if(!ae.path.match(/(^\\/v4\\/)/)||!ae.path.match($))return _;var he=\"mapbox://tiles/\";he+=ae.path.replace(V,\"\");var Fe=ae.params;return I&&(Fe=Fe.filter(function(it){return!it.match(/^access_token=/)})),Fe.length&&(he+=\"?\"+Fe.join(\"&\")),he},Ae.prototype.canonicalizeTileset=function(_,I){for(var V=I?rt(I):!1,$=[],ae=0,he=_.tiles||[];ae=0&&_.params.splice(ae,1)}if($.path!==\"/\"&&(_.path=\"\"+$.path+_.path),!mt.REQUIRE_ACCESS_TOKEN)return or(_);if(I=I||mt.ACCESS_TOKEN,!I)throw new Error(\"An API access token is required to use Mapbox GL. \"+V);if(I[0]===\"s\")throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+V);return _.params=_.params.filter(function(he){return he.indexOf(\"access_token\")===-1}),_.params.push(\"access_token=\"+I),or(_)};function rt(y){return y.indexOf(\"mapbox:\")===0}var St=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function Tt(y){return St.test(y)}function dt(y){return y.indexOf(\"sku=\")>0&&Tt(y)}function Et(y){for(var _=0,I=y;_=1&&f.localStorage.setItem(I,JSON.stringify(this.eventData))}catch($){re(\"Unable to write to LocalStorage\")}},ei.prototype.processRequests=function(_){},ei.prototype.postEvent=function(_,I,V,$){var ae=this;if(mt.EVENTS_URL){var he=Xt(mt.EVENTS_URL);he.params.push(\"access_token=\"+($||mt.ACCESS_TOKEN||\"\"));var Fe={event:this.type,created:new Date(_).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:o,skuId:je,userId:this.anonId},it=I?x(Fe,I):Fe,yt={url:or(he),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([it])};this.pendingRequest=$r(yt,function(Lt){ae.pendingRequest=null,V(Lt),ae.saveEventData(),ae.processRequests($)})}},ei.prototype.queueRequest=function(_,I){this.queue.push(_),this.processRequests(I)};var qr=function(y){function _(){y.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.postMapLoadEvent=function(V,$,ae,he){this.skuToken=ae,(mt.EVENTS_URL&&he||mt.ACCESS_TOKEN&&Array.isArray(V)&&V.some(function(Fe){return rt(Fe)||Tt(Fe)}))&&this.queueRequest({id:$,timestamp:Date.now()},he)},_.prototype.processRequests=function(V){var $=this;if(!(this.pendingRequest||this.queue.length===0)){var ae=this.queue.shift(),he=ae.id,Fe=ae.timestamp;he&&this.success[he]||(this.anonId||this.fetchEventData(),z(this.anonId)||(this.anonId=P()),this.postEvent(Fe,{skuToken:this.skuToken},function(it){it||he&&($.success[he]=!0)},V))}},_}(ei),jr=function(y){function _(I){y.call(this,\"appUserTurnstile\"),this._customAccessToken=I}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.postTurnstileEvent=function(V,$){mt.EVENTS_URL&&mt.ACCESS_TOKEN&&Array.isArray(V)&&V.some(function(ae){return rt(ae)||Tt(ae)})&&this.queueRequest(Date.now(),$)},_.prototype.processRequests=function(V){var $=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var ae=Er(mt.ACCESS_TOKEN),he=ae?ae.u:mt.ACCESS_TOKEN,Fe=he!==this.eventData.tokenU;z(this.anonId)||(this.anonId=P(),Fe=!0);var it=this.queue.shift();if(this.eventData.lastSuccess){var yt=new Date(this.eventData.lastSuccess),Lt=new Date(it),sr=(it-this.eventData.lastSuccess)/(24*60*60*1e3);Fe=Fe||sr>=1||sr<-1||yt.getDate()!==Lt.getDate()}else Fe=!0;if(!Fe)return this.processRequests();this.postEvent(it,{\"enabled.telemetry\":!1},function(gr){gr||($.eventData.lastSuccess=it,$.eventData.tokenU=he)},V)}},_}(ei),gt=new jr,Ge=gt.postTurnstileEvent.bind(gt),Je=new qr,We=Je.postMapLoadEvent.bind(Je),et=\"mapbox-tiles\",xt=500,At=50,Kt=1e3*60*7,er;function Sr(){f.caches&&!er&&(er=f.caches.open(et))}var Gr;function Ir(y,_){if(Gr===void 0)try{new Response(new ReadableStream),Gr=!0}catch(I){Gr=!1}Gr?_(y.body):y.blob().then(_)}function Yr(y,_,I){if(Sr(),!!er){var V={status:_.status,statusText:_.statusText,headers:new f.Headers};_.headers.forEach(function(he,Fe){return V.headers.set(Fe,he)});var $=ge(_.headers.get(\"Cache-Control\")||\"\");if(!$[\"no-store\"]){$[\"max-age\"]&&V.headers.set(\"Expires\",new Date(I+$[\"max-age\"]*1e3).toUTCString());var ae=new Date(V.headers.get(\"Expires\")).getTime()-I;aeDate.now()&&!I[\"no-cache\"]}var mi=1/0;function un(y){mi++,mi>At&&(y.getActor().send(\"enforceCacheSizeLimit\",xt),mi=0)}function Fn(y){Sr(),er&&er.then(function(_){_.keys().then(function(I){for(var V=0;V=200&&I.status<300||I.status===0)&&I.response!==null){var $=I.response;if(y.type===\"json\")try{$=JSON.parse(I.response)}catch(ae){return _(ae)}_(null,$,I.getResponseHeader(\"Cache-Control\"),I.getResponseHeader(\"Expires\"))}else _(new Jn(I.statusText,I.status,y.url))},I.send(y.body),{cancel:function(){return I.abort()}}}var wr=function(y,_){if(!wt(y.url)){if(f.fetch&&f.Request&&f.AbortController&&f.Request.prototype.hasOwnProperty(\"signal\"))return rr(y,_);if(Ce()&&self.worker&&self.worker.actor){var I=!0;return self.worker.actor.send(\"getResource\",y,_,void 0,I)}}return ir(y,_)},Xr=function(y,_){return wr(x(y,{type:\"json\"}),_)},ti=function(y,_){return wr(x(y,{type:\"arrayBuffer\"}),_)},$r=function(y,_){return wr(x(y,{method:\"POST\"}),_)};function Ri(y){var _=f.document.createElement(\"a\");return _.href=y,_.protocol===f.document.location.protocol&&_.host===f.document.location.host}var Zi=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function en(y,_,I,V){var $=new f.Image,ae=f.URL;$.onload=function(){_(null,$),ae.revokeObjectURL($.src),$.onload=null,f.requestAnimationFrame(function(){$.src=Zi})},$.onerror=function(){return _(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var he=new f.Blob([new Uint8Array(y)],{type:\"image/png\"});$.cacheControl=I,$.expires=V,$.src=y.byteLength?ae.createObjectURL(he):Zi}function fn(y,_){var I=new f.Blob([new Uint8Array(y)],{type:\"image/png\"});f.createImageBitmap(I).then(function(V){_(null,V)}).catch(function(V){_(new Error(\"Could not load image because of \"+V.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))})}var yn,Mn,Ba=function(){yn=[],Mn=0};Ba();var ua=function(y,_){if(Vt.supported&&(y.headers||(y.headers={}),y.headers.accept=\"image/webp,*/*\"),Mn>=mt.MAX_PARALLEL_IMAGE_REQUESTS){var I={requestParameters:y,callback:_,cancelled:!1,cancel:function(){this.cancelled=!0}};return yn.push(I),I}Mn++;var V=!1,$=function(){if(!V)for(V=!0,Mn--;yn.length&&Mn0||this._oneTimeListeners&&this._oneTimeListeners[_]&&this._oneTimeListeners[_].length>0||this._eventedParent&&this._eventedParent.listens(_)},jn.prototype.setEventedParent=function(_,I){return this._eventedParent=_,this._eventedParentData=I,this};var Ha=8,vo={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\"}},Gn={\"*\":{type:\"source\"}},Ct=[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],Ar={type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},Jr={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\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},hi={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\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},hn={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},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},Sn={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\"}}},En={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\"}}},ki={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\"}},_n=[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],ya={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},ea={\"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\"}},Ma={\"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\"}},_o={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},No={\"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\"}},po={\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Lo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},ko={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Ds={type:\"array\",value:\"*\"},Fs={type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},ll={type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},ul={type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},zl={type:\"array\",value:\"*\",minimum:1},us={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}},il=[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],As={\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},cl={\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},Ks={\"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\"}},zs={\"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\"}},Io={\"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\"}},ls={\"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\"}},Yl={\"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\"}},Su={\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},nc={duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},bs={\"*\":{type:\"string\"}},Rn={$version:Ha,$root:vo,sources:Gn,source:Ct,source_vector:Ar,source_raster:Jr,source_raster_dem:hi,source_geojson:hn,source_video:Sn,source_image:En,layer:ki,layout:_n,layout_background:ya,layout_fill:ea,layout_circle:Ma,layout_heatmap:_o,\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:No,layout_symbol:po,layout_raster:Lo,layout_hillshade:ko,filter:Ds,filter_operator:Fs,geometry_type:ll,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:ul,expression:zl,light:us,paint:il,paint_fill:As,\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:cl,paint_circle:Ks,paint_heatmap:zs,paint_symbol:Io,paint_raster:ls,paint_hillshade:Yl,paint_background:Su,transition:nc,\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:bs},_a=function(_,I,V,$){this.message=(_?_+\": \":\"\")+V,$&&(this.identifier=$),I!=null&&I.__line__&&(this.line=I.__line__)};function Vu(y){var _=y.key,I=y.value;return I?[new _a(_,I,\"constants have been deprecated as of v8\")]:[]}function ql(y){for(var _=[],I=arguments.length-1;I-- >0;)_[I]=arguments[I+1];for(var V=0,$=_;V<$.length;V+=1){var ae=$[V];for(var he in ae)y[he]=ae[he]}return y}function xo(y){return y instanceof Number||y instanceof String||y instanceof Boolean?y.valueOf():y}function Kl(y){if(Array.isArray(y))return y.map(Kl);if(y instanceof Object&&!(y instanceof Number||y instanceof String||y instanceof Boolean)){var _={};for(var I in y)_[I]=Kl(y[I]);return _}return xo(y)}var Ns=function(y){function _(I,V){y.call(this,V),this.message=V,this.key=I}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_}(Error),Hl=function(_,I){I===void 0&&(I=[]),this.parent=_,this.bindings={};for(var V=0,$=I;V<$.length;V+=1){var ae=$[V],he=ae[0],Fe=ae[1];this.bindings[he]=Fe}};Hl.prototype.concat=function(_){return new Hl(this,_)},Hl.prototype.get=function(_){if(this.bindings[_])return this.bindings[_];if(this.parent)return this.parent.get(_);throw new Error(_+\" not found in scope.\")},Hl.prototype.has=function(_){return this.bindings[_]?!0:this.parent?this.parent.has(_):!1};var ac={kind:\"null\"},oa={kind:\"number\"},qo={kind:\"string\"},Oo={kind:\"boolean\"},Ol={kind:\"color\"},Pc={kind:\"object\"},Do={kind:\"value\"},rf={kind:\"error\"},Vf={kind:\"collator\"},pl={kind:\"formatted\"},Zc={kind:\"resolvedImage\"};function Jl(y,_){return{kind:\"array\",itemType:y,N:_}}function qs(y){if(y.kind===\"array\"){var _=qs(y.itemType);return typeof y.N==\"number\"?\"array<\"+_+\", \"+y.N+\">\":y.itemType.kind===\"value\"?\"array\":\"array<\"+_+\">\"}else return y.kind}var yu=[ac,oa,qo,Oo,Ol,pl,Pc,Jl(Do),Zc];function oc(y,_){if(_.kind===\"error\")return null;if(y.kind===\"array\"){if(_.kind===\"array\"&&(_.N===0&&_.itemType.kind===\"value\"||!oc(y.itemType,_.itemType))&&(typeof y.N!=\"number\"||y.N===_.N))return null}else{if(y.kind===_.kind)return null;if(y.kind===\"value\")for(var I=0,V=yu;I255?255:yt}function $(yt){return yt<0?0:yt>1?1:yt}function ae(yt){return yt[yt.length-1]===\"%\"?V(parseFloat(yt)/100*255):V(parseInt(yt))}function he(yt){return yt[yt.length-1]===\"%\"?$(parseFloat(yt)/100):$(parseFloat(yt))}function Fe(yt,Lt,sr){return sr<0?sr+=1:sr>1&&(sr-=1),sr*6<1?yt+(Lt-yt)*sr*6:sr*2<1?Lt:sr*3<2?yt+(Lt-yt)*(2/3-sr)*6:yt}function it(yt){var Lt=yt.replace(/ /g,\"\").toLowerCase();if(Lt in I)return I[Lt].slice();if(Lt[0]===\"#\"){if(Lt.length===4){var sr=parseInt(Lt.substr(1),16);return sr>=0&&sr<=4095?[(sr&3840)>>4|(sr&3840)>>8,sr&240|(sr&240)>>4,sr&15|(sr&15)<<4,1]:null}else if(Lt.length===7){var sr=parseInt(Lt.substr(1),16);return sr>=0&&sr<=16777215?[(sr&16711680)>>16,(sr&65280)>>8,sr&255,1]:null}return null}var gr=Lt.indexOf(\"(\"),hr=Lt.indexOf(\")\");if(gr!==-1&&hr+1===Lt.length){var Rr=Lt.substr(0,gr),ni=Lt.substr(gr+1,hr-(gr+1)).split(\",\"),Hi=1;switch(Rr){case\"rgba\":if(ni.length!==4)return null;Hi=he(ni.pop());case\"rgb\":return ni.length!==3?null:[ae(ni[0]),ae(ni[1]),ae(ni[2]),Hi];case\"hsla\":if(ni.length!==4)return null;Hi=he(ni.pop());case\"hsl\":if(ni.length!==3)return null;var wi=(parseFloat(ni[0])%360+360)%360/360,bn=he(ni[1]),rn=he(ni[2]),xn=rn<=.5?rn*(bn+1):rn+bn-rn*bn,In=rn*2-xn;return[V(Fe(In,xn,wi+1/3)*255),V(Fe(In,xn,wi)*255),V(Fe(In,xn,wi-1/3)*255),Hi];default:return null}}return null}try{_.parseCSSColor=it}catch(yt){}}),Lf=jh.parseCSSColor,cs=function(_,I,V,$){$===void 0&&($=1),this.r=_,this.g=I,this.b=V,this.a=$};cs.parse=function(_){if(_){if(_ instanceof cs)return _;if(typeof _==\"string\"){var I=Lf(_);if(I)return new cs(I[0]/255*I[3],I[1]/255*I[3],I[2]/255*I[3],I[3])}}},cs.prototype.toString=function(){var _=this.toArray(),I=_[0],V=_[1],$=_[2],ae=_[3];return\"rgba(\"+Math.round(I)+\",\"+Math.round(V)+\",\"+Math.round($)+\",\"+ae+\")\"},cs.prototype.toArray=function(){var _=this,I=_.r,V=_.g,$=_.b,ae=_.a;return ae===0?[0,0,0,0]:[I*255/ae,V*255/ae,$*255/ae,ae]},cs.black=new cs(0,0,0,1),cs.white=new cs(1,1,1,1),cs.transparent=new cs(0,0,0,0),cs.red=new cs(1,0,0,1);var nf=function(_,I,V){_?this.sensitivity=I?\"variant\":\"case\":this.sensitivity=I?\"accent\":\"base\",this.locale=V,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};nf.prototype.compare=function(_,I){return this.collator.compare(_,I)},nf.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Gf=function(_,I,V,$,ae){this.text=_,this.image=I,this.scale=V,this.fontStack=$,this.textColor=ae},$l=function(_){this.sections=_};$l.fromString=function(_){return new $l([new Gf(_,null,null,null,null)])},$l.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(_){return _.text.length!==0||_.image&&_.image.name.length!==0})},$l.factory=function(_){return _ instanceof $l?_:$l.fromString(_)},$l.prototype.toString=function(){return this.sections.length===0?\"\":this.sections.map(function(_){return _.text}).join(\"\")},$l.prototype.serialize=function(){for(var _=[\"format\"],I=0,V=this.sections;I=0&&y<=255&&typeof _==\"number\"&&_>=0&&_<=255&&typeof I==\"number\"&&I>=0&&I<=255)){var $=typeof V==\"number\"?[y,_,I,V]:[y,_,I];return\"Invalid rgba value [\"+$.join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}return typeof V==\"undefined\"||typeof V==\"number\"&&V>=0&&V<=1?null:\"Invalid rgba value [\"+[y,_,I,V].join(\", \")+\"]: 'a' must be between 0 and 1.\"}function Fu(y){if(y===null)return!0;if(typeof y==\"string\")return!0;if(typeof y==\"boolean\")return!0;if(typeof y==\"number\")return!0;if(y instanceof cs)return!0;if(y instanceof nf)return!0;if(y instanceof $l)return!0;if(y instanceof fl)return!0;if(Array.isArray(y)){for(var _=0,I=y;_2){var Fe=_[1];if(typeof Fe!=\"string\"||!(Fe in uc)||Fe===\"object\")return I.error('The item type argument of \"array\" must be one of string, number, boolean',1);he=uc[Fe],V++}else he=Do;var it;if(_.length>3){if(_[2]!==null&&(typeof _[2]!=\"number\"||_[2]<0||_[2]!==Math.floor(_[2])))return I.error('The length argument to \"array\" must be a positive integer literal',2);it=_[2],V++}$=Jl(he,it)}else $=uc[ae];for(var yt=[];V<_.length;V++){var Lt=I.parse(_[V],V,Do);if(!Lt)return null;yt.push(Lt)}return new xl($,yt)},xl.prototype.evaluate=function(_){for(var I=0;I1)&&I.push($)}}return I.concat(this.args.map(function(ae){return ae.serialize()}))};var Gu=function(_){this.type=pl,this.sections=_};Gu.parse=function(_,I){if(_.length<2)return I.error(\"Expected at least one argument.\");var V=_[1];if(!Array.isArray(V)&&typeof V==\"object\")return I.error(\"First argument must be an image or text section.\");for(var $=[],ae=!1,he=1;he<=_.length-1;++he){var Fe=_[he];if(ae&&typeof Fe==\"object\"&&!Array.isArray(Fe)){ae=!1;var it=null;if(Fe[\"font-scale\"]&&(it=I.parse(Fe[\"font-scale\"],1,oa),!it))return null;var yt=null;if(Fe[\"text-font\"]&&(yt=I.parse(Fe[\"text-font\"],1,Jl(qo)),!yt))return null;var Lt=null;if(Fe[\"text-color\"]&&(Lt=I.parse(Fe[\"text-color\"],1,Ol),!Lt))return null;var sr=$[$.length-1];sr.scale=it,sr.font=yt,sr.textColor=Lt}else{var gr=I.parse(_[he],1,Do);if(!gr)return null;var hr=gr.type.kind;if(hr!==\"string\"&&hr!==\"value\"&&hr!==\"null\"&&hr!==\"resolvedImage\")return I.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ae=!0,$.push({content:gr,scale:null,font:null,textColor:null})}}return new Gu($)},Gu.prototype.evaluate=function(_){var I=function(V){var $=V.content.evaluate(_);return Es($)===Zc?new Gf(\"\",$,null,null,null):new Gf(Hs($),null,V.scale?V.scale.evaluate(_):null,V.font?V.font.evaluate(_).join(\",\"):null,V.textColor?V.textColor.evaluate(_):null)};return new $l(this.sections.map(I))},Gu.prototype.eachChild=function(_){for(var I=0,V=this.sections;I-1),V},Os.prototype.eachChild=function(_){_(this.input)},Os.prototype.outputDefined=function(){return!1},Os.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var od={\"to-boolean\":Oo,\"to-color\":Ol,\"to-number\":oa,\"to-string\":qo},Po=function(_,I){this.type=_,this.args=I};Po.parse=function(_,I){if(_.length<2)return I.error(\"Expected at least one argument.\");var V=_[0];if((V===\"to-boolean\"||V===\"to-string\")&&_.length!==2)return I.error(\"Expected one argument.\");for(var $=od[V],ae=[],he=1;he<_.length;he++){var Fe=I.parse(_[he],he,Do);if(!Fe)return null;ae.push(Fe)}return new Po($,ae)},Po.prototype.evaluate=function(_){if(this.type.kind===\"boolean\")return!!this.args[0].evaluate(_);if(this.type.kind===\"color\"){for(var I,V,$=0,ae=this.args;$4?V=\"Invalid rbga value \"+JSON.stringify(I)+\": expected an array containing either three or four numeric values.\":V=lc(I[0],I[1],I[2],I[3]),!V))return new cs(I[0]/255,I[1]/255,I[2]/255,I[3])}throw new ps(V||\"Could not parse color from value '\"+(typeof I==\"string\"?I:String(JSON.stringify(I)))+\"'\")}else if(this.type.kind===\"number\"){for(var it=null,yt=0,Lt=this.args;yt=_[2]||y[1]<=_[1]||y[3]>=_[3])}function Ah(y,_){var I=Ic(y[0]),V=yf(y[1]),$=Math.pow(2,_.z);return[Math.round(I*$*bl),Math.round(V*$*bl)]}function Qf(y,_,I){var V=y[0]-_[0],$=y[1]-_[1],ae=y[0]-I[0],he=y[1]-I[1];return V*he-ae*$===0&&V*ae<=0&&$*he<=0}function _f(y,_,I){return _[1]>y[1]!=I[1]>y[1]&&y[0]<(I[0]-_[0])*(y[1]-_[1])/(I[1]-_[1])+_[0]}function Yc(y,_){for(var I=!1,V=0,$=_.length;V<$;V++)for(var ae=_[V],he=0,Fe=ae.length;he0&&sr<0||Lt<0&&sr>0}function jf(y,_,I,V){var $=[_[0]-y[0],_[1]-y[1]],ae=[V[0]-I[0],V[1]-I[1]];return th(ae,$)===0?!1:!!(ju(y,_,I,V)&&ju(I,V,y,_))}function cc(y,_,I){for(var V=0,$=I;V<$.length;V+=1)for(var ae=$[V],he=0;heI[2]){var $=V*.5,ae=y[0]-I[0]>$?-V:I[0]-y[0]>$?V:0;ae===0&&(ae=y[0]-I[2]>$?-V:I[2]-y[0]>$?V:0),y[0]+=ae}Hf(_,y)}function Wf(y){y[0]=y[1]=1/0,y[2]=y[3]=-1/0}function Wh(y,_,I,V){for(var $=Math.pow(2,V.z)*bl,ae=[V.x*bl,V.y*bl],he=[],Fe=0,it=y;Fe=0)return!1;var I=!0;return y.eachChild(function(V){I&&!Eu(V,_)&&(I=!1)}),I}var Dc=function(_,I){this.type=I.type,this.name=_,this.boundExpression=I};Dc.parse=function(_,I){if(_.length!==2||typeof _[1]!=\"string\")return I.error(\"'var' expression requires exactly one string literal argument.\");var V=_[1];return I.scope.has(V)?new Dc(V,I.scope.get(V)):I.error('Unknown variable \"'+V+'\". Make sure \"'+V+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Dc.prototype.evaluate=function(_){return this.boundExpression.evaluate(_)},Dc.prototype.eachChild=function(){},Dc.prototype.outputDefined=function(){return!1},Dc.prototype.serialize=function(){return[\"var\",this.name]};var ks=function(_,I,V,$,ae){I===void 0&&(I=[]),$===void 0&&($=new Hl),ae===void 0&&(ae=[]),this.registry=_,this.path=I,this.key=I.map(function(he){return\"[\"+he+\"]\"}).join(\"\"),this.scope=$,this.errors=ae,this.expectedType=V};ks.prototype.parse=function(_,I,V,$,ae){return ae===void 0&&(ae={}),I?this.concat(I,V,$)._parse(_,ae):this._parse(_,ae)},ks.prototype._parse=function(_,I){(_===null||typeof _==\"string\"||typeof _==\"boolean\"||typeof _==\"number\")&&(_=[\"literal\",_]);function V(Lt,sr,gr){return gr===\"assert\"?new xl(sr,[Lt]):gr===\"coerce\"?new Po(sr,[Lt]):Lt}if(Array.isArray(_)){if(_.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var $=_[0];if(typeof $!=\"string\")return this.error(\"Expression name must be a string, but found \"+typeof $+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var ae=this.registry[$];if(ae){var he=ae.parse(_,this);if(!he)return null;if(this.expectedType){var Fe=this.expectedType,it=he.type;if((Fe.kind===\"string\"||Fe.kind===\"number\"||Fe.kind===\"boolean\"||Fe.kind===\"object\"||Fe.kind===\"array\")&&it.kind===\"value\")he=V(he,Fe,I.typeAnnotation||\"assert\");else if((Fe.kind===\"color\"||Fe.kind===\"formatted\"||Fe.kind===\"resolvedImage\")&&(it.kind===\"value\"||it.kind===\"string\"))he=V(he,Fe,I.typeAnnotation||\"coerce\");else if(this.checkSubtype(Fe,it))return null}if(!(he instanceof Go)&&he.type.kind!==\"resolvedImage\"&&bc(he)){var yt=new Ko;try{he=new Go(he.type,he.evaluate(yt))}catch(Lt){return this.error(Lt.message),null}}return he}return this.error('Unknown expression \"'+$+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}else return typeof _==\"undefined\"?this.error(\"'undefined' value invalid. Use null instead.\"):typeof _==\"object\"?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof _+\" instead.\")},ks.prototype.concat=function(_,I,V){var $=typeof _==\"number\"?this.path.concat(_):this.path,ae=V?this.scope.concat(V):this.scope;return new ks(this.registry,$,I||null,ae,this.errors)},ks.prototype.error=function(_){for(var I=[],V=arguments.length-1;V-- >0;)I[V]=arguments[V+1];var $=\"\"+this.key+I.map(function(ae){return\"[\"+ae+\"]\"}).join(\"\");this.errors.push(new Ns($,_))},ks.prototype.checkSubtype=function(_,I){var V=oc(_,I);return V&&this.error(V),V};function bc(y){if(y instanceof Dc)return bc(y.boundExpression);if(y instanceof Pa&&y.name===\"error\")return!1;if(y instanceof Hu)return!1;if(y instanceof Mu)return!1;var _=y instanceof Po||y instanceof xl,I=!0;return y.eachChild(function(V){_?I=I&&bc(V):I=I&&V instanceof Go}),I?ih(y)&&Eu(y,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"]):!1}function hu(y,_){for(var I=y.length-1,V=0,$=I,ae=0,he,Fe;V<=$;)if(ae=Math.floor((V+$)/2),he=y[ae],Fe=y[ae+1],he<=_){if(ae===I||__)$=ae-1;else throw new ps(\"Input is not a number.\");return 0}var _u=function(_,I,V){this.type=_,this.input=I,this.labels=[],this.outputs=[];for(var $=0,ae=V;$=Fe)return I.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',yt);var sr=I.parse(it,Lt,ae);if(!sr)return null;ae=ae||sr.type,$.push([Fe,sr])}return new _u(ae,V,$)},_u.prototype.evaluate=function(_){var I=this.labels,V=this.outputs;if(I.length===1)return V[0].evaluate(_);var $=this.input.evaluate(_);if($<=I[0])return V[0].evaluate(_);var ae=I.length;if($>=I[ae-1])return V[ae-1].evaluate(_);var he=hu(I,$);return V[he].evaluate(_)},_u.prototype.eachChild=function(_){_(this.input);for(var I=0,V=this.outputs;I0&&_.push(this.labels[I]),_.push(this.outputs[I].serialize());return _};function nl(y,_,I){return y*(1-I)+_*I}function nh(y,_,I){return new cs(nl(y.r,_.r,I),nl(y.g,_.g,I),nl(y.b,_.b,I),nl(y.a,_.a,I))}function Mh(y,_,I){return y.map(function(V,$){return nl(V,_[$],I)})}var zu=Object.freeze({__proto__:null,number:nl,color:nh,array:Mh}),Fc=.95047,wc=1,bd=1.08883,xf=4/29,Pf=6/29,qu=3*Pf*Pf,bf=Pf*Pf*Pf,jl=Math.PI/180,lf=180/Math.PI;function Xh(y){return y>bf?Math.pow(y,1/3):y/qu+xf}function If(y){return y>Pf?y*y*y:qu*(y-xf)}function Cs(y){return 255*(y<=.0031308?12.92*y:1.055*Math.pow(y,1/2.4)-.055)}function du(y){return y/=255,y<=.04045?y/12.92:Math.pow((y+.055)/1.055,2.4)}function ku(y){var _=du(y.r),I=du(y.g),V=du(y.b),$=Xh((.4124564*_+.3575761*I+.1804375*V)/Fc),ae=Xh((.2126729*_+.7151522*I+.072175*V)/wc),he=Xh((.0193339*_+.119192*I+.9503041*V)/bd);return{l:116*ae-16,a:500*($-ae),b:200*(ae-he),alpha:y.a}}function Xf(y){var _=(y.l+16)/116,I=isNaN(y.a)?_:_+y.a/500,V=isNaN(y.b)?_:_-y.b/200;return _=wc*If(_),I=Fc*If(I),V=bd*If(V),new cs(Cs(3.2404542*I-1.5371385*_-.4985314*V),Cs(-.969266*I+1.8760108*_+.041556*V),Cs(.0556434*I-.2040259*_+1.0572252*V),y.alpha)}function Us(y,_,I){return{l:nl(y.l,_.l,I),a:nl(y.a,_.a,I),b:nl(y.b,_.b,I),alpha:nl(y.alpha,_.alpha,I)}}function wf(y){var _=ku(y),I=_.l,V=_.a,$=_.b,ae=Math.atan2($,V)*lf;return{h:ae<0?ae+360:ae,c:Math.sqrt(V*V+$*$),l:I,alpha:y.a}}function zc(y){var _=y.h*jl,I=y.c,V=y.l;return Xf({l:V,a:Math.cos(_)*I,b:Math.sin(_)*I,alpha:y.alpha})}function Wu(y,_,I){var V=_-y;return y+I*(V>180||V<-180?V-360*Math.round(V/360):V)}function Rf(y,_,I){return{h:Wu(y.h,_.h,I),c:nl(y.c,_.c,I),l:nl(y.l,_.l,I),alpha:nl(y.alpha,_.alpha,I)}}var Xu={forward:ku,reverse:Xf,interpolate:Us},uf={forward:wf,reverse:zc,interpolate:Rf},Zf=Object.freeze({__proto__:null,lab:Xu,hcl:uf}),Wl=function(_,I,V,$,ae){this.type=_,this.operator=I,this.interpolation=V,this.input=$,this.labels=[],this.outputs=[];for(var he=0,Fe=ae;he1}))return I.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);$={name:\"cubic-bezier\",controlPoints:it}}else return I.error(\"Unknown interpolation type \"+String($[0]),1,0);if(_.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(_.length-1)+\".\");if((_.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");if(ae=I.parse(ae,2,oa),!ae)return null;var yt=[],Lt=null;V===\"interpolate-hcl\"||V===\"interpolate-lab\"?Lt=Ol:I.expectedType&&I.expectedType.kind!==\"value\"&&(Lt=I.expectedType);for(var sr=0;sr=gr)return I.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Rr);var Hi=I.parse(hr,ni,Lt);if(!Hi)return null;Lt=Lt||Hi.type,yt.push([gr,Hi])}return Lt.kind!==\"number\"&&Lt.kind!==\"color\"&&!(Lt.kind===\"array\"&&Lt.itemType.kind===\"number\"&&typeof Lt.N==\"number\")?I.error(\"Type \"+qs(Lt)+\" is not interpolatable.\"):new Wl(Lt,V,$,ae,yt)},Wl.prototype.evaluate=function(_){var I=this.labels,V=this.outputs;if(I.length===1)return V[0].evaluate(_);var $=this.input.evaluate(_);if($<=I[0])return V[0].evaluate(_);var ae=I.length;if($>=I[ae-1])return V[ae-1].evaluate(_);var he=hu(I,$),Fe=I[he],it=I[he+1],yt=Wl.interpolationFactor(this.interpolation,$,Fe,it),Lt=V[he].evaluate(_),sr=V[he+1].evaluate(_);return this.operator===\"interpolate\"?zu[this.type.kind.toLowerCase()](Lt,sr,yt):this.operator===\"interpolate-hcl\"?uf.reverse(uf.interpolate(uf.forward(Lt),uf.forward(sr),yt)):Xu.reverse(Xu.interpolate(Xu.forward(Lt),Xu.forward(sr),yt))},Wl.prototype.eachChild=function(_){_(this.input);for(var I=0,V=this.outputs;I=V.length)throw new ps(\"Array index out of bounds: \"+I+\" > \"+(V.length-1)+\".\");if(I!==Math.floor(I))throw new ps(\"Array index must be an integer, but found \"+I+\" instead.\");return V[I]},Tc.prototype.eachChild=function(_){_(this.index),_(this.input)},Tc.prototype.outputDefined=function(){return!1},Tc.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var wl=function(_,I){this.type=Oo,this.needle=_,this.haystack=I};wl.parse=function(_,I){if(_.length!==3)return I.error(\"Expected 2 arguments, but found \"+(_.length-1)+\" instead.\");var V=I.parse(_[1],1,Do),$=I.parse(_[2],2,Do);return!V||!$?null:Cf(V.type,[Oo,qo,oa,ac,Do])?new wl(V,$):I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+qs(V.type)+\" instead\")},wl.prototype.evaluate=function(_){var I=this.needle.evaluate(_),V=this.haystack.evaluate(_);if(!V)return!1;if(!sc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ps(\"Expected first argument to be of type boolean, string, number or null, but found \"+qs(Es(I))+\" instead.\");if(!sc(V,[\"string\",\"array\"]))throw new ps(\"Expected second argument to be of type array or string, but found \"+qs(Es(V))+\" instead.\");return V.indexOf(I)>=0},wl.prototype.eachChild=function(_){_(this.needle),_(this.haystack)},wl.prototype.outputDefined=function(){return!0},wl.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var vu=function(_,I,V){this.type=oa,this.needle=_,this.haystack=I,this.fromIndex=V};vu.parse=function(_,I){if(_.length<=2||_.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(_.length-1)+\" instead.\");var V=I.parse(_[1],1,Do),$=I.parse(_[2],2,Do);if(!V||!$)return null;if(!Cf(V.type,[Oo,qo,oa,ac,Do]))return I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+qs(V.type)+\" instead\");if(_.length===4){var ae=I.parse(_[3],3,oa);return ae?new vu(V,$,ae):null}else return new vu(V,$)},vu.prototype.evaluate=function(_){var I=this.needle.evaluate(_),V=this.haystack.evaluate(_);if(!sc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ps(\"Expected first argument to be of type boolean, string, number or null, but found \"+qs(Es(I))+\" instead.\");if(!sc(V,[\"string\",\"array\"]))throw new ps(\"Expected second argument to be of type array or string, but found \"+qs(Es(V))+\" instead.\");if(this.fromIndex){var $=this.fromIndex.evaluate(_);return V.indexOf(I,$)}return V.indexOf(I)},vu.prototype.eachChild=function(_){_(this.needle),_(this.haystack),this.fromIndex&&_(this.fromIndex)},vu.prototype.outputDefined=function(){return!1},vu.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var _=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),_]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var Oc=function(_,I,V,$,ae,he){this.inputType=_,this.type=I,this.input=V,this.cases=$,this.outputs=ae,this.otherwise=he};Oc.parse=function(_,I){if(_.length<5)return I.error(\"Expected at least 4 arguments, but found only \"+(_.length-1)+\".\");if(_.length%2!==1)return I.error(\"Expected an even number of arguments.\");var V,$;I.expectedType&&I.expectedType.kind!==\"value\"&&($=I.expectedType);for(var ae={},he=[],Fe=2;Fe<_.length-1;Fe+=2){var it=_[Fe],yt=_[Fe+1];Array.isArray(it)||(it=[it]);var Lt=I.concat(Fe);if(it.length===0)return Lt.error(\"Expected at least one branch label.\");for(var sr=0,gr=it;srNumber.MAX_SAFE_INTEGER)return Lt.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(typeof hr==\"number\"&&Math.floor(hr)!==hr)return Lt.error(\"Numeric branch labels must be integer values.\");if(!V)V=Es(hr);else if(Lt.checkSubtype(V,Es(hr)))return null;if(typeof ae[String(hr)]!=\"undefined\")return Lt.error(\"Branch labels must be unique.\");ae[String(hr)]=he.length}var Rr=I.parse(yt,Fe,$);if(!Rr)return null;$=$||Rr.type,he.push(Rr)}var ni=I.parse(_[1],1,Do);if(!ni)return null;var Hi=I.parse(_[_.length-1],_.length-1,$);return!Hi||ni.type.kind!==\"value\"&&I.concat(1).checkSubtype(V,ni.type)?null:new Oc(V,$,ni,ae,he,Hi)},Oc.prototype.evaluate=function(_){var I=this.input.evaluate(_),V=Es(I)===this.inputType&&this.outputs[this.cases[I]]||this.otherwise;return V.evaluate(_)},Oc.prototype.eachChild=function(_){_(this.input),this.outputs.forEach(_),_(this.otherwise)},Oc.prototype.outputDefined=function(){return this.outputs.every(function(_){return _.outputDefined()})&&this.otherwise.outputDefined()},Oc.prototype.serialize=function(){for(var _=this,I=[\"match\",this.input.serialize()],V=Object.keys(this.cases).sort(),$=[],ae={},he=0,Fe=V;he=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(_.length-1)+\" instead.\");var V=I.parse(_[1],1,Do),$=I.parse(_[2],2,oa);if(!V||!$)return null;if(!Cf(V.type,[Jl(Do),qo,Do]))return I.error(\"Expected first argument to be of type array or string, but found \"+qs(V.type)+\" instead\");if(_.length===4){var ae=I.parse(_[3],3,oa);return ae?new fc(V.type,V,$,ae):null}else return new fc(V.type,V,$)},fc.prototype.evaluate=function(_){var I=this.input.evaluate(_),V=this.beginIndex.evaluate(_);if(!sc(I,[\"string\",\"array\"]))throw new ps(\"Expected first argument to be of type array or string, but found \"+qs(Es(I))+\" instead.\");if(this.endIndex){var $=this.endIndex.evaluate(_);return I.slice(V,$)}return I.slice(V)},fc.prototype.eachChild=function(_){_(this.input),_(this.beginIndex),this.endIndex&&_(this.endIndex)},fc.prototype.outputDefined=function(){return!1},fc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var _=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),_]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};function Bc(y,_){return y===\"==\"||y===\"!=\"?_.kind===\"boolean\"||_.kind===\"string\"||_.kind===\"number\"||_.kind===\"null\"||_.kind===\"value\":_.kind===\"string\"||_.kind===\"number\"||_.kind===\"value\"}function kt(y,_,I){return _===I}function Zt(y,_,I){return _!==I}function Mr(y,_,I){return _I}function Kr(y,_,I){return _<=I}function Mi(y,_,I){return _>=I}function Wi(y,_,I,V){return V.compare(_,I)===0}function dn(y,_,I,V){return!Wi(y,_,I,V)}function wn(y,_,I,V){return V.compare(_,I)<0}function On(y,_,I,V){return V.compare(_,I)>0}function Yi(y,_,I,V){return V.compare(_,I)<=0}function $i(y,_,I,V){return V.compare(_,I)>=0}function an(y,_,I){var V=y!==\"==\"&&y!==\"!=\";return function(){function $(ae,he,Fe){this.type=Oo,this.lhs=ae,this.rhs=he,this.collator=Fe,this.hasUntypedArgument=ae.type.kind===\"value\"||he.type.kind===\"value\"}return $.parse=function(he,Fe){if(he.length!==3&&he.length!==4)return Fe.error(\"Expected two or three arguments.\");var it=he[0],yt=Fe.parse(he[1],1,Do);if(!yt)return null;if(!Bc(it,yt.type))return Fe.concat(1).error('\"'+it+`\" comparisons are not supported for type '`+qs(yt.type)+\"'.\");var Lt=Fe.parse(he[2],2,Do);if(!Lt)return null;if(!Bc(it,Lt.type))return Fe.concat(2).error('\"'+it+`\" comparisons are not supported for type '`+qs(Lt.type)+\"'.\");if(yt.type.kind!==Lt.type.kind&&yt.type.kind!==\"value\"&&Lt.type.kind!==\"value\")return Fe.error(\"Cannot compare types '\"+qs(yt.type)+\"' and '\"+qs(Lt.type)+\"'.\");V&&(yt.type.kind===\"value\"&&Lt.type.kind!==\"value\"?yt=new xl(Lt.type,[yt]):yt.type.kind!==\"value\"&&Lt.type.kind===\"value\"&&(Lt=new xl(yt.type,[Lt])));var sr=null;if(he.length===4){if(yt.type.kind!==\"string\"&&Lt.type.kind!==\"string\"&&yt.type.kind!==\"value\"&&Lt.type.kind!==\"value\")return Fe.error(\"Cannot use collator to compare non-string types.\");if(sr=Fe.parse(he[3],3,Vf),!sr)return null}return new $(yt,Lt,sr)},$.prototype.evaluate=function(he){var Fe=this.lhs.evaluate(he),it=this.rhs.evaluate(he);if(V&&this.hasUntypedArgument){var yt=Es(Fe),Lt=Es(it);if(yt.kind!==Lt.kind||!(yt.kind===\"string\"||yt.kind===\"number\"))throw new ps('Expected arguments for \"'+y+'\" to be (string, string) or (number, number), but found ('+yt.kind+\", \"+Lt.kind+\") instead.\")}if(this.collator&&!V&&this.hasUntypedArgument){var sr=Es(Fe),gr=Es(it);if(sr.kind!==\"string\"||gr.kind!==\"string\")return _(he,Fe,it)}return this.collator?I(he,Fe,it,this.collator.evaluate(he)):_(he,Fe,it)},$.prototype.eachChild=function(he){he(this.lhs),he(this.rhs),this.collator&&he(this.collator)},$.prototype.outputDefined=function(){return!0},$.prototype.serialize=function(){var he=[y];return this.eachChild(function(Fe){he.push(Fe.serialize())}),he},$}()}var Fi=an(\"==\",kt,Wi),ta=an(\"!=\",Zt,dn),Ca=an(\"<\",Mr,wn),Ra=an(\">\",xr,On),La=an(\"<=\",Kr,Yi),Na=an(\">=\",Mi,$i),Zn=function(_,I,V,$,ae){this.type=qo,this.number=_,this.locale=I,this.currency=V,this.minFractionDigits=$,this.maxFractionDigits=ae};Zn.parse=function(_,I){if(_.length!==3)return I.error(\"Expected two arguments.\");var V=I.parse(_[1],1,oa);if(!V)return null;var $=_[2];if(typeof $!=\"object\"||Array.isArray($))return I.error(\"NumberFormat options argument must be an object.\");var ae=null;if($.locale&&(ae=I.parse($.locale,1,qo),!ae))return null;var he=null;if($.currency&&(he=I.parse($.currency,1,qo),!he))return null;var Fe=null;if($[\"min-fraction-digits\"]&&(Fe=I.parse($[\"min-fraction-digits\"],1,oa),!Fe))return null;var it=null;return $[\"max-fraction-digits\"]&&(it=I.parse($[\"max-fraction-digits\"],1,oa),!it)?null:new Zn(V,ae,he,Fe,it)},Zn.prototype.evaluate=function(_){return new Intl.NumberFormat(this.locale?this.locale.evaluate(_):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(_):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(_):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(_):void 0}).format(this.number.evaluate(_))},Zn.prototype.eachChild=function(_){_(this.number),this.locale&&_(this.locale),this.currency&&_(this.currency),this.minFractionDigits&&_(this.minFractionDigits),this.maxFractionDigits&&_(this.maxFractionDigits)},Zn.prototype.outputDefined=function(){return!1},Zn.prototype.serialize=function(){var _={};return this.locale&&(_.locale=this.locale.serialize()),this.currency&&(_.currency=this.currency.serialize()),this.minFractionDigits&&(_[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(_[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),_]};var Dn=function(_){this.type=oa,this.input=_};Dn.parse=function(_,I){if(_.length!==2)return I.error(\"Expected 1 argument, but found \"+(_.length-1)+\" instead.\");var V=I.parse(_[1],1);return V?V.type.kind!==\"array\"&&V.type.kind!==\"string\"&&V.type.kind!==\"value\"?I.error(\"Expected argument of type string or array, but found \"+qs(V.type)+\" instead.\"):new Dn(V):null},Dn.prototype.evaluate=function(_){var I=this.input.evaluate(_);if(typeof I==\"string\")return I.length;if(Array.isArray(I))return I.length;throw new ps(\"Expected value to be of type string or array, but found \"+qs(Es(I))+\" instead.\")},Dn.prototype.eachChild=function(_){_(this.input)},Dn.prototype.outputDefined=function(){return!1},Dn.prototype.serialize=function(){var _=[\"length\"];return this.eachChild(function(I){_.push(I.serialize())}),_};var Ka={\"==\":Fi,\"!=\":ta,\">\":Ra,\"<\":Ca,\">=\":Na,\"<=\":La,array:xl,at:Tc,boolean:xl,case:cf,coalesce:Zu,collator:Hu,format:Gu,image:Os,in:wl,\"index-of\":vu,interpolate:Wl,\"interpolate-hcl\":Wl,\"interpolate-lab\":Wl,length:Dn,let:qc,literal:Go,match:Oc,number:xl,\"number-format\":Zn,object:xl,slice:fc,step:_u,string:xl,\"to-boolean\":Po,\"to-color\":Po,\"to-number\":Po,\"to-string\":Po,var:Dc,within:Mu};function bo(y,_){var I=_[0],V=_[1],$=_[2],ae=_[3];I=I.evaluate(y),V=V.evaluate(y),$=$.evaluate(y);var he=ae?ae.evaluate(y):1,Fe=lc(I,V,$,he);if(Fe)throw new ps(Fe);return new cs(I/255*he,V/255*he,$/255*he,he)}function Zo(y,_){return y in _}function Ss(y,_){var I=_[y];return typeof I==\"undefined\"?null:I}function as(y,_,I,V){for(;I<=V;){var $=I+V>>1;if(_[$]===y)return!0;_[$]>y?V=$-1:I=$+1}return!1}function ws(y){return{type:y}}Pa.register(Ka,{error:[rf,[qo],function(y,_){var I=_[0];throw new ps(I.evaluate(y))}],typeof:[qo,[Do],function(y,_){var I=_[0];return qs(Es(I.evaluate(y)))}],\"to-rgba\":[Jl(oa,4),[Ol],function(y,_){var I=_[0];return I.evaluate(y).toArray()}],rgb:[Ol,[oa,oa,oa],bo],rgba:[Ol,[oa,oa,oa,oa],bo],has:{type:Oo,overloads:[[[qo],function(y,_){var I=_[0];return Zo(I.evaluate(y),y.properties())}],[[qo,Pc],function(y,_){var I=_[0],V=_[1];return Zo(I.evaluate(y),V.evaluate(y))}]]},get:{type:Do,overloads:[[[qo],function(y,_){var I=_[0];return Ss(I.evaluate(y),y.properties())}],[[qo,Pc],function(y,_){var I=_[0],V=_[1];return Ss(I.evaluate(y),V.evaluate(y))}]]},\"feature-state\":[Do,[qo],function(y,_){var I=_[0];return Ss(I.evaluate(y),y.featureState||{})}],properties:[Pc,[],function(y){return y.properties()}],\"geometry-type\":[qo,[],function(y){return y.geometryType()}],id:[Do,[],function(y){return y.id()}],zoom:[oa,[],function(y){return y.globals.zoom}],\"heatmap-density\":[oa,[],function(y){return y.globals.heatmapDensity||0}],\"line-progress\":[oa,[],function(y){return y.globals.lineProgress||0}],accumulated:[Do,[],function(y){return y.globals.accumulated===void 0?null:y.globals.accumulated}],\"+\":[oa,ws(oa),function(y,_){for(var I=0,V=0,$=_;V<$.length;V+=1){var ae=$[V];I+=ae.evaluate(y)}return I}],\"*\":[oa,ws(oa),function(y,_){for(var I=1,V=0,$=_;V<$.length;V+=1){var ae=$[V];I*=ae.evaluate(y)}return I}],\"-\":{type:oa,overloads:[[[oa,oa],function(y,_){var I=_[0],V=_[1];return I.evaluate(y)-V.evaluate(y)}],[[oa],function(y,_){var I=_[0];return-I.evaluate(y)}]]},\"/\":[oa,[oa,oa],function(y,_){var I=_[0],V=_[1];return I.evaluate(y)/V.evaluate(y)}],\"%\":[oa,[oa,oa],function(y,_){var I=_[0],V=_[1];return I.evaluate(y)%V.evaluate(y)}],ln2:[oa,[],function(){return Math.LN2}],pi:[oa,[],function(){return Math.PI}],e:[oa,[],function(){return Math.E}],\"^\":[oa,[oa,oa],function(y,_){var I=_[0],V=_[1];return Math.pow(I.evaluate(y),V.evaluate(y))}],sqrt:[oa,[oa],function(y,_){var I=_[0];return Math.sqrt(I.evaluate(y))}],log10:[oa,[oa],function(y,_){var I=_[0];return Math.log(I.evaluate(y))/Math.LN10}],ln:[oa,[oa],function(y,_){var I=_[0];return Math.log(I.evaluate(y))}],log2:[oa,[oa],function(y,_){var I=_[0];return Math.log(I.evaluate(y))/Math.LN2}],sin:[oa,[oa],function(y,_){var I=_[0];return Math.sin(I.evaluate(y))}],cos:[oa,[oa],function(y,_){var I=_[0];return Math.cos(I.evaluate(y))}],tan:[oa,[oa],function(y,_){var I=_[0];return Math.tan(I.evaluate(y))}],asin:[oa,[oa],function(y,_){var I=_[0];return Math.asin(I.evaluate(y))}],acos:[oa,[oa],function(y,_){var I=_[0];return Math.acos(I.evaluate(y))}],atan:[oa,[oa],function(y,_){var I=_[0];return Math.atan(I.evaluate(y))}],min:[oa,ws(oa),function(y,_){return Math.min.apply(Math,_.map(function(I){return I.evaluate(y)}))}],max:[oa,ws(oa),function(y,_){return Math.max.apply(Math,_.map(function(I){return I.evaluate(y)}))}],abs:[oa,[oa],function(y,_){var I=_[0];return Math.abs(I.evaluate(y))}],round:[oa,[oa],function(y,_){var I=_[0],V=I.evaluate(y);return V<0?-Math.round(-V):Math.round(V)}],floor:[oa,[oa],function(y,_){var I=_[0];return Math.floor(I.evaluate(y))}],ceil:[oa,[oa],function(y,_){var I=_[0];return Math.ceil(I.evaluate(y))}],\"filter-==\":[Oo,[qo,Do],function(y,_){var I=_[0],V=_[1];return y.properties()[I.value]===V.value}],\"filter-id-==\":[Oo,[Do],function(y,_){var I=_[0];return y.id()===I.value}],\"filter-type-==\":[Oo,[qo],function(y,_){var I=_[0];return y.geometryType()===I.value}],\"filter-<\":[Oo,[qo,Do],function(y,_){var I=_[0],V=_[1],$=y.properties()[I.value],ae=V.value;return typeof $==typeof ae&&$\":[Oo,[qo,Do],function(y,_){var I=_[0],V=_[1],$=y.properties()[I.value],ae=V.value;return typeof $==typeof ae&&$>ae}],\"filter-id->\":[Oo,[Do],function(y,_){var I=_[0],V=y.id(),$=I.value;return typeof V==typeof $&&V>$}],\"filter-<=\":[Oo,[qo,Do],function(y,_){var I=_[0],V=_[1],$=y.properties()[I.value],ae=V.value;return typeof $==typeof ae&&$<=ae}],\"filter-id-<=\":[Oo,[Do],function(y,_){var I=_[0],V=y.id(),$=I.value;return typeof V==typeof $&&V<=$}],\"filter->=\":[Oo,[qo,Do],function(y,_){var I=_[0],V=_[1],$=y.properties()[I.value],ae=V.value;return typeof $==typeof ae&&$>=ae}],\"filter-id->=\":[Oo,[Do],function(y,_){var I=_[0],V=y.id(),$=I.value;return typeof V==typeof $&&V>=$}],\"filter-has\":[Oo,[Do],function(y,_){var I=_[0];return I.value in y.properties()}],\"filter-has-id\":[Oo,[],function(y){return y.id()!==null&&y.id()!==void 0}],\"filter-type-in\":[Oo,[Jl(qo)],function(y,_){var I=_[0];return I.value.indexOf(y.geometryType())>=0}],\"filter-id-in\":[Oo,[Jl(Do)],function(y,_){var I=_[0];return I.value.indexOf(y.id())>=0}],\"filter-in-small\":[Oo,[qo,Jl(Do)],function(y,_){var I=_[0],V=_[1];return V.value.indexOf(y.properties()[I.value])>=0}],\"filter-in-large\":[Oo,[qo,Jl(Do)],function(y,_){var I=_[0],V=_[1];return as(y.properties()[I.value],V.value,0,V.value.length-1)}],all:{type:Oo,overloads:[[[Oo,Oo],function(y,_){var I=_[0],V=_[1];return I.evaluate(y)&&V.evaluate(y)}],[ws(Oo),function(y,_){for(var I=0,V=_;I-1}function va(y){return!!y.expression&&y.expression.interpolated}function no(y){return y instanceof Number?\"number\":y instanceof String?\"string\":y instanceof Boolean?\"boolean\":Array.isArray(y)?\"array\":y===null?\"null\":typeof y}function ys(y){return typeof y==\"object\"&&y!==null&&!Array.isArray(y)}function rs(y){return y}function Ql(y,_){var I=_.type===\"color\",V=y.stops&&typeof y.stops[0][0]==\"object\",$=V||y.property!==void 0,ae=V||!$,he=y.type||(va(_)?\"exponential\":\"interval\");if(I&&(y=ql({},y),y.stops&&(y.stops=y.stops.map(function(ha){return[ha[0],cs.parse(ha[1])]})),y.default?y.default=cs.parse(y.default):y.default=cs.parse(_.default)),y.colorSpace&&y.colorSpace!==\"rgb\"&&!Zf[y.colorSpace])throw new Error(\"Unknown color space: \"+y.colorSpace);var Fe,it,yt;if(he===\"exponential\")Fe=pu;else if(he===\"interval\")Fe=Nc;else if(he===\"categorical\"){Fe=Yu,it=Object.create(null);for(var Lt=0,sr=y.stops;Lt=y.stops[V-1][0])return y.stops[V-1][1];var $=hu(y.stops.map(function(ae){return ae[0]}),I);return y.stops[$][1]}function pu(y,_,I){var V=y.base!==void 0?y.base:1;if(no(I)!==\"number\")return Cu(y.default,_.default);var $=y.stops.length;if($===1||I<=y.stops[0][0])return y.stops[0][1];if(I>=y.stops[$-1][0])return y.stops[$-1][1];var ae=hu(y.stops.map(function(sr){return sr[0]}),I),he=xu(I,V,y.stops[ae][0],y.stops[ae+1][0]),Fe=y.stops[ae][1],it=y.stops[ae+1][1],yt=zu[_.type]||rs;if(y.colorSpace&&y.colorSpace!==\"rgb\"){var Lt=Zf[y.colorSpace];yt=function(sr,gr){return Lt.reverse(Lt.interpolate(Lt.forward(sr),Lt.forward(gr),he))}}return typeof Fe.evaluate==\"function\"?{evaluate:function(){for(var gr=[],hr=arguments.length;hr--;)gr[hr]=arguments[hr];var Rr=Fe.evaluate.apply(void 0,gr),ni=it.evaluate.apply(void 0,gr);if(!(Rr===void 0||ni===void 0))return yt(Rr,ni,he)}}:yt(Fe,it,he)}function Uc(y,_,I){return _.type===\"color\"?I=cs.parse(I):_.type===\"formatted\"?I=$l.fromString(I.toString()):_.type===\"resolvedImage\"?I=fl.fromString(I.toString()):no(I)!==_.type&&(_.type!==\"enum\"||!_.values[I])&&(I=void 0),Cu(I,y.default,_.default)}function xu(y,_,I,V){var $=V-I,ae=y-I;return $===0?0:_===1?ae/$:(Math.pow(_,ae)-1)/(Math.pow(_,$)-1)}var Ac=function(_,I){this.expression=_,this._warningHistory={},this._evaluator=new Ko,this._defaultValue=I?ee(I):null,this._enumValues=I&&I.type===\"enum\"?I.values:null};Ac.prototype.evaluateWithoutErrorHandling=function(_,I,V,$,ae,he){return this._evaluator.globals=_,this._evaluator.feature=I,this._evaluator.featureState=V,this._evaluator.canonical=$,this._evaluator.availableImages=ae||null,this._evaluator.formattedSection=he,this.expression.evaluate(this._evaluator)},Ac.prototype.evaluate=function(_,I,V,$,ae,he){this._evaluator.globals=_,this._evaluator.feature=I||null,this._evaluator.featureState=V||null,this._evaluator.canonical=$,this._evaluator.availableImages=ae||null,this._evaluator.formattedSection=he||null;try{var Fe=this.expression.evaluate(this._evaluator);if(Fe==null||typeof Fe==\"number\"&&Fe!==Fe)return this._defaultValue;if(this._enumValues&&!(Fe in this._enumValues))throw new ps(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(it){return JSON.stringify(it)}).join(\", \")+\", but found \"+JSON.stringify(Fe)+\" instead.\");return Fe}catch(it){return this._warningHistory[it.message]||(this._warningHistory[it.message]=!0,typeof console!=\"undefined\"&&console.warn(it.message)),this._defaultValue}};function Ua(y){return Array.isArray(y)&&y.length>0&&typeof y[0]==\"string\"&&y[0]in Ka}function oo(y,_){var I=new ks(Ka,[],_?Q(_):void 0),V=I.parse(y,void 0,void 0,void 0,_&&_.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return V?Ho(new Ac(V,_)):ml(I.errors)}var Vc=function(_,I){this.kind=_,this._styleExpression=I,this.isStateDependent=_!==\"constant\"&&!js(I.expression)};Vc.prototype.evaluateWithoutErrorHandling=function(_,I,V,$,ae,he){return this._styleExpression.evaluateWithoutErrorHandling(_,I,V,$,ae,he)},Vc.prototype.evaluate=function(_,I,V,$,ae,he){return this._styleExpression.evaluate(_,I,V,$,ae,he)};var hc=function(_,I,V,$){this.kind=_,this.zoomStops=V,this._styleExpression=I,this.isStateDependent=_!==\"camera\"&&!js(I.expression),this.interpolationType=$};hc.prototype.evaluateWithoutErrorHandling=function(_,I,V,$,ae,he){return this._styleExpression.evaluateWithoutErrorHandling(_,I,V,$,ae,he)},hc.prototype.evaluate=function(_,I,V,$,ae,he){return this._styleExpression.evaluate(_,I,V,$,ae,he)},hc.prototype.interpolationFactor=function(_,I,V){return this.interpolationType?Wl.interpolationFactor(this.interpolationType,_,I,V):0};function Ku(y,_){if(y=oo(y,_),y.result===\"error\")return y;var I=y.value.expression,V=ih(I);if(!V&&!Ws(_))return ml([new Ns(\"\",\"data expressions not supported\")]);var $=Eu(I,[\"zoom\"]);if(!$&&!Ls(_))return ml([new Ns(\"\",\"zoom expressions not supported\")]);var ae=B(I);if(!ae&&!$)return ml([new Ns(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(ae instanceof Ns)return ml([ae]);if(ae instanceof Wl&&!va(_))return ml([new Ns(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!ae)return Ho(V?new Vc(\"constant\",y.value):new Vc(\"source\",y.value));var he=ae instanceof Wl?ae.interpolation:void 0;return Ho(V?new hc(\"camera\",y.value,ae.labels,he):new hc(\"composite\",y.value,ae.labels,he))}var ue=function(_,I){this._parameters=_,this._specification=I,ql(this,Ql(this._parameters,this._specification))};ue.deserialize=function(_){return new ue(_._parameters,_._specification)},ue.serialize=function(_){return{_parameters:_._parameters,_specification:_._specification}};function w(y,_){if(ys(y))return new ue(y,_);if(Ua(y)){var I=Ku(y,_);if(I.result===\"error\")throw new Error(I.value.map(function($){return $.key+\": \"+$.message}).join(\", \"));return I.value}else{var V=y;return typeof y==\"string\"&&_.type===\"color\"&&(V=cs.parse(y)),{kind:\"constant\",evaluate:function(){return V}}}}function B(y){var _=null;if(y instanceof qc)_=B(y.result);else if(y instanceof Zu)for(var I=0,V=y.args;IV.maximum?[new _a(_,I,I+\" is greater than the maximum value \"+V.maximum)]:[]}function ut(y){var _=y.valueSpec,I=xo(y.value.type),V,$={},ae,he,Fe=I!==\"categorical\"&&y.value.property===void 0,it=!Fe,yt=no(y.value.stops)===\"array\"&&no(y.value.stops[0])===\"array\"&&no(y.value.stops[0][0])===\"object\",Lt=le({key:y.key,value:y.value,valueSpec:y.styleSpec.function,style:y.style,styleSpec:y.styleSpec,objectElementValidators:{stops:sr,default:Rr}});return I===\"identity\"&&Fe&&Lt.push(new _a(y.key,y.value,'missing required property \"property\"')),I!==\"identity\"&&!y.value.stops&&Lt.push(new _a(y.key,y.value,'missing required property \"stops\"')),I===\"exponential\"&&y.valueSpec.expression&&!va(y.valueSpec)&&Lt.push(new _a(y.key,y.value,\"exponential functions not supported\")),y.styleSpec.$version>=8&&(it&&!Ws(y.valueSpec)?Lt.push(new _a(y.key,y.value,\"property functions not supported\")):Fe&&!Ls(y.valueSpec)&&Lt.push(new _a(y.key,y.value,\"zoom functions not supported\"))),(I===\"categorical\"||yt)&&y.value.property===void 0&&Lt.push(new _a(y.key,y.value,'\"property\" property is required')),Lt;function sr(ni){if(I===\"identity\")return[new _a(ni.key,ni.value,'identity function may not have a \"stops\" property')];var Hi=[],wi=ni.value;return Hi=Hi.concat(ze({key:ni.key,value:wi,valueSpec:ni.valueSpec,style:ni.style,styleSpec:ni.styleSpec,arrayElementValidator:gr})),no(wi)===\"array\"&&wi.length===0&&Hi.push(new _a(ni.key,wi,\"array must have at least one stop\")),Hi}function gr(ni){var Hi=[],wi=ni.value,bn=ni.key;if(no(wi)!==\"array\")return[new _a(bn,wi,\"array expected, \"+no(wi)+\" found\")];if(wi.length!==2)return[new _a(bn,wi,\"array length 2 expected, length \"+wi.length+\" found\")];if(yt){if(no(wi[0])!==\"object\")return[new _a(bn,wi,\"object expected, \"+no(wi[0])+\" found\")];if(wi[0].zoom===void 0)return[new _a(bn,wi,\"object stop key must have zoom\")];if(wi[0].value===void 0)return[new _a(bn,wi,\"object stop key must have value\")];if(he&&he>xo(wi[0].zoom))return[new _a(bn,wi[0].zoom,\"stop zoom values must appear in ascending order\")];xo(wi[0].zoom)!==he&&(he=xo(wi[0].zoom),ae=void 0,$={}),Hi=Hi.concat(le({key:bn+\"[0]\",value:wi[0],valueSpec:{zoom:{}},style:ni.style,styleSpec:ni.styleSpec,objectElementValidators:{zoom:Ze,value:hr}}))}else Hi=Hi.concat(hr({key:bn+\"[0]\",value:wi[0],valueSpec:{},style:ni.style,styleSpec:ni.styleSpec},wi));return Ua(Kl(wi[1]))?Hi.concat([new _a(bn+\"[1]\",wi[1],\"expressions are not allowed in function stops.\")]):Hi.concat(Qa({key:bn+\"[1]\",value:wi[1],valueSpec:_,style:ni.style,styleSpec:ni.styleSpec}))}function hr(ni,Hi){var wi=no(ni.value),bn=xo(ni.value),rn=ni.value!==null?ni.value:Hi;if(!V)V=wi;else if(wi!==V)return[new _a(ni.key,rn,wi+\" stop domain type must match previous stop domain type \"+V)];if(wi!==\"number\"&&wi!==\"string\"&&wi!==\"boolean\")return[new _a(ni.key,rn,\"stop domain value must be a number, string, or boolean\")];if(wi!==\"number\"&&I!==\"categorical\"){var xn=\"number expected, \"+wi+\" found\";return Ws(_)&&I===void 0&&(xn+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new _a(ni.key,rn,xn)]}return I===\"categorical\"&&wi===\"number\"&&(!isFinite(bn)||Math.floor(bn)!==bn)?[new _a(ni.key,rn,\"integer expected, found \"+bn)]:I!==\"categorical\"&&wi===\"number\"&&ae!==void 0&&bn=2&&y[1]!==\"$id\"&&y[1]!==\"$type\";case\"in\":return y.length>=3&&(typeof y[1]!=\"string\"||Array.isArray(y[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return y.length!==3||Array.isArray(y[1])||Array.isArray(y[2]);case\"any\":case\"all\":for(var _=0,I=y.slice(1);__?1:0}function qe(y){if(!Array.isArray(y))return!1;if(y[0]===\"within\")return!0;for(var _=1;_\"||_===\"<=\"||_===\">=\"?Xe(y[1],y[2],_):_===\"any\"?nt(y.slice(1)):_===\"all\"?[\"all\"].concat(y.slice(1).map(Qe)):_===\"none\"?[\"all\"].concat(y.slice(1).map(Qe).map(ar)):_===\"in\"?qt(y[1],y.slice(2)):_===\"!in\"?ar(qt(y[1],y.slice(2))):_===\"has\"?jt(y[1]):_===\"!has\"?ar(jt(y[1])):_===\"within\"?y:!0;return I}function Xe(y,_,I){switch(y){case\"$type\":return[\"filter-type-\"+I,_];case\"$id\":return[\"filter-id-\"+I,_];default:return[\"filter-\"+I,y,_]}}function nt(y){return[\"any\"].concat(y.map(Qe))}function qt(y,_){if(_.length===0)return!1;switch(y){case\"$type\":return[\"filter-type-in\",[\"literal\",_]];case\"$id\":return[\"filter-id-in\",[\"literal\",_]];default:return _.length>200&&!_.some(function(I){return typeof I!=typeof _[0]})?[\"filter-in-large\",y,[\"literal\",_.sort(Ie)]]:[\"filter-in-small\",y,[\"literal\",_]]}}function jt(y){switch(y){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",y]}}function ar(y){return[\"!\",y]}function fr(y){return Cr(Kl(y.value))?Mt(ql({},y,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):br(y)}function br(y){var _=y.value,I=y.key;if(no(_)!==\"array\")return[new _a(I,_,\"array expected, \"+no(_)+\" found\")];var V=y.styleSpec,$,ae=[];if(_.length<1)return[new _a(I,_,\"filter array must have at least 1 element\")];switch(ae=ae.concat(mr({key:I+\"[0]\",value:_[0],valueSpec:V.filter_operator,style:y.style,styleSpec:y.styleSpec})),xo(_[0])){case\"<\":case\"<=\":case\">\":case\">=\":_.length>=2&&xo(_[1])===\"$type\"&&ae.push(new _a(I,_,'\"$type\" cannot be use with operator \"'+_[0]+'\"'));case\"==\":case\"!=\":_.length!==3&&ae.push(new _a(I,_,'filter array for operator \"'+_[0]+'\" must have 3 elements'));case\"in\":case\"!in\":_.length>=2&&($=no(_[1]),$!==\"string\"&&ae.push(new _a(I+\"[1]\",_[1],\"string expected, \"+$+\" found\")));for(var he=2;he<_.length;he++)$=no(_[he]),xo(_[1])===\"$type\"?ae=ae.concat(mr({key:I+\"[\"+he+\"]\",value:_[he],valueSpec:V.geometry_type,style:y.style,styleSpec:y.styleSpec})):$!==\"string\"&&$!==\"number\"&&$!==\"boolean\"&&ae.push(new _a(I+\"[\"+he+\"]\",_[he],\"string, number, or boolean expected, \"+$+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var Fe=1;Fe<_.length;Fe++)ae=ae.concat(br({key:I+\"[\"+Fe+\"]\",value:_[Fe],style:y.style,styleSpec:y.styleSpec}));break;case\"has\":case\"!has\":$=no(_[1]),_.length!==2?ae.push(new _a(I,_,'filter array for \"'+_[0]+'\" operator must have 2 elements')):$!==\"string\"&&ae.push(new _a(I+\"[1]\",_[1],\"string expected, \"+$+\" found\"));break;case\"within\":$=no(_[1]),_.length!==2?ae.push(new _a(I,_,'filter array for \"'+_[0]+'\" operator must have 2 elements')):$!==\"object\"&&ae.push(new _a(I+\"[1]\",_[1],\"object expected, \"+$+\" found\"));break}return ae}function Fr(y,_){var I=y.key,V=y.style,$=y.styleSpec,ae=y.value,he=y.objectKey,Fe=$[_+\"_\"+y.layerType];if(!Fe)return[];var it=he.match(/^(.*)-transition$/);if(_===\"paint\"&&it&&Fe[it[1]]&&Fe[it[1]].transition)return Qa({key:I,value:ae,valueSpec:$.transition,style:V,styleSpec:$});var yt=y.valueSpec||Fe[he];if(!yt)return[new _a(I,ae,'unknown property \"'+he+'\"')];var Lt;if(no(ae)===\"string\"&&Ws(yt)&&!yt.tokens&&(Lt=/^{([^}]+)}$/.exec(ae)))return[new _a(I,ae,'\"'+he+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(Lt[1])+\" }`.\")];var sr=[];return y.layerType===\"symbol\"&&(he===\"text-field\"&&V&&!V.glyphs&&sr.push(new _a(I,ae,'use of \"text-field\" requires a style \"glyphs\" property')),he===\"text-font\"&&ys(Kl(ae))&&xo(ae.type)===\"identity\"&&sr.push(new _a(I,ae,'\"text-font\" does not support identity functions'))),sr.concat(Qa({key:y.key,value:ae,valueSpec:yt,style:V,styleSpec:$,expressionContext:\"property\",propertyType:_,propertyKey:he}))}function Hr(y){return Fr(y,\"paint\")}function ri(y){return Fr(y,\"layout\")}function Ci(y){var _=[],I=y.value,V=y.key,$=y.style,ae=y.styleSpec;!I.type&&!I.ref&&_.push(new _a(V,I,'either \"type\" or \"ref\" is required'));var he=xo(I.type),Fe=xo(I.ref);if(I.id)for(var it=xo(I.id),yt=0;yt=Lt[hr+0]&&V>=Lt[hr+1])?(he[gr]=!0,ae.push(yt[gr])):he[gr]=!1}}},eu.prototype._forEachCell=function(y,_,I,V,$,ae,he,Fe){for(var it=this._convertToCellCoord(y),yt=this._convertToCellCoord(_),Lt=this._convertToCellCoord(I),sr=this._convertToCellCoord(V),gr=it;gr<=Lt;gr++)for(var hr=yt;hr<=sr;hr++){var Rr=this.d*hr+gr;if(!(Fe&&!Fe(this._convertFromCellCoord(gr),this._convertFromCellCoord(hr),this._convertFromCellCoord(gr+1),this._convertFromCellCoord(hr+1)))&&$.call(this,y,_,I,V,Rr,ae,he,Fe))return}},eu.prototype._convertFromCellCoord=function(y){return(y-this.padding)/this.scale},eu.prototype._convertToCellCoord=function(y){return Math.max(0,Math.min(this.d-1,Math.floor(y*this.scale)+this.padding))},eu.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var y=this.cells,_=Js+this.cells.length+1+1,I=0,V=0;V=0)){var sr=y[Lt];yt[Lt]=Al[it].shallow.indexOf(Lt)>=0?sr:Ve(sr,_)}y instanceof Error&&(yt.message=y.message)}if(yt.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return it!==\"Object\"&&(yt.$name=it),yt}throw new Error(\"can't serialize object of type \"+typeof y)}function Ye(y){if(y==null||typeof y==\"boolean\"||typeof y==\"number\"||typeof y==\"string\"||y instanceof Boolean||y instanceof Number||y instanceof String||y instanceof Date||y instanceof RegExp||Te(y)||Oe(y)||ArrayBuffer.isView(y)||y instanceof dc)return y;if(Array.isArray(y))return y.map(Ye);if(typeof y==\"object\"){var _=y.$name||\"Object\",I=Al[_],V=I.klass;if(!V)throw new Error(\"can't deserialize unregistered class \"+_);if(V.deserialize)return V.deserialize(y);for(var $=Object.create(V.prototype),ae=0,he=Object.keys(y);ae=0?it:Ye(it)}}return $}throw new Error(\"can't deserialize object of type \"+typeof y)}var Pt=function(){this.first=!0};Pt.prototype.update=function(_,I){var V=Math.floor(_);return this.first?(this.first=!1,this.lastIntegerZoom=V,this.lastIntegerZoomTime=0,this.lastZoom=_,this.lastFloorZoom=V,!0):(this.lastFloorZoom>V?(this.lastIntegerZoom=V+1,this.lastIntegerZoomTime=I):this.lastFloorZoom=128&&y<=255},Arabic:function(y){return y>=1536&&y<=1791},\"Arabic Supplement\":function(y){return y>=1872&&y<=1919},\"Arabic Extended-A\":function(y){return y>=2208&&y<=2303},\"Hangul Jamo\":function(y){return y>=4352&&y<=4607},\"Unified Canadian Aboriginal Syllabics\":function(y){return y>=5120&&y<=5759},Khmer:function(y){return y>=6016&&y<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(y){return y>=6320&&y<=6399},\"General Punctuation\":function(y){return y>=8192&&y<=8303},\"Letterlike Symbols\":function(y){return y>=8448&&y<=8527},\"Number Forms\":function(y){return y>=8528&&y<=8591},\"Miscellaneous Technical\":function(y){return y>=8960&&y<=9215},\"Control Pictures\":function(y){return y>=9216&&y<=9279},\"Optical Character Recognition\":function(y){return y>=9280&&y<=9311},\"Enclosed Alphanumerics\":function(y){return y>=9312&&y<=9471},\"Geometric Shapes\":function(y){return y>=9632&&y<=9727},\"Miscellaneous Symbols\":function(y){return y>=9728&&y<=9983},\"Miscellaneous Symbols and Arrows\":function(y){return y>=11008&&y<=11263},\"CJK Radicals Supplement\":function(y){return y>=11904&&y<=12031},\"Kangxi Radicals\":function(y){return y>=12032&&y<=12255},\"Ideographic Description Characters\":function(y){return y>=12272&&y<=12287},\"CJK Symbols and Punctuation\":function(y){return y>=12288&&y<=12351},Hiragana:function(y){return y>=12352&&y<=12447},Katakana:function(y){return y>=12448&&y<=12543},Bopomofo:function(y){return y>=12544&&y<=12591},\"Hangul Compatibility Jamo\":function(y){return y>=12592&&y<=12687},Kanbun:function(y){return y>=12688&&y<=12703},\"Bopomofo Extended\":function(y){return y>=12704&&y<=12735},\"CJK Strokes\":function(y){return y>=12736&&y<=12783},\"Katakana Phonetic Extensions\":function(y){return y>=12784&&y<=12799},\"Enclosed CJK Letters and Months\":function(y){return y>=12800&&y<=13055},\"CJK Compatibility\":function(y){return y>=13056&&y<=13311},\"CJK Unified Ideographs Extension A\":function(y){return y>=13312&&y<=19903},\"Yijing Hexagram Symbols\":function(y){return y>=19904&&y<=19967},\"CJK Unified Ideographs\":function(y){return y>=19968&&y<=40959},\"Yi Syllables\":function(y){return y>=40960&&y<=42127},\"Yi Radicals\":function(y){return y>=42128&&y<=42191},\"Hangul Jamo Extended-A\":function(y){return y>=43360&&y<=43391},\"Hangul Syllables\":function(y){return y>=44032&&y<=55215},\"Hangul Jamo Extended-B\":function(y){return y>=55216&&y<=55295},\"Private Use Area\":function(y){return y>=57344&&y<=63743},\"CJK Compatibility Ideographs\":function(y){return y>=63744&&y<=64255},\"Arabic Presentation Forms-A\":function(y){return y>=64336&&y<=65023},\"Vertical Forms\":function(y){return y>=65040&&y<=65055},\"CJK Compatibility Forms\":function(y){return y>=65072&&y<=65103},\"Small Form Variants\":function(y){return y>=65104&&y<=65135},\"Arabic Presentation Forms-B\":function(y){return y>=65136&&y<=65279},\"Halfwidth and Fullwidth Forms\":function(y){return y>=65280&&y<=65519}};function Wt(y){for(var _=0,I=y;_=65097&&y<=65103)||at[\"CJK Compatibility Ideographs\"](y)||at[\"CJK Compatibility\"](y)||at[\"CJK Radicals Supplement\"](y)||at[\"CJK Strokes\"](y)||at[\"CJK Symbols and Punctuation\"](y)&&!(y>=12296&&y<=12305)&&!(y>=12308&&y<=12319)&&y!==12336||at[\"CJK Unified Ideographs Extension A\"](y)||at[\"CJK Unified Ideographs\"](y)||at[\"Enclosed CJK Letters and Months\"](y)||at[\"Hangul Compatibility Jamo\"](y)||at[\"Hangul Jamo Extended-A\"](y)||at[\"Hangul Jamo Extended-B\"](y)||at[\"Hangul Jamo\"](y)||at[\"Hangul Syllables\"](y)||at.Hiragana(y)||at[\"Ideographic Description Characters\"](y)||at.Kanbun(y)||at[\"Kangxi Radicals\"](y)||at[\"Katakana Phonetic Extensions\"](y)||at.Katakana(y)&&y!==12540||at[\"Halfwidth and Fullwidth Forms\"](y)&&y!==65288&&y!==65289&&y!==65293&&!(y>=65306&&y<=65310)&&y!==65339&&y!==65341&&y!==65343&&!(y>=65371&&y<=65503)&&y!==65507&&!(y>=65512&&y<=65519)||at[\"Small Form Variants\"](y)&&!(y>=65112&&y<=65118)&&!(y>=65123&&y<=65126)||at[\"Unified Canadian Aboriginal Syllabics\"](y)||at[\"Unified Canadian Aboriginal Syllabics Extended\"](y)||at[\"Vertical Forms\"](y)||at[\"Yijing Hexagram Symbols\"](y)||at[\"Yi Syllables\"](y)||at[\"Yi Radicals\"](y))}function gi(y){return!!(at[\"Latin-1 Supplement\"](y)&&(y===167||y===169||y===174||y===177||y===188||y===189||y===190||y===215||y===247)||at[\"General Punctuation\"](y)&&(y===8214||y===8224||y===8225||y===8240||y===8241||y===8251||y===8252||y===8258||y===8263||y===8264||y===8265||y===8273)||at[\"Letterlike Symbols\"](y)||at[\"Number Forms\"](y)||at[\"Miscellaneous Technical\"](y)&&(y>=8960&&y<=8967||y>=8972&&y<=8991||y>=8996&&y<=9e3||y===9003||y>=9085&&y<=9114||y>=9150&&y<=9165||y===9167||y>=9169&&y<=9179||y>=9186&&y<=9215)||at[\"Control Pictures\"](y)&&y!==9251||at[\"Optical Character Recognition\"](y)||at[\"Enclosed Alphanumerics\"](y)||at[\"Geometric Shapes\"](y)||at[\"Miscellaneous Symbols\"](y)&&!(y>=9754&&y<=9759)||at[\"Miscellaneous Symbols and Arrows\"](y)&&(y>=11026&&y<=11055||y>=11088&&y<=11097||y>=11192&&y<=11243)||at[\"CJK Symbols and Punctuation\"](y)||at.Katakana(y)||at[\"Private Use Area\"](y)||at[\"CJK Compatibility Forms\"](y)||at[\"Small Form Variants\"](y)||at[\"Halfwidth and Fullwidth Forms\"](y)||y===8734||y===8756||y===8757||y>=9984&&y<=10087||y>=10102&&y<=10131||y===65532||y===65533)}function xi(y){return!(zr(y)||gi(y))}function Wr(y){return at.Arabic(y)||at[\"Arabic Supplement\"](y)||at[\"Arabic Extended-A\"](y)||at[\"Arabic Presentation Forms-A\"](y)||at[\"Arabic Presentation Forms-B\"](y)}function ii(y){return y>=1424&&y<=2303||at[\"Arabic Presentation Forms-A\"](y)||at[\"Arabic Presentation Forms-B\"](y)}function di(y,_){return!(!_&&ii(y)||y>=2304&&y<=3583||y>=3840&&y<=4255||at.Khmer(y))}function Li(y){for(var _=0,I=y;_-1&&(kn=Qr.error),Pn&&Pn(y)};function Ea(){Ia.fire(new Xo(\"pluginStateChange\",{pluginStatus:kn,pluginURL:Bn}))}var Ia=new jn,yo=function(){return kn},Da=function(y){return y({pluginStatus:kn,pluginURL:Bn}),Ia.on(\"pluginStateChange\",y),y},go=function(y,_,I){if(I===void 0&&(I=!1),kn===Qr.deferred||kn===Qr.loading||kn===Qr.loaded)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");Bn=lt.resolveURL(y),kn=Qr.deferred,Pn=_,Ea(),I||Is()},Is=function(){if(kn!==Qr.deferred||!Bn)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");kn=Qr.loading,Ea(),Bn&&ti({url:Bn},function(y){y?na(y):(kn=Qr.loaded,Ea())})},Ms={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return kn===Qr.loaded||Ms.applyArabicShaping!=null},isLoading:function(){return kn===Qr.loading},setState:function(_){kn=_.pluginStatus,Bn=_.pluginURL},isParsed:function(){return Ms.applyArabicShaping!=null&&Ms.processBidirectionalText!=null&&Ms.processStyledBidirectionalText!=null},getPluginURL:function(){return Bn}},Xs=function(){!Ms.isLoading()&&!Ms.isLoaded()&&yo()===\"deferred\"&&Is()},Un=function(_,I){this.zoom=_,I?(this.now=I.now,this.fadeDuration=I.fadeDuration,this.zoomHistory=I.zoomHistory,this.transition=I.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Pt,this.transition={})};Un.prototype.isSupportedScript=function(_){return Ti(_,Ms.isLoaded())},Un.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},Un.prototype.getCrossfadeParameters=function(){var _=this.zoom,I=_-Math.floor(_),V=this.crossFadingFactor();return _>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:I+(1-I)*V}:{fromScale:.5,toScale:1,t:1-(1-V)*I}};var ja=function(_,I){this.property=_,this.value=I,this.expression=w(I===void 0?_.specification.default:I,_.specification)};ja.prototype.isDataDriven=function(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"},ja.prototype.possiblyEvaluate=function(_,I,V){return this.property.possiblyEvaluate(this,_,I,V)};var Fo=function(_){this.property=_,this.value=new ja(_,void 0)};Fo.prototype.transitioned=function(_,I){return new $s(this.property,this.value,I,x({},_.transition,this.transition),_.now)},Fo.prototype.untransitioned=function(){return new $s(this.property,this.value,null,{},0)};var Uo=function(_){this._properties=_,this._values=Object.create(_.defaultTransitionablePropertyValues)};Uo.prototype.getValue=function(_){return j(this._values[_].value.value)},Uo.prototype.setValue=function(_,I){this._values.hasOwnProperty(_)||(this._values[_]=new Fo(this._values[_].property)),this._values[_].value=new ja(this._values[_].property,I===null?void 0:j(I))},Uo.prototype.getTransition=function(_){return j(this._values[_].transition)},Uo.prototype.setTransition=function(_,I){this._values.hasOwnProperty(_)||(this._values[_]=new Fo(this._values[_].property)),this._values[_].transition=j(I)||void 0},Uo.prototype.serialize=function(){for(var _={},I=0,V=Object.keys(this._values);Ithis.end)return this.prior=null,ae;if(this.value.isDataDriven())return this.prior=null,ae;if($he.zoomHistory.lastIntegerZoom?{from:V,to:$}:{from:ae,to:$}},_.prototype.interpolate=function(V){return V},_}(bt),Lr=function(_){this.specification=_};Lr.prototype.possiblyEvaluate=function(_,I,V,$){if(_.value!==void 0)if(_.expression.kind===\"constant\"){var ae=_.expression.evaluate(I,null,{},V,$);return this._calculate(ae,ae,ae,I)}else return this._calculate(_.expression.evaluate(new Un(Math.floor(I.zoom-1),I)),_.expression.evaluate(new Un(Math.floor(I.zoom),I)),_.expression.evaluate(new Un(Math.floor(I.zoom+1),I)),I)},Lr.prototype._calculate=function(_,I,V,$){var ae=$.zoom;return ae>$.zoomHistory.lastIntegerZoom?{from:_,to:I}:{from:V,to:I}},Lr.prototype.interpolate=function(_){return _};var Vr=function(_){this.specification=_};Vr.prototype.possiblyEvaluate=function(_,I,V,$){return!!_.expression.evaluate(I,null,{},V,$)},Vr.prototype.interpolate=function(){return!1};var Or=function(_){this.properties=_,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var I in _){var V=_[I];V.specification.overridable&&this.overridableProperties.push(I);var $=this.defaultPropertyValues[I]=new ja(V,void 0),ae=this.defaultTransitionablePropertyValues[I]=new Fo(V);this.defaultTransitioningPropertyValues[I]=ae.untransitioned(),this.defaultPossiblyEvaluatedValues[I]=$.possiblyEvaluate({})}};X(\"DataDrivenProperty\",bt),X(\"DataConstantProperty\",Me),X(\"CrossFadedDataDrivenProperty\",Ot),X(\"CrossFadedProperty\",Lr),X(\"ColorRampProperty\",Vr);var Nr=\"-transition\",vi=function(y){function _(I,V){if(y.call(this),this.id=I.id,this.type=I.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},I.type!==\"custom\"&&(I=I,this.metadata=I.metadata,this.minzoom=I.minzoom,this.maxzoom=I.maxzoom,I.type!==\"background\"&&(this.source=I.source,this.sourceLayer=I[\"source-layer\"],this.filter=I.filter),V.layout&&(this._unevaluatedLayout=new bu(V.layout)),V.paint)){this._transitionablePaint=new Uo(V.paint);for(var $ in I.paint)this.setPaintProperty($,I.paint[$],{validate:!1});for(var ae in I.layout)this.setLayoutProperty(ae,I.layout[ae],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Sc(V.paint)}}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},_.prototype.getLayoutProperty=function(V){return V===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(V)},_.prototype.setLayoutProperty=function(V,$,ae){if(ae===void 0&&(ae={}),$!=null){var he=\"layers.\"+this.id+\".layout.\"+V;if(this._validate(Ul,he,V,$,ae))return}if(V===\"visibility\"){this.visibility=$;return}this._unevaluatedLayout.setValue(V,$)},_.prototype.getPaintProperty=function(V){return U(V,Nr)?this._transitionablePaint.getTransition(V.slice(0,-Nr.length)):this._transitionablePaint.getValue(V)},_.prototype.setPaintProperty=function(V,$,ae){if(ae===void 0&&(ae={}),$!=null){var he=\"layers.\"+this.id+\".paint.\"+V;if(this._validate(hl,he,V,$,ae))return!1}if(U(V,Nr))return this._transitionablePaint.setTransition(V.slice(0,-Nr.length),$||void 0),!1;var Fe=this._transitionablePaint._values[V],it=Fe.property.specification[\"property-type\"]===\"cross-faded-data-driven\",yt=Fe.value.isDataDriven(),Lt=Fe.value;this._transitionablePaint.setValue(V,$),this._handleSpecialPaintPropertyUpdate(V);var sr=this._transitionablePaint._values[V].value,gr=sr.isDataDriven();return gr||yt||it||this._handleOverridablePaintPropertyUpdate(V,Lt,sr)},_.prototype._handleSpecialPaintPropertyUpdate=function(V){},_.prototype._handleOverridablePaintPropertyUpdate=function(V,$,ae){return!1},_.prototype.isHidden=function(V){return this.minzoom&&V=this.maxzoom?!0:this.visibility===\"none\"},_.prototype.updateTransitions=function(V){this._transitioningPaint=this._transitionablePaint.transitioned(V,this._transitioningPaint)},_.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},_.prototype.recalculate=function(V,$){V.getCrossfadeParameters&&(this._crossfadeParameters=V.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(V,void 0,$)),this.paint=this._transitioningPaint.possiblyEvaluate(V,void 0,$)},_.prototype.serialize=function(){var V={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&&(V.layout=V.layout||{},V.layout.visibility=this.visibility),Z(V,function($,ae){return $!==void 0&&!(ae===\"layout\"&&!Object.keys($).length)&&!(ae===\"paint\"&&!Object.keys($).length)})},_.prototype._validate=function(V,$,ae,he,Fe){return Fe===void 0&&(Fe={}),Fe&&Fe.validate===!1?!1:Lu(this,V.call(wo,{key:$,layerType:this.type,objectKey:ae,value:he,styleSpec:Rn,style:{glyphs:!0,sprite:!0}}))},_.prototype.is3D=function(){return!1},_.prototype.isTileClipped=function(){return!1},_.prototype.hasOffscreenPass=function(){return!1},_.prototype.resize=function(){},_.prototype.isStateDependent=function(){for(var V in this.paint._values){var $=this.paint.get(V);if(!(!($ instanceof dl)||!Ws($.property.specification))&&($.value.kind===\"source\"||$.value.kind===\"composite\")&&$.value.isStateDependent)return!0}return!1},_}(jn),Ni={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},qi=function(_,I){this._structArray=_,this._pos1=I*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Si=128,Vn=5,Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Qi.serialize=function(_,I){return _._trim(),I&&(_.isTransferred=!0,I.push(_.arrayBuffer)),{length:_.length,arrayBuffer:_.arrayBuffer}},Qi.deserialize=function(_){var I=Object.create(this.prototype);return I.arrayBuffer=_.arrayBuffer,I.length=_.length,I.capacity=_.arrayBuffer.byteLength/I.bytesPerElement,I._refreshViews(),I},Qi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Qi.prototype.clear=function(){this.length=0},Qi.prototype.resize=function(_){this.reserve(_),this.length=_},Qi.prototype.reserve=function(_){if(_>this.capacity){this.capacity=Math.max(_,Math.floor(this.capacity*Vn),Si),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var I=this.uint8;this._refreshViews(),I&&this.uint8.set(I)}},Qi.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};function ji(y,_){_===void 0&&(_=1);var I=0,V=0,$=y.map(function(he){var Fe=oi(he.type),it=I=Tr(I,Math.max(_,Fe)),yt=he.components||1;return V=Math.max(V,Fe),I+=Fe*yt,{name:he.name,type:he.type,components:yt,offset:it}}),ae=Tr(I,Math.max(V,_));return{members:$,size:ae,alignment:_}}function oi(y){return Ni[y].BYTES_PER_ELEMENT}function Tr(y,_){return Math.ceil(y/_)*_}var Zr=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$){var ae=this.length;return this.resize(ae+1),this.emplace(ae,V,$)},_.prototype.emplace=function(V,$,ae){var he=V*2;return this.int16[he+0]=$,this.int16[he+1]=ae,V},_}(Qi);Zr.prototype.bytesPerElement=4,X(\"StructArrayLayout2i4\",Zr);var yi=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae,he){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,V,$,ae,he)},_.prototype.emplace=function(V,$,ae,he,Fe){var it=V*4;return this.int16[it+0]=$,this.int16[it+1]=ae,this.int16[it+2]=he,this.int16[it+3]=Fe,V},_}(Qi);yi.prototype.bytesPerElement=8,X(\"StructArrayLayout4i8\",yi);var Ii=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae,he,Fe,it){var yt=this.length;return this.resize(yt+1),this.emplace(yt,V,$,ae,he,Fe,it)},_.prototype.emplace=function(V,$,ae,he,Fe,it,yt){var Lt=V*6;return this.int16[Lt+0]=$,this.int16[Lt+1]=ae,this.int16[Lt+2]=he,this.int16[Lt+3]=Fe,this.int16[Lt+4]=it,this.int16[Lt+5]=yt,V},_}(Qi);Ii.prototype.bytesPerElement=12,X(\"StructArrayLayout2i4i12\",Ii);var ui=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae,he,Fe,it){var yt=this.length;return this.resize(yt+1),this.emplace(yt,V,$,ae,he,Fe,it)},_.prototype.emplace=function(V,$,ae,he,Fe,it,yt){var Lt=V*4,sr=V*8;return this.int16[Lt+0]=$,this.int16[Lt+1]=ae,this.uint8[sr+4]=he,this.uint8[sr+5]=Fe,this.uint8[sr+6]=it,this.uint8[sr+7]=yt,V},_}(Qi);ui.prototype.bytesPerElement=8,X(\"StructArrayLayout2i4ub8\",ui);var nn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$){var ae=this.length;return this.resize(ae+1),this.emplace(ae,V,$)},_.prototype.emplace=function(V,$,ae){var he=V*2;return this.float32[he+0]=$,this.float32[he+1]=ae,V},_}(Qi);nn.prototype.bytesPerElement=8,X(\"StructArrayLayout2f8\",nn);var Xi=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae,he,Fe,it,yt,Lt,sr,gr){var hr=this.length;return this.resize(hr+1),this.emplace(hr,V,$,ae,he,Fe,it,yt,Lt,sr,gr)},_.prototype.emplace=function(V,$,ae,he,Fe,it,yt,Lt,sr,gr,hr){var Rr=V*10;return this.uint16[Rr+0]=$,this.uint16[Rr+1]=ae,this.uint16[Rr+2]=he,this.uint16[Rr+3]=Fe,this.uint16[Rr+4]=it,this.uint16[Rr+5]=yt,this.uint16[Rr+6]=Lt,this.uint16[Rr+7]=sr,this.uint16[Rr+8]=gr,this.uint16[Rr+9]=hr,V},_}(Qi);Xi.prototype.bytesPerElement=20,X(\"StructArrayLayout10ui20\",Xi);var qn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae,he,Fe,it,yt,Lt,sr,gr,hr,Rr){var ni=this.length;return this.resize(ni+1),this.emplace(ni,V,$,ae,he,Fe,it,yt,Lt,sr,gr,hr,Rr)},_.prototype.emplace=function(V,$,ae,he,Fe,it,yt,Lt,sr,gr,hr,Rr,ni){var Hi=V*12;return this.int16[Hi+0]=$,this.int16[Hi+1]=ae,this.int16[Hi+2]=he,this.int16[Hi+3]=Fe,this.uint16[Hi+4]=it,this.uint16[Hi+5]=yt,this.uint16[Hi+6]=Lt,this.uint16[Hi+7]=sr,this.int16[Hi+8]=gr,this.int16[Hi+9]=hr,this.int16[Hi+10]=Rr,this.int16[Hi+11]=ni,V},_}(Qi);qn.prototype.bytesPerElement=24,X(\"StructArrayLayout4i4ui4i24\",qn);var fi=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae){var he=this.length;return this.resize(he+1),this.emplace(he,V,$,ae)},_.prototype.emplace=function(V,$,ae,he){var Fe=V*3;return this.float32[Fe+0]=$,this.float32[Fe+1]=ae,this.float32[Fe+2]=he,V},_}(Qi);fi.prototype.bytesPerElement=12,X(\"StructArrayLayout3f12\",fi);var si=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V){var $=this.length;return this.resize($+1),this.emplace($,V)},_.prototype.emplace=function(V,$){var ae=V*1;return this.uint32[ae+0]=$,V},_}(Qi);si.prototype.bytesPerElement=4,X(\"StructArrayLayout1ul4\",si);var mn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.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)},_.prototype.emplaceBack=function(V,$,ae,he,Fe,it,yt,Lt,sr){var gr=this.length;return this.resize(gr+1),this.emplace(gr,V,$,ae,he,Fe,it,yt,Lt,sr)},_.prototype.emplace=function(V,$,ae,he,Fe,it,yt,Lt,sr,gr){var hr=V*10,Rr=V*5;return this.int16[hr+0]=$,this.int16[hr+1]=ae,this.int16[hr+2]=he,this.int16[hr+3]=Fe,this.int16[hr+4]=it,this.int16[hr+5]=yt,this.uint32[Rr+3]=Lt,this.uint16[hr+8]=sr,this.uint16[hr+9]=gr,V},_}(Qi);mn.prototype.bytesPerElement=20,X(\"StructArrayLayout6i1ul2ui20\",mn);var Ji=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae,he,Fe,it){var yt=this.length;return this.resize(yt+1),this.emplace(yt,V,$,ae,he,Fe,it)},_.prototype.emplace=function(V,$,ae,he,Fe,it,yt){var Lt=V*6;return this.int16[Lt+0]=$,this.int16[Lt+1]=ae,this.int16[Lt+2]=he,this.int16[Lt+3]=Fe,this.int16[Lt+4]=it,this.int16[Lt+5]=yt,V},_}(Qi);Ji.prototype.bytesPerElement=12,X(\"StructArrayLayout2i2i2i12\",Ji);var Ui=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae,he,Fe){var it=this.length;return this.resize(it+1),this.emplace(it,V,$,ae,he,Fe)},_.prototype.emplace=function(V,$,ae,he,Fe,it){var yt=V*4,Lt=V*8;return this.float32[yt+0]=$,this.float32[yt+1]=ae,this.float32[yt+2]=he,this.int16[Lt+6]=Fe,this.int16[Lt+7]=it,V},_}(Qi);Ui.prototype.bytesPerElement=16,X(\"StructArrayLayout2f1f2i16\",Ui);var Bi=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae,he){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,V,$,ae,he)},_.prototype.emplace=function(V,$,ae,he,Fe){var it=V*12,yt=V*3;return this.uint8[it+0]=$,this.uint8[it+1]=ae,this.float32[yt+1]=he,this.float32[yt+2]=Fe,V},_}(Qi);Bi.prototype.bytesPerElement=12,X(\"StructArrayLayout2ub2f12\",Bi);var pn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae){var he=this.length;return this.resize(he+1),this.emplace(he,V,$,ae)},_.prototype.emplace=function(V,$,ae,he){var Fe=V*3;return this.uint16[Fe+0]=$,this.uint16[Fe+1]=ae,this.uint16[Fe+2]=he,V},_}(Qi);pn.prototype.bytesPerElement=6,X(\"StructArrayLayout3ui6\",pn);var Nn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.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)},_.prototype.emplaceBack=function(V,$,ae,he,Fe,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn){var xn=this.length;return this.resize(xn+1),this.emplace(xn,V,$,ae,he,Fe,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn)},_.prototype.emplace=function(V,$,ae,he,Fe,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn,xn){var In=V*24,Xn=V*12,ga=V*48;return this.int16[In+0]=$,this.int16[In+1]=ae,this.uint16[In+2]=he,this.uint16[In+3]=Fe,this.uint32[Xn+2]=it,this.uint32[Xn+3]=yt,this.uint32[Xn+4]=Lt,this.uint16[In+10]=sr,this.uint16[In+11]=gr,this.uint16[In+12]=hr,this.float32[Xn+7]=Rr,this.float32[Xn+8]=ni,this.uint8[ga+36]=Hi,this.uint8[ga+37]=wi,this.uint8[ga+38]=bn,this.uint32[Xn+10]=rn,this.int16[In+22]=xn,V},_}(Qi);Nn.prototype.bytesPerElement=48,X(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Nn);var aa=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.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)},_.prototype.emplaceBack=function(V,$,ae,he,Fe,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn,xn,In,Xn,ga,ha,eo,za,Za,Jo,to,ao){var _s=this.length;return this.resize(_s+1),this.emplace(_s,V,$,ae,he,Fe,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn,xn,In,Xn,ga,ha,eo,za,Za,Jo,to,ao)},_.prototype.emplace=function(V,$,ae,he,Fe,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn,xn,In,Xn,ga,ha,eo,za,Za,Jo,to,ao,_s){var jo=V*34,El=V*17;return this.int16[jo+0]=$,this.int16[jo+1]=ae,this.int16[jo+2]=he,this.int16[jo+3]=Fe,this.int16[jo+4]=it,this.int16[jo+5]=yt,this.int16[jo+6]=Lt,this.int16[jo+7]=sr,this.uint16[jo+8]=gr,this.uint16[jo+9]=hr,this.uint16[jo+10]=Rr,this.uint16[jo+11]=ni,this.uint16[jo+12]=Hi,this.uint16[jo+13]=wi,this.uint16[jo+14]=bn,this.uint16[jo+15]=rn,this.uint16[jo+16]=xn,this.uint16[jo+17]=In,this.uint16[jo+18]=Xn,this.uint16[jo+19]=ga,this.uint16[jo+20]=ha,this.uint16[jo+21]=eo,this.uint16[jo+22]=za,this.uint32[El+12]=Za,this.float32[El+13]=Jo,this.float32[El+14]=to,this.float32[El+15]=ao,this.float32[El+16]=_s,V},_}(Qi);aa.prototype.bytesPerElement=68,X(\"StructArrayLayout8i15ui1ul4f68\",aa);var Ki=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V){var $=this.length;return this.resize($+1),this.emplace($,V)},_.prototype.emplace=function(V,$){var ae=V*1;return this.float32[ae+0]=$,V},_}(Qi);Ki.prototype.bytesPerElement=4,X(\"StructArrayLayout1f4\",Ki);var Cn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae){var he=this.length;return this.resize(he+1),this.emplace(he,V,$,ae)},_.prototype.emplace=function(V,$,ae,he){var Fe=V*3;return this.int16[Fe+0]=$,this.int16[Fe+1]=ae,this.int16[Fe+2]=he,V},_}(Qi);Cn.prototype.bytesPerElement=6,X(\"StructArrayLayout3i6\",Cn);var ia=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae){var he=this.length;return this.resize(he+1),this.emplace(he,V,$,ae)},_.prototype.emplace=function(V,$,ae,he){var Fe=V*2,it=V*4;return this.uint32[Fe+0]=$,this.uint16[it+2]=ae,this.uint16[it+3]=he,V},_}(Qi);ia.prototype.bytesPerElement=8,X(\"StructArrayLayout1ul2ui8\",ia);var sa=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$){var ae=this.length;return this.resize(ae+1),this.emplace(ae,V,$)},_.prototype.emplace=function(V,$,ae){var he=V*2;return this.uint16[he+0]=$,this.uint16[he+1]=ae,V},_}(Qi);sa.prototype.bytesPerElement=4,X(\"StructArrayLayout2ui4\",sa);var ba=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V){var $=this.length;return this.resize($+1),this.emplace($,V)},_.prototype.emplace=function(V,$){var ae=V*1;return this.uint16[ae+0]=$,V},_}(Qi);ba.prototype.bytesPerElement=2,X(\"StructArrayLayout1ui2\",ba);var is=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(V,$,ae,he){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,V,$,ae,he)},_.prototype.emplace=function(V,$,ae,he,Fe){var it=V*4;return this.float32[it+0]=$,this.float32[it+1]=ae,this.float32[it+2]=he,this.float32[it+3]=Fe,V},_}(Qi);is.prototype.bytesPerElement=16,X(\"StructArrayLayout4f16\",is);var Zs=function(y){function _(){y.apply(this,arguments)}y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_;var I={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return I.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},I.x1.get=function(){return this._structArray.int16[this._pos2+2]},I.y1.get=function(){return this._structArray.int16[this._pos2+3]},I.x2.get=function(){return this._structArray.int16[this._pos2+4]},I.y2.get=function(){return this._structArray.int16[this._pos2+5]},I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.anchorPoint.get=function(){return new u(this.anchorPointX,this.anchorPointY)},Object.defineProperties(_.prototype,I),_}(qi);Zs.prototype.size=20;var Va=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.get=function(V){return new Zs(this,V)},_}(mn);X(\"CollisionBoxArray\",Va);var Ml=function(y){function _(){y.apply(this,arguments)}y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_;var I={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},I.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},I.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},I.segment.get=function(){return this._structArray.uint16[this._pos2+10]},I.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},I.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},I.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},I.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},I.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},I.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},I.placedOrientation.set=function(V){this._structArray.uint8[this._pos1+37]=V},I.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},I.hidden.set=function(V){this._structArray.uint8[this._pos1+38]=V},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},I.crossTileID.set=function(V){this._structArray.uint32[this._pos4+10]=V},I.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(_.prototype,I),_}(qi);Ml.prototype.size=48;var zo=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.get=function(V){return new Ml(this,V)},_}(Nn);X(\"PlacedSymbolArray\",zo);var Qs=function(y){function _(){y.apply(this,arguments)}y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_;var I={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},I.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},I.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},I.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},I.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},I.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},I.key.get=function(){return this._structArray.uint16[this._pos2+8]},I.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},I.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},I.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},I.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},I.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},I.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},I.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},I.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},I.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},I.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},I.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},I.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},I.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},I.crossTileID.set=function(V){this._structArray.uint32[this._pos4+12]=V},I.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},I.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},I.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},I.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(_.prototype,I),_}(qi);Qs.prototype.size=68;var al=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.get=function(V){return new Qs(this,V)},_}(aa);X(\"SymbolInstanceArray\",al);var Vl=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.getoffsetX=function(V){return this.float32[V*1+0]},_}(Ki);X(\"GlyphOffsetArray\",Vl);var ss=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.getx=function(V){return this.int16[V*3+0]},_.prototype.gety=function(V){return this.int16[V*3+1]},_.prototype.gettileUnitDistanceFromAnchor=function(V){return this.int16[V*3+2]},_}(Cn);X(\"SymbolLineVertexArray\",ss);var Vs=function(y){function _(){y.apply(this,arguments)}y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_;var I={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(_.prototype,I),_}(qi);Vs.prototype.size=8;var Ys=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.get=function(V){return new Vs(this,V)},_}(ia);X(\"FeatureIndexArray\",Ys);var wa=ji([{name:\"a_pos\",components:2,type:\"Int16\"}],4),ol=wa.members,io=function(_){_===void 0&&(_=[]),this.segments=_};io.prototype.prepareSegment=function(_,I,V,$){var ae=this.segments[this.segments.length-1];return _>io.MAX_VERTEX_ARRAY_LENGTH&&re(\"Max vertices per segment is \"+io.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+_),(!ae||ae.vertexLength+_>io.MAX_VERTEX_ARRAY_LENGTH||ae.sortKey!==$)&&(ae={vertexOffset:I.length,primitiveOffset:V.length,vertexLength:0,primitiveLength:0},$!==void 0&&(ae.sortKey=$),this.segments.push(ae)),ae},io.prototype.get=function(){return this.segments},io.prototype.destroy=function(){for(var _=0,I=this.segments;_>>16)*it&65535)<<16)&4294967295,Lt=Lt<<15|Lt>>>17,Lt=(Lt&65535)*yt+(((Lt>>>16)*yt&65535)<<16)&4294967295,he^=Lt,he=he<<13|he>>>19,Fe=(he&65535)*5+(((he>>>16)*5&65535)<<16)&4294967295,he=(Fe&65535)+27492+(((Fe>>>16)+58964&65535)<<16);switch(Lt=0,$){case 3:Lt^=(I.charCodeAt(sr+2)&255)<<16;case 2:Lt^=(I.charCodeAt(sr+1)&255)<<8;case 1:Lt^=I.charCodeAt(sr)&255,Lt=(Lt&65535)*it+(((Lt>>>16)*it&65535)<<16)&4294967295,Lt=Lt<<15|Lt>>>17,Lt=(Lt&65535)*yt+(((Lt>>>16)*yt&65535)<<16)&4294967295,he^=Lt}return he^=I.length,he^=he>>>16,he=(he&65535)*2246822507+(((he>>>16)*2246822507&65535)<<16)&4294967295,he^=he>>>13,he=(he&65535)*3266489909+(((he>>>16)*3266489909&65535)<<16)&4294967295,he^=he>>>16,he>>>0}y.exports=_}),O=a(function(y){function _(I,V){for(var $=I.length,ae=V^$,he=0,Fe;$>=4;)Fe=I.charCodeAt(he)&255|(I.charCodeAt(++he)&255)<<8|(I.charCodeAt(++he)&255)<<16|(I.charCodeAt(++he)&255)<<24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),Fe^=Fe>>>24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),ae=(ae&65535)*1540483477+(((ae>>>16)*1540483477&65535)<<16)^Fe,$-=4,++he;switch($){case 3:ae^=(I.charCodeAt(he+2)&255)<<16;case 2:ae^=(I.charCodeAt(he+1)&255)<<8;case 1:ae^=I.charCodeAt(he)&255,ae=(ae&65535)*1540483477+(((ae>>>16)*1540483477&65535)<<16)}return ae^=ae>>>13,ae=(ae&65535)*1540483477+(((ae>>>16)*1540483477&65535)<<16),ae^=ae>>>15,ae>>>0}y.exports=_}),K=J,de=J,ne=O;K.murmur3=de,K.murmur2=ne;var be=function(){this.ids=[],this.positions=[],this.indexed=!1};be.prototype.add=function(_,I,V,$){this.ids.push(ht(_)),this.positions.push(I,V,$)},be.prototype.getPositions=function(_){for(var I=ht(_),V=0,$=this.ids.length-1;V<$;){var ae=V+$>>1;this.ids[ae]>=I?$=ae:V=ae+1}for(var he=[];this.ids[V]===I;){var Fe=this.positions[3*V],it=this.positions[3*V+1],yt=this.positions[3*V+2];he.push({index:Fe,start:it,end:yt}),V++}return he},be.serialize=function(_,I){var V=new Float64Array(_.ids),$=new Uint32Array(_.positions);return Yt(V,$,0,V.length-1),I&&I.push(V.buffer,$.buffer),{ids:V,positions:$}},be.deserialize=function(_){var I=new be;return I.ids=_.ids,I.positions=_.positions,I.indexed=!0,I};var Be=Math.pow(2,53)-1;function ht(y){var _=+y;return!isNaN(_)&&_<=Be?_:K(String(y))}function Yt(y,_,I,V){for(;I>1],ae=I-1,he=V+1;;){do ae++;while(y[ae]<$);do he--;while(y[he]>$);if(ae>=he)break;cr(y,ae,he),cr(_,3*ae,3*he),cr(_,3*ae+1,3*he+1),cr(_,3*ae+2,3*he+2)}he-Ihe.x+1||ithe.y+1)&&re(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return I}function Ja(y,_){return{type:y.type,id:y.id,properties:y.properties,geometry:_?zn(y):[]}}function co(y,_,I,V,$){y.emplaceBack(_*2+(V+1)/2,I*2+($+1)/2)}var ts=function(_){this.zoom=_.zoom,this.overscaling=_.overscaling,this.layers=_.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=_.index,this.hasPattern=!1,this.layoutVertexArray=new Zr,this.indexArray=new pn,this.segments=new io,this.programConfigurations=new ci(_.layers,_.zoom),this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};ts.prototype.populate=function(_,I,V){var $=this.layers[0],ae=[],he=null;$.type===\"circle\"&&(he=$.layout.get(\"circle-sort-key\"));for(var Fe=0,it=_;Fe=Ei||gr<0||gr>=Ei)){var hr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,_.sortKey),Rr=hr.vertexLength;co(this.layoutVertexArray,sr,gr,-1,-1),co(this.layoutVertexArray,sr,gr,1,-1),co(this.layoutVertexArray,sr,gr,1,1),co(this.layoutVertexArray,sr,gr,-1,1),this.indexArray.emplaceBack(Rr,Rr+1,Rr+2),this.indexArray.emplaceBack(Rr,Rr+3,Rr+2),hr.vertexLength+=4,hr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,_,V,{},$)},X(\"CircleBucket\",ts,{omit:[\"layers\"]});function so(y,_){for(var I=0;I=3){for(var ae=0;ae<$.length;ae++)if(Td(y,$[ae]))return!0}if(Cv(y,$,I))return!0}return!1}function Cv(y,_,I){if(y.length>1){if(Lv(y,_))return!0;for(var V=0;V<_.length;V++)if(Kv(_[V],y,I))return!0}for(var $=0;$1?y.distSqr(I):y.distSqr(I.sub(_)._mult($)._add(_))}function gp(y,_){for(var I=!1,V,$,ae,he=0;he_.y!=ae.y>_.y&&_.x<(ae.x-$.x)*(_.y-$.y)/(ae.y-$.y)+$.x&&(I=!I)}return I}function Td(y,_){for(var I=!1,V=0,$=y.length-1;V_.y!=he.y>_.y&&_.x<(he.x-ae.x)*(_.y-ae.y)/(he.y-ae.y)+ae.x&&(I=!I)}return I}function mp(y,_,I,V,$){for(var ae=0,he=y;ae=Fe.x&&$>=Fe.y)return!0}var it=[new u(_,I),new u(_,$),new u(V,$),new u(V,I)];if(y.length>2)for(var yt=0,Lt=it;yt$.x&&_.x>$.x||y.y$.y&&_.y>$.y)return!1;var ae=oe(y,_,I[0]);return ae!==oe(y,_,I[1])||ae!==oe(y,_,I[2])||ae!==oe(y,_,I[3])}function Ad(y,_,I){var V=_.paint.get(y).value;return V.kind===\"constant\"?V.value:I.programConfigurations.get(_.id).getMaxValue(y)}function Pv(y){return Math.sqrt(y[0]*y[0]+y[1]*y[1])}function Jv(y,_,I,V,$){if(!_[0]&&!_[1])return y;var ae=u.convert(_)._mult($);I===\"viewport\"&&ae._rotate(-V);for(var he=[],Fe=0;Fe0&&(ae=1/Math.sqrt(ae)),y[0]=_[0]*ae,y[1]=_[1]*ae,y[2]=_[2]*ae,y}function V9(y,_){return y[0]*_[0]+y[1]*_[1]+y[2]*_[2]}function G9(y,_,I){var V=_[0],$=_[1],ae=_[2],he=I[0],Fe=I[1],it=I[2];return y[0]=$*it-ae*Fe,y[1]=ae*he-V*it,y[2]=V*Fe-$*he,y}function H9(y,_,I){var V=_[0],$=_[1],ae=_[2];return y[0]=V*I[0]+$*I[3]+ae*I[6],y[1]=V*I[1]+$*I[4]+ae*I[7],y[2]=V*I[2]+$*I[5]+ae*I[8],y}var j9=um,qQ=function(){var y=lm();return function(_,I,V,$,ae,he){var Fe,it;for(I||(I=3),V||(V=0),$?it=Math.min($*I+V,_.length):it=_.length,Fe=V;Fey.width||$.height>y.height||I.x>y.width-$.width||I.y>y.height-$.height)throw new RangeError(\"out of range source coordinates for image copy\");if($.width>_.width||$.height>_.height||V.x>_.width-$.width||V.y>_.height-$.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var he=y.data,Fe=_.data,it=0;it<$.height;it++)for(var yt=((I.y+it)*y.width+I.x)*ae,Lt=((V.y+it)*_.width+V.x)*ae,sr=0;sr<$.width*ae;sr++)Fe[Lt+sr]=he[yt+sr];return _}var Dv=function(_,I){Md(this,_,1,I)};Dv.prototype.resize=function(_){Nw(this,_,1)},Dv.prototype.clone=function(){return new Dv({width:this.width,height:this.height},new Uint8Array(this.data))},Dv.copy=function(_,I,V,$,ae){Uw(_,I,V,$,ae,1)};var Eh=function(_,I){Md(this,_,4,I)};Eh.prototype.resize=function(_){Nw(this,_,4)},Eh.prototype.replace=function(_,I){I?this.data.set(_):_ instanceof Uint8ClampedArray?this.data=new Uint8Array(_.buffer):this.data=_},Eh.prototype.clone=function(){return new Eh({width:this.width,height:this.height},new Uint8Array(this.data))},Eh.copy=function(_,I,V,$,ae){Uw(_,I,V,$,ae,4)},X(\"AlphaImage\",Dv),X(\"RGBAImage\",Eh);var $x=new Or({\"heatmap-radius\":new bt(Rn.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new bt(Rn.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Me(Rn.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Vr(Rn.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Me(Rn.paint_heatmap[\"heatmap-opacity\"])}),P1={paint:$x};function Qx(y){var _={},I=y.resolution||256,V=y.clips?y.clips.length:1,$=y.image||new Eh({width:I,height:V}),ae=function(bn,rn,xn){_[y.evaluationKey]=xn;var In=y.expression.evaluate(_);$.data[bn+rn+0]=Math.floor(In.r*255/In.a),$.data[bn+rn+1]=Math.floor(In.g*255/In.a),$.data[bn+rn+2]=Math.floor(In.b*255/In.a),$.data[bn+rn+3]=Math.floor(In.a*255)};if(y.clips)for(var yt=0,Lt=0;yt80*I){Fe=yt=y[0],it=Lt=y[1];for(var Rr=I;Rr<$;Rr+=I)sr=y[Rr],gr=y[Rr+1],sryt&&(yt=sr),gr>Lt&&(Lt=gr);hr=Math.max(yt-Fe,Lt-it),hr=hr!==0?1/hr:0}return eb(ae,he,I,Fe,it,hr),he}function Hw(y,_,I,V,$){var ae,he;if($===mS(y,_,I,V)>0)for(ae=_;ae=_;ae-=V)he=FC(ae,y[ae],y[ae+1],he);return he&&rb(he,he.next)&&(ab(he),he=he.next),he}function cm(y,_){if(!y)return y;_||(_=y);var I=y,V;do if(V=!1,!I.steiner&&(rb(I,I.next)||Tf(I.prev,I,I.next)===0)){if(ab(I),I=_=I.prev,I===I.next)break;V=!0}else I=I.next;while(V||I!==_);return _}function eb(y,_,I,V,$,ae,he){if(y){!he&&ae&&jw(y,V,$,ae);for(var Fe=y,it,yt;y.prev!==y.next;){if(it=y.prev,yt=y.next,ae?IC(y,V,$,ae):PC(y)){_.push(it.i/I),_.push(y.i/I),_.push(yt.i/I),ab(y),y=yt.next,Fe=yt.next;continue}if(y=yt,y===Fe){he?he===1?(y=tb(cm(y),_,I),eb(y,_,I,V,$,ae,2)):he===2&&v0(y,_,I,V,$,ae):eb(cm(y),_,I,V,$,ae,1);break}}}}function PC(y){var _=y.prev,I=y,V=y.next;if(Tf(_,I,V)>=0)return!1;for(var $=y.next.next;$!==y.prev;){if(hm(_.x,_.y,I.x,I.y,V.x,V.y,$.x,$.y)&&Tf($.prev,$,$.next)>=0)return!1;$=$.next}return!0}function IC(y,_,I,V){var $=y.prev,ae=y,he=y.next;if(Tf($,ae,he)>=0)return!1;for(var Fe=$.xae.x?$.x>he.x?$.x:he.x:ae.x>he.x?ae.x:he.x,Lt=$.y>ae.y?$.y>he.y?$.y:he.y:ae.y>he.y?ae.y:he.y,sr=dS(Fe,it,_,I,V),gr=dS(yt,Lt,_,I,V),hr=y.prevZ,Rr=y.nextZ;hr&&hr.z>=sr&&Rr&&Rr.z<=gr;){if(hr!==y.prev&&hr!==y.next&&hm($.x,$.y,ae.x,ae.y,he.x,he.y,hr.x,hr.y)&&Tf(hr.prev,hr,hr.next)>=0||(hr=hr.prevZ,Rr!==y.prev&&Rr!==y.next&&hm($.x,$.y,ae.x,ae.y,he.x,he.y,Rr.x,Rr.y)&&Tf(Rr.prev,Rr,Rr.next)>=0))return!1;Rr=Rr.nextZ}for(;hr&&hr.z>=sr;){if(hr!==y.prev&&hr!==y.next&&hm($.x,$.y,ae.x,ae.y,he.x,he.y,hr.x,hr.y)&&Tf(hr.prev,hr,hr.next)>=0)return!1;hr=hr.prevZ}for(;Rr&&Rr.z<=gr;){if(Rr!==y.prev&&Rr!==y.next&&hm($.x,$.y,ae.x,ae.y,he.x,he.y,Rr.x,Rr.y)&&Tf(Rr.prev,Rr,Rr.next)>=0)return!1;Rr=Rr.nextZ}return!0}function tb(y,_,I){var V=y;do{var $=V.prev,ae=V.next.next;!rb($,ae)&&Ww($,V,V.next,ae)&&nb($,ae)&&nb(ae,$)&&(_.push($.i/I),_.push(V.i/I),_.push(ae.i/I),ab(V),ab(V.next),V=y=ae),V=V.next}while(V!==y);return cm(V)}function v0(y,_,I,V,$,ae){var he=y;do{for(var Fe=he.next.next;Fe!==he.prev;){if(he.i!==Fe.i&&R1(he,Fe)){var it=pS(he,Fe);he=cm(he,he.next),it=cm(it,it.next),eb(he,_,I,V,$,ae),eb(it,_,I,V,$,ae);return}Fe=Fe.next}he=he.next}while(he!==y)}function fm(y,_,I,V){var $=[],ae,he,Fe,it,yt;for(ae=0,he=_.length;ae=I.next.y&&I.next.y!==I.y){var Fe=I.x+($-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(Fe<=V&&Fe>ae){if(ae=Fe,Fe===V){if($===I.y)return I;if($===I.next.y)return I.next}he=I.x=I.x&&I.x>=yt&&V!==I.x&&hm($he.x||I.x===he.x&&eq(he,I)))&&(he=I,sr=gr)),I=I.next;while(I!==it);return he}function eq(y,_){return Tf(y.prev,y,_.prev)<0&&Tf(_.next,y,y.next)<0}function jw(y,_,I,V){var $=y;do $.z===null&&($.z=dS($.x,$.y,_,I,V)),$.prevZ=$.prev,$.nextZ=$.next,$=$.next;while($!==y);$.prevZ.nextZ=null,$.prevZ=null,hS($)}function hS(y){var _,I,V,$,ae,he,Fe,it,yt=1;do{for(I=y,y=null,ae=null,he=0;I;){for(he++,V=I,Fe=0,_=0;_0||it>0&&V;)Fe!==0&&(it===0||!V||I.z<=V.z)?($=I,I=I.nextZ,Fe--):($=V,V=V.nextZ,it--),ae?ae.nextZ=$:y=$,$.prevZ=ae,ae=$;I=V}ae.nextZ=null,yt*=2}while(he>1);return y}function dS(y,_,I,V,$){return y=32767*(y-I)*$,_=32767*(_-V)*$,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,_=(_|_<<8)&16711935,_=(_|_<<4)&252645135,_=(_|_<<2)&858993459,_=(_|_<<1)&1431655765,y|_<<1}function vS(y){var _=y,I=y;do(_.x=0&&(y-he)*(V-Fe)-(I-he)*(_-Fe)>=0&&(I-he)*(ae-Fe)-($-he)*(V-Fe)>=0}function R1(y,_){return y.next.i!==_.i&&y.prev.i!==_.i&&!DC(y,_)&&(nb(y,_)&&nb(_,y)&&tq(y,_)&&(Tf(y.prev,y,_.prev)||Tf(y,_.prev,_))||rb(y,_)&&Tf(y.prev,y,y.next)>0&&Tf(_.prev,_,_.next)>0)}function Tf(y,_,I){return(_.y-y.y)*(I.x-_.x)-(_.x-y.x)*(I.y-_.y)}function rb(y,_){return y.x===_.x&&y.y===_.y}function Ww(y,_,I,V){var $=gy(Tf(y,_,I)),ae=gy(Tf(y,_,V)),he=gy(Tf(I,V,y)),Fe=gy(Tf(I,V,_));return!!($!==ae&&he!==Fe||$===0&&ib(y,I,_)||ae===0&&ib(y,V,_)||he===0&&ib(I,y,V)||Fe===0&&ib(I,_,V))}function ib(y,_,I){return _.x<=Math.max(y.x,I.x)&&_.x>=Math.min(y.x,I.x)&&_.y<=Math.max(y.y,I.y)&&_.y>=Math.min(y.y,I.y)}function gy(y){return y>0?1:y<0?-1:0}function DC(y,_){var I=y;do{if(I.i!==y.i&&I.next.i!==y.i&&I.i!==_.i&&I.next.i!==_.i&&Ww(I,I.next,y,_))return!0;I=I.next}while(I!==y);return!1}function nb(y,_){return Tf(y.prev,y,y.next)<0?Tf(y,_,y.next)>=0&&Tf(y,y.prev,_)>=0:Tf(y,_,y.prev)<0||Tf(y,y.next,_)<0}function tq(y,_){var I=y,V=!1,$=(y.x+_.x)/2,ae=(y.y+_.y)/2;do I.y>ae!=I.next.y>ae&&I.next.y!==I.y&&$<(I.next.x-I.x)*(ae-I.y)/(I.next.y-I.y)+I.x&&(V=!V),I=I.next;while(I!==y);return V}function pS(y,_){var I=new gS(y.i,y.x,y.y),V=new gS(_.i,_.x,_.y),$=y.next,ae=_.prev;return y.next=_,_.prev=y,I.next=$,$.prev=I,V.next=I,I.prev=V,ae.next=V,V.prev=ae,V}function FC(y,_,I,V){var $=new gS(y,_,I);return V?($.next=V.next,$.prev=V,V.next.prev=$,V.next=$):($.prev=$,$.next=$),$}function ab(y){y.next.prev=y.prev,y.prev.next=y.next,y.prevZ&&(y.prevZ.nextZ=y.nextZ),y.nextZ&&(y.nextZ.prevZ=y.prevZ)}function gS(y,_,I){this.i=y,this.x=_,this.y=I,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}I1.deviation=function(y,_,I,V){var $=_&&_.length,ae=$?_[0]*I:y.length,he=Math.abs(mS(y,0,ae,I));if($)for(var Fe=0,it=_.length;Fe0&&(V+=y[$-1].length,I.holes.push(V))}return I},Gw.default=LC;function yS(y,_,I,V,$){pg(y,_,I||0,V||y.length-1,$||zC)}function pg(y,_,I,V,$){for(;V>I;){if(V-I>600){var ae=V-I+1,he=_-I+1,Fe=Math.log(ae),it=.5*Math.exp(2*Fe/3),yt=.5*Math.sqrt(Fe*it*(ae-it)/ae)*(he-ae/2<0?-1:1),Lt=Math.max(I,Math.floor(_-he*it/ae+yt)),sr=Math.min(V,Math.floor(_+(ae-he)*it/ae+yt));pg(y,_,Lt,sr,$)}var gr=y[_],hr=I,Rr=V;for(D1(y,I,_),$(y[V],gr)>0&&D1(y,I,V);hr0;)Rr--}$(y[I],gr)===0?D1(y,I,Rr):(Rr++,D1(y,Rr,V)),Rr<=_&&(I=Rr+1),_<=Rr&&(V=Rr-1)}}function D1(y,_,I){var V=y[_];y[_]=y[I],y[I]=V}function zC(y,_){return y<_?-1:y>_?1:0}function Xw(y,_){var I=y.length;if(I<=1)return[y];for(var V=[],$,ae,he=0;he1)for(var it=0;it>3}if(V--,I===1||I===2)$+=y.readSVarint(),ae+=y.readSVarint(),I===1&&(Fe&&he.push(Fe),Fe=[]),Fe.push(new u($,ae));else if(I===7)Fe&&Fe.push(Fe[0].clone());else throw new Error(\"unknown command \"+I)}return Fe&&he.push(Fe),he},my.prototype.bbox=function(){var y=this._pbf;y.pos=this._geometry;for(var _=y.readVarint()+y.pos,I=1,V=0,$=0,ae=0,he=1/0,Fe=-1/0,it=1/0,yt=-1/0;y.pos<_;){if(V<=0){var Lt=y.readVarint();I=Lt&7,V=Lt>>3}if(V--,I===1||I===2)$+=y.readSVarint(),ae+=y.readSVarint(),$Fe&&(Fe=$),aeyt&&(yt=ae);else if(I!==7)throw new Error(\"unknown command \"+I)}return[he,it,Fe,yt]},my.prototype.toGeoJSON=function(y,_,I){var V=this.extent*Math.pow(2,I),$=this.extent*y,ae=this.extent*_,he=this.loadGeometry(),Fe=my.types[this.type],it,yt;function Lt(hr){for(var Rr=0;Rr>3;_=V===1?y.readString():V===2?y.readFloat():V===3?y.readDouble():V===4?y.readVarint64():V===5?y.readVarint():V===6?y.readSVarint():V===7?y.readBoolean():null}return _}bS.prototype.feature=function(y){if(y<0||y>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[y];var _=this._pbf.readVarint()+this._pbf.pos;return new xS(this._pbf,_,this.extent,this._keys,this._values)};var WC=iq;function iq(y,_){this.layers=y.readFields(nq,{},_)}function nq(y,_,I){if(y===3){var V=new gg(I,I.readVarint()+I.pos);V.length&&(_[V.name]=V)}}var XC=WC,F1=xS,ZC=gg,mg={VectorTile:XC,VectorTileFeature:F1,VectorTileLayer:ZC},YC=mg.VectorTileFeature.types,Yw=500,z1=Math.pow(2,13);function dm(y,_,I,V,$,ae,he,Fe){y.emplaceBack(_,I,Math.floor(V*z1)*2+he,$*z1*2,ae*z1*2,Math.round(Fe))}var Vp=function(_){this.zoom=_.zoom,this.overscaling=_.overscaling,this.layers=_.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=_.index,this.hasPattern=!1,this.layoutVertexArray=new Ii,this.indexArray=new pn,this.programConfigurations=new ci(_.layers,_.zoom),this.segments=new io,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};Vp.prototype.populate=function(_,I,V){this.features=[],this.hasPattern=Zw(\"fill-extrusion\",this.layers,I);for(var $=0,ae=_;$=1){var xn=Hi[bn-1];if(!aq(rn,xn)){hr.vertexLength+4>io.MAX_VERTEX_ARRAY_LENGTH&&(hr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var In=rn.sub(xn)._perp()._unit(),Xn=xn.dist(rn);wi+Xn>32768&&(wi=0),dm(this.layoutVertexArray,rn.x,rn.y,In.x,In.y,0,0,wi),dm(this.layoutVertexArray,rn.x,rn.y,In.x,In.y,0,1,wi),wi+=Xn,dm(this.layoutVertexArray,xn.x,xn.y,In.x,In.y,0,0,wi),dm(this.layoutVertexArray,xn.x,xn.y,In.x,In.y,0,1,wi);var ga=hr.vertexLength;this.indexArray.emplaceBack(ga,ga+2,ga+1),this.indexArray.emplaceBack(ga+1,ga+2,ga+3),hr.vertexLength+=4,hr.primitiveLength+=2}}}}if(hr.vertexLength+yt>io.MAX_VERTEX_ARRAY_LENGTH&&(hr=this.segments.prepareSegment(yt,this.layoutVertexArray,this.indexArray)),YC[_.type]===\"Polygon\"){for(var ha=[],eo=[],za=hr.vertexLength,Za=0,Jo=it;ZaEi)||y.y===_.y&&(y.y<0||y.y>Ei)}function oq(y){return y.every(function(_){return _.x<0})||y.every(function(_){return _.x>Ei})||y.every(function(_){return _.y<0})||y.every(function(_){return _.y>Ei})}var q1=new Or({\"fill-extrusion-opacity\":new Me(Rn[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new bt(Rn[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Me(Rn[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Me(Rn[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Ot(Rn[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new bt(Rn[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new bt(Rn[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Me(Rn[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])}),ld={paint:q1},vm=function(y){function _(I){y.call(this,I,ld)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.createBucket=function(V){return new Vp(V)},_.prototype.queryRadius=function(){return Pv(this.paint.get(\"fill-extrusion-translate\"))},_.prototype.is3D=function(){return!0},_.prototype.queryIntersectsFeature=function(V,$,ae,he,Fe,it,yt,Lt){var sr=Jv(V,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),it.angle,yt),gr=this.paint.get(\"fill-extrusion-height\").evaluate($,ae),hr=this.paint.get(\"fill-extrusion-base\").evaluate($,ae),Rr=sq(sr,Lt,it,0),ni=TS(he,hr,gr,Lt),Hi=ni[0],wi=ni[1];return KC(Hi,wi,Rr)},_}(vi);function yy(y,_){return y.x*_.x+y.y*_.y}function wS(y,_){if(y.length===1){for(var I=0,V=_[I++],$;!$||V.equals($);)if($=_[I++],!$)return 1/0;for(;I<_.length;I++){var ae=_[I],he=y[0],Fe=$.sub(V),it=ae.sub(V),yt=he.sub(V),Lt=yy(Fe,Fe),sr=yy(Fe,it),gr=yy(it,it),hr=yy(yt,Fe),Rr=yy(yt,it),ni=Lt*gr-sr*sr,Hi=(gr*hr-sr*Rr)/ni,wi=(Lt*Rr-sr*hr)/ni,bn=1-Hi-wi,rn=V.z*bn+$.z*Hi+ae.z*wi;if(isFinite(rn))return rn}return 1/0}else{for(var xn=1/0,In=0,Xn=_;In=2&&_[yt-1].equals(_[yt-2]);)yt--;for(var Lt=0;Lt0;if(ha&&bn>Lt){var za=hr.dist(Rr);if(za>2*sr){var Za=hr.sub(hr.sub(Rr)._mult(sr/za)._round());this.updateDistance(Rr,Za),this.addCurrentVertex(Za,Hi,0,0,gr),Rr=Za}}var Jo=Rr&&ni,to=Jo?V:it?\"butt\":$;if(Jo&&to===\"round\"&&(Xnae&&(to=\"bevel\"),to===\"bevel\"&&(Xn>2&&(to=\"flipbevel\"),Xn100)rn=wi.mult(-1);else{var ao=Xn*Hi.add(wi).mag()/Hi.sub(wi).mag();rn._perp()._mult(ao*(eo?-1:1))}this.addCurrentVertex(hr,rn,0,0,gr),this.addCurrentVertex(hr,rn.mult(-1),0,0,gr)}else if(to===\"bevel\"||to===\"fakeround\"){var _s=-Math.sqrt(Xn*Xn-1),jo=eo?_s:0,El=eo?0:_s;if(Rr&&this.addCurrentVertex(hr,Hi,jo,El,gr),to===\"fakeround\")for(var Iu=Math.round(ga*180/Math.PI/SS),kl=1;kl2*sr){var ch=hr.add(ni.sub(hr)._mult(sr/$h)._round());this.updateDistance(hr,ch),this.addCurrentVertex(ch,wi,0,0,gr),hr=ch}}}}},sh.prototype.addCurrentVertex=function(_,I,V,$,ae,he){he===void 0&&(he=!1);var Fe=I.x+I.y*V,it=I.y-I.x*V,yt=-I.x+I.y*$,Lt=-I.y-I.x*$;this.addHalfVertex(_,Fe,it,he,!1,V,ae),this.addHalfVertex(_,yt,Lt,he,!0,-$,ae),this.distance>cb/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(_,I,V,$,ae,he))},sh.prototype.addHalfVertex=function(_,I,V,$,ae,he,Fe){var it=_.x,yt=_.y,Lt=this.lineClips?this.scaledDistance*(cb-1):this.scaledDistance,sr=Lt*Jw;if(this.layoutVertexArray.emplaceBack((it<<1)+($?1:0),(yt<<1)+(ae?1:0),Math.round(Kw*I)+128,Math.round(Kw*V)+128,(he===0?0:he<0?-1:1)+1|(sr&63)<<2,sr>>6),this.lineClips){var gr=this.scaledDistance-this.lineClips.start,hr=this.lineClips.end-this.lineClips.start,Rr=gr/hr;this.layoutVertexArray2.emplaceBack(Rr,this.lineClipsArray.length)}var ni=Fe.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,ni),Fe.primitiveLength++),ae?this.e2=ni:this.e1=ni},sh.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},sh.prototype.updateDistance=function(_,I){this.distance+=_.dist(I),this.updateScaledDistance()},X(\"LineBucket\",sh,{omit:[\"layers\",\"patternFeatures\"]});var MS=new Or({\"line-cap\":new Me(Rn.layout_line[\"line-cap\"]),\"line-join\":new bt(Rn.layout_line[\"line-join\"]),\"line-miter-limit\":new Me(Rn.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Me(Rn.layout_line[\"line-round-limit\"]),\"line-sort-key\":new bt(Rn.layout_line[\"line-sort-key\"])}),ES=new Or({\"line-opacity\":new bt(Rn.paint_line[\"line-opacity\"]),\"line-color\":new bt(Rn.paint_line[\"line-color\"]),\"line-translate\":new Me(Rn.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Me(Rn.paint_line[\"line-translate-anchor\"]),\"line-width\":new bt(Rn.paint_line[\"line-width\"]),\"line-gap-width\":new bt(Rn.paint_line[\"line-gap-width\"]),\"line-offset\":new bt(Rn.paint_line[\"line-offset\"]),\"line-blur\":new bt(Rn.paint_line[\"line-blur\"]),\"line-dasharray\":new Lr(Rn.paint_line[\"line-dasharray\"]),\"line-pattern\":new Ot(Rn.paint_line[\"line-pattern\"]),\"line-gradient\":new Vr(Rn.paint_line[\"line-gradient\"])}),$w={paint:ES,layout:MS},uq=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.possiblyEvaluate=function(V,$){return $=new Un(Math.floor($.zoom),{now:$.now,fadeDuration:$.fadeDuration,zoomHistory:$.zoomHistory,transition:$.transition}),y.prototype.possiblyEvaluate.call(this,V,$)},_.prototype.evaluate=function(V,$,ae,he){return $=x({},$,{zoom:Math.floor($.zoom)}),y.prototype.evaluate.call(this,V,$,ae,he)},_}(bt),R=new uq($w.paint.properties[\"line-width\"].specification);R.useIntegerZoom=!0;var A=function(y){function _(I){y.call(this,I,$w),this.gradientVersion=0}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._handleSpecialPaintPropertyUpdate=function(V){if(V===\"line-gradient\"){var $=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=$._styleExpression.expression instanceof _u,this.gradientVersion=(this.gradientVersion+1)%d}},_.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},_.prototype.recalculate=function(V,$){y.prototype.recalculate.call(this,V,$),this.paint._values[\"line-floorwidth\"]=R.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,V)},_.prototype.createBucket=function(V){return new sh(V)},_.prototype.queryRadius=function(V){var $=V,ae=F(Ad(\"line-width\",this,$),Ad(\"line-gap-width\",this,$)),he=Ad(\"line-offset\",this,$);return ae/2+Math.abs(he)+Pv(this.paint.get(\"line-translate\"))},_.prototype.queryIntersectsFeature=function(V,$,ae,he,Fe,it,yt){var Lt=Jv(V,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),it.angle,yt),sr=yt/2*F(this.paint.get(\"line-width\").evaluate($,ae),this.paint.get(\"line-gap-width\").evaluate($,ae)),gr=this.paint.get(\"line-offset\").evaluate($,ae);return gr&&(he=W(he,gr*yt)),ou(Lt,he,sr)},_.prototype.isTileClipped=function(){return!0},_}(vi);function F(y,_){return _>0?_+2*y:y}function W(y,_){for(var I=[],V=new u(0,0),$=0;$\":\"\\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\"};function ln(y){for(var _=\"\",I=0;I>1,Lt=-7,sr=I?$-1:0,gr=I?-1:1,hr=y[_+sr];for(sr+=gr,ae=hr&(1<<-Lt)-1,hr>>=-Lt,Lt+=Fe;Lt>0;ae=ae*256+y[_+sr],sr+=gr,Lt-=8);for(he=ae&(1<<-Lt)-1,ae>>=-Lt,Lt+=V;Lt>0;he=he*256+y[_+sr],sr+=gr,Lt-=8);if(ae===0)ae=1-yt;else{if(ae===it)return he?NaN:(hr?-1:1)*(1/0);he=he+Math.pow(2,V),ae=ae-yt}return(hr?-1:1)*he*Math.pow(2,ae-V)},ro=function(y,_,I,V,$,ae){var he,Fe,it,yt=ae*8-$-1,Lt=(1<>1,gr=$===23?Math.pow(2,-24)-Math.pow(2,-77):0,hr=V?0:ae-1,Rr=V?1:-1,ni=_<0||_===0&&1/_<0?1:0;for(_=Math.abs(_),isNaN(_)||_===1/0?(Fe=isNaN(_)?1:0,he=Lt):(he=Math.floor(Math.log(_)/Math.LN2),_*(it=Math.pow(2,-he))<1&&(he--,it*=2),he+sr>=1?_+=gr/it:_+=gr*Math.pow(2,1-sr),_*it>=2&&(he++,it/=2),he+sr>=Lt?(Fe=0,he=Lt):he+sr>=1?(Fe=(_*it-1)*Math.pow(2,$),he=he+sr):(Fe=_*Math.pow(2,sr-1)*Math.pow(2,$),he=0));$>=8;y[I+hr]=Fe&255,hr+=Rr,Fe/=256,$-=8);for(he=he<<$|Fe,yt+=$;yt>0;y[I+hr]=he&255,hr+=Rr,he/=256,yt-=8);y[I+hr-Rr]|=ni*128},Vo={read:pa,write:ro},Xa=la;function la(y){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(y)?y:new Uint8Array(y||0),this.pos=0,this.type=0,this.length=this.buf.length}la.Varint=0,la.Fixed64=1,la.Bytes=2,la.Fixed32=5;var Mo=65536*65536,fo=1/Mo,lo=12,Wn=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf8\");la.prototype={destroy:function(){this.buf=null},readFields:function(y,_,I){for(I=I||this.length;this.pos>3,ae=this.pos;this.type=V&7,y($,_,this),this.pos===ae&&this.skip(V)}return _},readMessage:function(y,_){return this.readFields(y,_,this.readVarint()+this.pos)},readFixed32:function(){var y=Yh(this.buf,this.pos);return this.pos+=4,y},readSFixed32:function(){var y=Fv(this.buf,this.pos);return this.pos+=4,y},readFixed64:function(){var y=Yh(this.buf,this.pos)+Yh(this.buf,this.pos+4)*Mo;return this.pos+=8,y},readSFixed64:function(){var y=Yh(this.buf,this.pos)+Fv(this.buf,this.pos+4)*Mo;return this.pos+=8,y},readFloat:function(){var y=Vo.read(this.buf,this.pos,!0,23,4);return this.pos+=4,y},readDouble:function(){var y=Vo.read(this.buf,this.pos,!0,52,8);return this.pos+=8,y},readVarint:function(y){var _=this.buf,I,V;return V=_[this.pos++],I=V&127,V<128||(V=_[this.pos++],I|=(V&127)<<7,V<128)||(V=_[this.pos++],I|=(V&127)<<14,V<128)||(V=_[this.pos++],I|=(V&127)<<21,V<128)?I:(V=_[this.pos],I|=(V&15)<<28,Ro(I,y,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var y=this.readVarint();return y%2===1?(y+1)/-2:y/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var y=this.readVarint()+this.pos,_=this.pos;return this.pos=y,y-_>=lo&&Wn?ru(this.buf,_,y):lv(this.buf,_,y)},readBytes:function(){var y=this.readVarint()+this.pos,_=this.buf.subarray(this.pos,y);return this.pos=y,_},readPackedVarint:function(y,_){if(this.type!==la.Bytes)return y.push(this.readVarint(_));var I=uo(this);for(y=y||[];this.pos127;);else if(_===la.Bytes)this.pos=this.readVarint()+this.pos;else if(_===la.Fixed32)this.pos+=4;else if(_===la.Fixed64)this.pos+=8;else throw new Error(\"Unimplemented type: \"+_)},writeTag:function(y,_){this.writeVarint(y<<3|_)},realloc:function(y){for(var _=this.length||16;_268435455||y<0){Ju(y,this);return}this.realloc(4),this.buf[this.pos++]=y&127|(y>127?128:0),!(y<=127)&&(this.buf[this.pos++]=(y>>>=7)&127|(y>127?128:0),!(y<=127)&&(this.buf[this.pos++]=(y>>>=7)&127|(y>127?128:0),!(y<=127)&&(this.buf[this.pos++]=y>>>7&127)))},writeSVarint:function(y){this.writeVarint(y<0?-y*2-1:y*2)},writeBoolean:function(y){this.writeVarint(!!y)},writeString:function(y){y=String(y),this.realloc(y.length*4),this.pos++;var _=this.pos;this.pos=pc(this.buf,y,this.pos);var I=this.pos-_;I>=128&&Qv(_,I,this),this.pos=_-1,this.writeVarint(I),this.pos+=I},writeFloat:function(y){this.realloc(4),Vo.write(this.buf,y,this.pos,!0,23,4),this.pos+=4},writeDouble:function(y){this.realloc(8),Vo.write(this.buf,y,this.pos,!0,52,8),this.pos+=8},writeBytes:function(y){var _=y.length;this.writeVarint(_),this.realloc(_);for(var I=0;I<_;I++)this.buf[this.pos++]=y[I]},writeRawMessage:function(y,_){this.pos++;var I=this.pos;y(_,this);var V=this.pos-I;V>=128&&Qv(I,V,this),this.pos=I-1,this.writeVarint(V),this.pos+=V},writeMessage:function(y,_,I){this.writeTag(y,la.Bytes),this.writeRawMessage(_,I)},writePackedVarint:function(y,_){_.length&&this.writeMessage(y,ud,_)},writePackedSVarint:function(y,_){_.length&&this.writeMessage(y,Ch,_)},writePackedBoolean:function(y,_){_.length&&this.writeMessage(y,Hd,_)},writePackedFloat:function(y,_){_.length&&this.writeMessage(y,Vd,_)},writePackedDouble:function(y,_){_.length&&this.writeMessage(y,Gd,_)},writePackedFixed32:function(y,_){_.length&&this.writeMessage(y,Af,_)},writePackedSFixed32:function(y,_){_.length&&this.writeMessage(y,Lh,_)},writePackedFixed64:function(y,_){_.length&&this.writeMessage(y,Ed,_)},writePackedSFixed64:function(y,_){_.length&&this.writeMessage(y,cd,_)},writeBytesField:function(y,_){this.writeTag(y,la.Bytes),this.writeBytes(_)},writeFixed32Field:function(y,_){this.writeTag(y,la.Fixed32),this.writeFixed32(_)},writeSFixed32Field:function(y,_){this.writeTag(y,la.Fixed32),this.writeSFixed32(_)},writeFixed64Field:function(y,_){this.writeTag(y,la.Fixed64),this.writeFixed64(_)},writeSFixed64Field:function(y,_){this.writeTag(y,la.Fixed64),this.writeSFixed64(_)},writeVarintField:function(y,_){this.writeTag(y,la.Varint),this.writeVarint(_)},writeSVarintField:function(y,_){this.writeTag(y,la.Varint),this.writeSVarint(_)},writeStringField:function(y,_){this.writeTag(y,la.Bytes),this.writeString(_)},writeFloatField:function(y,_){this.writeTag(y,la.Fixed32),this.writeFloat(_)},writeDoubleField:function(y,_){this.writeTag(y,la.Fixed64),this.writeDouble(_)},writeBooleanField:function(y,_){this.writeVarintField(y,!!_)}};function Ro(y,_,I){var V=I.buf,$,ae;if(ae=V[I.pos++],$=(ae&112)>>4,ae<128||(ae=V[I.pos++],$|=(ae&127)<<3,ae<128)||(ae=V[I.pos++],$|=(ae&127)<<10,ae<128)||(ae=V[I.pos++],$|=(ae&127)<<17,ae<128)||(ae=V[I.pos++],$|=(ae&127)<<24,ae<128)||(ae=V[I.pos++],$|=(ae&1)<<31,ae<128))return $o(y,$,_);throw new Error(\"Expected varint not more than 10 bytes\")}function uo(y){return y.type===la.Bytes?y.readVarint()+y.pos:y.pos+1}function $o(y,_,I){return I?_*4294967296+(y>>>0):(_>>>0)*4294967296+(y>>>0)}function Ju(y,_){var I,V;if(y>=0?(I=y%4294967296|0,V=y/4294967296|0):(I=~(-y%4294967296),V=~(-y/4294967296),I^4294967295?I=I+1|0:(I=0,V=V+1|0)),y>=18446744073709552e3||y<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");_.realloc(10),Ou(I,V,_),kh(V,_)}function Ou(y,_,I){I.buf[I.pos++]=y&127|128,y>>>=7,I.buf[I.pos++]=y&127|128,y>>>=7,I.buf[I.pos++]=y&127|128,y>>>=7,I.buf[I.pos++]=y&127|128,y>>>=7,I.buf[I.pos]=y&127}function kh(y,_){var I=(y&7)<<4;_.buf[_.pos++]|=I|((y>>>=3)?128:0),y&&(_.buf[_.pos++]=y&127|((y>>>=7)?128:0),y&&(_.buf[_.pos++]=y&127|((y>>>=7)?128:0),y&&(_.buf[_.pos++]=y&127|((y>>>=7)?128:0),y&&(_.buf[_.pos++]=y&127|((y>>>=7)?128:0),y&&(_.buf[_.pos++]=y&127)))))}function Qv(y,_,I){var V=_<=16383?1:_<=2097151?2:_<=268435455?3:Math.floor(Math.log(_)/(Math.LN2*7));I.realloc(V);for(var $=I.pos-1;$>=y;$--)I.buf[$+V]=I.buf[$]}function ud(y,_){for(var I=0;I>>8,y[I+2]=_>>>16,y[I+3]=_>>>24}function Fv(y,_){return(y[_]|y[_+1]<<8|y[_+2]<<16)+(y[_+3]<<24)}function lv(y,_,I){for(var V=\"\",$=_;$239?4:ae>223?3:ae>191?2:1;if($+Fe>I)break;var it,yt,Lt;Fe===1?ae<128&&(he=ae):Fe===2?(it=y[$+1],(it&192)===128&&(he=(ae&31)<<6|it&63,he<=127&&(he=null))):Fe===3?(it=y[$+1],yt=y[$+2],(it&192)===128&&(yt&192)===128&&(he=(ae&15)<<12|(it&63)<<6|yt&63,(he<=2047||he>=55296&&he<=57343)&&(he=null))):Fe===4&&(it=y[$+1],yt=y[$+2],Lt=y[$+3],(it&192)===128&&(yt&192)===128&&(Lt&192)===128&&(he=(ae&15)<<18|(it&63)<<12|(yt&63)<<6|Lt&63,(he<=65535||he>=1114112)&&(he=null))),he===null?(he=65533,Fe=1):he>65535&&(he-=65536,V+=String.fromCharCode(he>>>10&1023|55296),he=56320|he&1023),V+=String.fromCharCode(he),$+=Fe}return V}function ru(y,_,I){return Wn.decode(y.subarray(_,I))}function pc(y,_,I){for(var V=0,$,ae;V<_.length;V++){if($=_.charCodeAt(V),$>55295&&$<57344)if(ae)if($<56320){y[I++]=239,y[I++]=191,y[I++]=189,ae=$;continue}else $=ae-55296<<10|$-56320|65536,ae=null;else{$>56319||V+1===_.length?(y[I++]=239,y[I++]=191,y[I++]=189):ae=$;continue}else ae&&(y[I++]=239,y[I++]=191,y[I++]=189,ae=null);$<128?y[I++]=$:($<2048?y[I++]=$>>6|192:($<65536?y[I++]=$>>12|224:(y[I++]=$>>18|240,y[I++]=$>>12&63|128),y[I++]=$>>6&63|128),y[I++]=$&63|128)}return I}var $u=3;function zv(y,_,I){y===1&&I.readMessage(ff,_)}function ff(y,_,I){if(y===3){var V=I.readMessage(O1,{}),$=V.id,ae=V.bitmap,he=V.width,Fe=V.height,it=V.left,yt=V.top,Lt=V.advance;_.push({id:$,bitmap:new Dv({width:he+2*$u,height:Fe+2*$u},ae),metrics:{width:he,height:Fe,left:it,top:yt,advance:Lt}})}}function O1(y,_,I){y===1?_.id=I.readVarint():y===2?_.bitmap=I.readBytes():y===3?_.width=I.readVarint():y===4?_.height=I.readVarint():y===5?_.left=I.readSVarint():y===6?_.top=I.readSVarint():y===7&&(_.advance=I.readVarint())}function p0(y){return new Xa(y).readFields(zv,[])}var Gp=$u;function ep(y){for(var _=0,I=0,V=0,$=y;V<$.length;V+=1){var ae=$[V];_+=ae.w*ae.h,I=Math.max(I,ae.w)}y.sort(function(Hi,wi){return wi.h-Hi.h});for(var he=Math.max(Math.ceil(Math.sqrt(_/.95)),I),Fe=[{x:0,y:0,w:he,h:1/0}],it=0,yt=0,Lt=0,sr=y;Lt=0;hr--){var Rr=Fe[hr];if(!(gr.w>Rr.w||gr.h>Rr.h)){if(gr.x=Rr.x,gr.y=Rr.y,yt=Math.max(yt,gr.y+gr.h),it=Math.max(it,gr.x+gr.w),gr.w===Rr.w&&gr.h===Rr.h){var ni=Fe.pop();hr=0&&$>=_&&m0[this.text.charCodeAt($)];$--)V--;this.text=this.text.substring(_,V),this.sectionIndex=this.sectionIndex.slice(_,V)},Kh.prototype.substring=function(_,I){var V=new Kh;return V.text=this.text.substring(_,I),V.sectionIndex=this.sectionIndex.slice(_,I),V.sections=this.sections,V},Kh.prototype.toString=function(){return this.text},Kh.prototype.getMaxScale=function(){var _=this;return this.sectionIndex.reduce(function(I,V){return Math.max(I,_.sections[V].scale)},0)},Kh.prototype.addTextSection=function(_,I){this.text+=_.text,this.sections.push(_y.forText(_.scale,_.fontStack||I));for(var V=this.sections.length-1,$=0;$<_.text.length;++$)this.sectionIndex.push(V)},Kh.prototype.addImageSection=function(_){var I=_.image?_.image.name:\"\";if(I.length===0){re(\"Can't add FormattedSection with an empty image.\");return}var V=this.getNextImageSectionCharCode();if(!V){re(\"Reached maximum number of images \"+(g0-Qw+2));return}this.text+=String.fromCharCode(V),this.sections.push(_y.forImage(I)),this.sectionIndex.push(this.sections.length-1)},Kh.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=g0?null:++this.imageSectionID:(this.imageSectionID=Qw,this.imageSectionID)};function cq(y,_){for(var I=[],V=y.text,$=0,ae=0,he=_;ae=0,Lt=0,sr=0;sr0&&ch>eo&&(eo=ch)}else{var Cl=I[Za.fontStack],yl=Cl&&Cl[to];if(yl&&yl.rect)jo=yl.rect,_s=yl.metrics;else{var Qu=_[Za.fontStack],gc=Qu&&Qu[to];if(!gc)continue;_s=gc.metrics}ao=(In-Za.scale)*Tn}kl?(y.verticalizable=!0,ha.push({glyph:to,imageName:El,x:gr,y:hr+ao,vertical:kl,scale:Za.scale,fontStack:Za.fontStack,sectionIndex:Jo,metrics:_s,rect:jo}),gr+=Iu*Za.scale+yt):(ha.push({glyph:to,imageName:El,x:gr,y:hr+ao,vertical:kl,scale:Za.scale,fontStack:Za.fontStack,sectionIndex:Jo,metrics:_s,rect:jo}),gr+=_s.advance*Za.scale+yt)}if(ha.length!==0){var Wd=gr-yt;Rr=Math.max(Wd,Rr),vq(ha,0,ha.length-1,Hi,eo)}gr=0;var Xd=ae*In+eo;ga.lineOffset=Math.max(eo,Xn),hr+=Xd,ni=Math.max(Xd,ni),++wi}var Qh=hr-B1,fv=CS(he),hv=fv.horizontalAlign,Ph=fv.verticalAlign;kd(y.positionedLines,Hi,hv,Ph,Rr,ni,ae,Qh,$.length),y.top+=-Ph*Qh,y.bottom=y.top+Qh,y.left+=-hv*Rr,y.right=y.left+Rr}function vq(y,_,I,V,$){if(!(!V&&!$))for(var ae=y[I],he=ae.metrics.advance*ae.scale,Fe=(y[I].x+he)*V,it=_;it<=I;it++)y[it].x-=Fe,y[it].y+=$}function kd(y,_,I,V,$,ae,he,Fe,it){var yt=(_-I)*$,Lt=0;ae!==he?Lt=-Fe*V-B1:Lt=(-V*it+.5)*he;for(var sr=0,gr=y;sr-I/2;){if(he--,he<0)return!1;Fe-=y[he].dist(ae),ae=y[he]}Fe+=y[he].dist(y[he+1]),he++;for(var it=[],yt=0;FeV;)yt-=it.shift().angleDelta;if(yt>$)return!1;he++,Fe+=sr.dist(gr)}return!0}function VQ(y){for(var _=0,I=0;Iyt){var Rr=(yt-it)/hr,ni=nl(sr.x,gr.x,Rr),Hi=nl(sr.y,gr.y,Rr),wi=new jd(ni,Hi,gr.angleTo(sr),Lt);return wi._round(),!he||UQ(y,wi,Fe,he,_)?wi:void 0}it+=hr}}function qet(y,_,I,V,$,ae,he,Fe,it){var yt=GQ(V,ae,he),Lt=HQ(V,$),sr=Lt*he,gr=y[0].x===0||y[0].x===it||y[0].y===0||y[0].y===it;_-sr<_/4&&(_=sr+_/4);var hr=ae*2,Rr=gr?_/2*Fe%_:(Lt/2+hr)*he*Fe%_;return jQ(y,Rr,_,yt,I,sr,gr,!1,it)}function jQ(y,_,I,V,$,ae,he,Fe,it){for(var yt=ae/2,Lt=VQ(y),sr=0,gr=_-I,hr=[],Rr=0;Rr=0&&xn=0&&In=0&&gr+yt<=Lt){var Xn=new jd(xn,In,bn,Rr);Xn._round(),(!V||UQ(y,Xn,ae,V,$))&&hr.push(Xn)}}sr+=wi}return!Fe&&!hr.length&&!he&&(hr=jQ(y,sr/2,I,V,$,ae,he,!0,it)),hr}function WQ(y,_,I,V,$){for(var ae=[],he=0;he=V&&sr.x>=V)&&(Lt.x>=V?Lt=new u(V,Lt.y+(sr.y-Lt.y)*((V-Lt.x)/(sr.x-Lt.x)))._round():sr.x>=V&&(sr=new u(V,Lt.y+(sr.y-Lt.y)*((V-Lt.x)/(sr.x-Lt.x)))._round()),!(Lt.y>=$&&sr.y>=$)&&(Lt.y>=$?Lt=new u(Lt.x+(sr.x-Lt.x)*(($-Lt.y)/(sr.y-Lt.y)),$)._round():sr.y>=$&&(sr=new u(Lt.x+(sr.x-Lt.x)*(($-Lt.y)/(sr.y-Lt.y)),$)._round()),(!it||!Lt.equals(it[it.length-1]))&&(it=[Lt],ae.push(it)),it.push(sr)))))}return ae}var r3=Gc;function XQ(y,_,I,V){var $=[],ae=y.image,he=ae.pixelRatio,Fe=ae.paddedRect.w-2*r3,it=ae.paddedRect.h-2*r3,yt=y.right-y.left,Lt=y.bottom-y.top,sr=ae.stretchX||[[0,Fe]],gr=ae.stretchY||[[0,it]],hr=function(Cl,yl){return Cl+yl[1]-yl[0]},Rr=sr.reduce(hr,0),ni=gr.reduce(hr,0),Hi=Fe-Rr,wi=it-ni,bn=0,rn=Rr,xn=0,In=ni,Xn=0,ga=Hi,ha=0,eo=wi;if(ae.content&&V){var za=ae.content;bn=n6(sr,0,za[0]),xn=n6(gr,0,za[1]),rn=n6(sr,za[0],za[2]),In=n6(gr,za[1],za[3]),Xn=za[0]-bn,ha=za[1]-xn,ga=za[2]-za[0]-rn,eo=za[3]-za[1]-In}var Za=function(Cl,yl,Qu,gc){var Sf=a6(Cl.stretch-bn,rn,yt,y.left),Ff=o6(Cl.fixed-Xn,ga,Cl.stretch,Rr),$h=a6(yl.stretch-xn,In,Lt,y.top),ch=o6(yl.fixed-ha,eo,yl.stretch,ni),Wd=a6(Qu.stretch-bn,rn,yt,y.left),Xd=o6(Qu.fixed-Xn,ga,Qu.stretch,Rr),Qh=a6(gc.stretch-xn,In,Lt,y.top),fv=o6(gc.fixed-ha,eo,gc.stretch,ni),hv=new u(Sf,$h),Ph=new u(Wd,$h),dv=new u(Wd,Qh),bp=new u(Sf,Qh),wy=new u(Ff/he,ch/he),V1=new u(Xd/he,fv/he),G1=_*Math.PI/180;if(G1){var H1=Math.sin(G1),c3=Math.cos(G1),y0=[c3,-H1,H1,c3];hv._matMult(y0),Ph._matMult(y0),bp._matMult(y0),dv._matMult(y0)}var h6=Cl.stretch+Cl.fixed,wq=Qu.stretch+Qu.fixed,d6=yl.stretch+yl.fixed,Tq=gc.stretch+gc.fixed,Hp={x:ae.paddedRect.x+r3+h6,y:ae.paddedRect.y+r3+d6,w:wq-h6,h:Tq-d6},f3=ga/he/yt,v6=eo/he/Lt;return{tl:hv,tr:Ph,bl:bp,br:dv,tex:Hp,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:wy,pixelOffsetBR:V1,minFontScaleX:f3,minFontScaleY:v6,isSDF:I}};if(!V||!ae.stretchX&&!ae.stretchY)$.push(Za({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:Fe+1},{fixed:0,stretch:it+1}));else for(var Jo=ZQ(sr,Hi,Rr),to=ZQ(gr,wi,ni),ao=0;ao0&&(Rr=Math.max(10,Rr),this.circleDiameter=Rr)}else{var ni=he.top*Fe-it,Hi=he.bottom*Fe+it,wi=he.left*Fe-it,bn=he.right*Fe+it,rn=he.collisionPadding;if(rn&&(wi-=rn[0]*Fe,ni-=rn[1]*Fe,bn+=rn[2]*Fe,Hi+=rn[3]*Fe),Lt){var xn=new u(wi,ni),In=new u(bn,ni),Xn=new u(wi,Hi),ga=new u(bn,Hi),ha=Lt*Math.PI/180;xn._rotate(ha),In._rotate(ha),Xn._rotate(ha),ga._rotate(ha),wi=Math.min(xn.x,In.x,Xn.x,ga.x),bn=Math.max(xn.x,In.x,Xn.x,ga.x),ni=Math.min(xn.y,In.y,Xn.y,ga.y),Hi=Math.max(xn.y,In.y,Xn.y,ga.y)}_.emplaceBack(I.x,I.y,wi,ni,bn,Hi,V,$,ae)}this.boxEndIndex=_.length},i3=function(_,I){if(_===void 0&&(_=[]),I===void 0&&(I=Bet),this.data=_,this.length=this.data.length,this.compare=I,this.length>0)for(var V=(this.length>>1)-1;V>=0;V--)this._down(V)};i3.prototype.push=function(_){this.data.push(_),this.length++,this._up(this.length-1)},i3.prototype.pop=function(){if(this.length!==0){var _=this.data[0],I=this.data.pop();return this.length--,this.length>0&&(this.data[0]=I,this._down(0)),_}},i3.prototype.peek=function(){return this.data[0]},i3.prototype._up=function(_){for(var I=this,V=I.data,$=I.compare,ae=V[_];_>0;){var he=_-1>>1,Fe=V[he];if($(ae,Fe)>=0)break;V[_]=Fe,_=he}V[_]=ae},i3.prototype._down=function(_){for(var I=this,V=I.data,$=I.compare,ae=this.length>>1,he=V[_];_=0)break;V[_]=it,_=Fe}V[_]=he};function Bet(y,_){return y<_?-1:y>_?1:0}function Net(y,_,I){_===void 0&&(_=1),I===void 0&&(I=!1);for(var V=1/0,$=1/0,ae=-1/0,he=-1/0,Fe=y[0],it=0;itae)&&(ae=yt.x),(!it||yt.y>he)&&(he=yt.y)}var Lt=ae-V,sr=he-$,gr=Math.min(Lt,sr),hr=gr/2,Rr=new i3([],Uet);if(gr===0)return new u(V,$);for(var ni=V;niwi.d||!wi.d)&&(wi=rn,I&&console.log(\"found best %d after %d probes\",Math.round(1e4*rn.d)/1e4,bn)),!(rn.max-wi.d<=_)&&(hr=rn.h/2,Rr.push(new n3(rn.p.x-hr,rn.p.y-hr,hr,y)),Rr.push(new n3(rn.p.x+hr,rn.p.y-hr,hr,y)),Rr.push(new n3(rn.p.x-hr,rn.p.y+hr,hr,y)),Rr.push(new n3(rn.p.x+hr,rn.p.y+hr,hr,y)),bn+=4)}return I&&(console.log(\"num probes: \"+bn),console.log(\"best distance: \"+wi.d)),wi.p}function Uet(y,_){return _.max-y.max}function n3(y,_,I,V){this.p=new u(y,_),this.h=I,this.d=Vet(this.p,V),this.max=this.d+this.h*Math.SQRT2}function Vet(y,_){for(var I=!1,V=1/0,$=0;$<_.length;$++)for(var ae=_[$],he=0,Fe=ae.length,it=Fe-1;hey.y!=Lt.y>y.y&&y.x<(Lt.x-yt.x)*(y.y-yt.y)/(Lt.y-yt.y)+yt.x&&(I=!I),V=Math.min(V,hg(y,yt,Lt))}return(I?1:-1)*Math.sqrt(V)}function Get(y){for(var _=0,I=0,V=0,$=y[0],ae=0,he=$.length,Fe=he-1;ae=Ei||y0.y<0||y0.y>=Ei||Wet(y,y0,c3,I,V,$,to,y.layers[0],y.collisionBoxArray,_.index,_.sourceLayerIndex,y.index,wi,In,ha,it,rn,Xn,eo,hr,_,ae,yt,Lt,he)};if(za===\"line\")for(var _s=0,jo=WQ(_.geometry,0,0,Ei,Ei);_s1){var $h=zet(Ff,ga,I.vertical||Rr,V,ni,bn);$h&&ao(Ff,$h)}}else if(_.type===\"Polygon\")for(var ch=0,Wd=Xw(_.geometry,0);chN1&&re(y.layerIds[0]+': Value for \"text-size\" is >= '+LS+'. Reduce your \"text-size\".')):Hi.kind===\"composite\"&&(wi=[Cd*hr.compositeTextSizes[0].evaluate(he,{},Rr),Cd*hr.compositeTextSizes[1].evaluate(he,{},Rr)],(wi[0]>N1||wi[1]>N1)&&re(y.layerIds[0]+': Value for \"text-size\" is >= '+LS+'. Reduce your \"text-size\".')),y.addSymbols(y.text,ni,wi,Fe,ae,he,yt,_,it.lineStartIndex,it.lineLength,gr,Rr);for(var bn=0,rn=Lt;bnN1&&re(y.layerIds[0]+': Value for \"icon-size\" is >= '+LS+'. Reduce your \"icon-size\".')):hv.kind===\"composite\"&&(Ph=[Cd*In.compositeIconSizes[0].evaluate(xn,{},ga),Cd*In.compositeIconSizes[1].evaluate(xn,{},ga)],(Ph[0]>N1||Ph[1]>N1)&&re(y.layerIds[0]+': Value for \"icon-size\" is >= '+LS+'. Reduce your \"icon-size\".')),y.addSymbols(y.icon,Qh,Ph,rn,bn,xn,!1,_,za.lineStartIndex,za.lineLength,-1,ga),kl=y.icon.placedSymbolArray.length-1,fv&&(jo=fv.length*4,y.addSymbols(y.icon,fv,Ph,rn,bn,xn,uv.vertical,_,za.lineStartIndex,za.lineLength,-1,ga),Cl=y.icon.placedSymbolArray.length-1)}for(var dv in V.horizontal){var bp=V.horizontal[dv];if(!Za){Qu=K(bp.text);var wy=Fe.layout.get(\"text-rotate\").evaluate(xn,{},ga);Za=new s6(it,_,yt,Lt,sr,bp,gr,hr,Rr,wy)}var V1=bp.positionedLines.length===1;if(El+=KQ(y,_,bp,ae,Fe,Rr,xn,ni,za,V.vertical?uv.horizontal:uv.horizontalOnly,V1?Object.keys(V.horizontal):[dv],yl,kl,In,ga),V1)break}V.vertical&&(Iu+=KQ(y,_,V.vertical,ae,Fe,Rr,xn,ni,za,uv.vertical,[\"vertical\"],yl,Cl,In,ga));var G1=Za?Za.boxStartIndex:y.collisionBoxArray.length,H1=Za?Za.boxEndIndex:y.collisionBoxArray.length,c3=to?to.boxStartIndex:y.collisionBoxArray.length,y0=to?to.boxEndIndex:y.collisionBoxArray.length,h6=Jo?Jo.boxStartIndex:y.collisionBoxArray.length,wq=Jo?Jo.boxEndIndex:y.collisionBoxArray.length,d6=ao?ao.boxStartIndex:y.collisionBoxArray.length,Tq=ao?ao.boxEndIndex:y.collisionBoxArray.length,Hp=-1,f3=function(RS,dee){return RS&&RS.circleDiameter?Math.max(RS.circleDiameter,dee):dee};Hp=f3(Za,Hp),Hp=f3(to,Hp),Hp=f3(Jo,Hp),Hp=f3(ao,Hp);var v6=Hp>-1?1:0;v6&&(Hp*=ha/Tn),y.glyphOffsetArray.length>=Pu.MAX_GLYPHS&&re(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),xn.sortKey!==void 0&&y.addToSortKeyRanges(y.symbolInstances.length,xn.sortKey),y.symbolInstances.emplaceBack(_.x,_.y,yl.right>=0?yl.right:-1,yl.center>=0?yl.center:-1,yl.left>=0?yl.left:-1,yl.vertical||-1,kl,Cl,Qu,G1,H1,c3,y0,h6,wq,d6,Tq,yt,El,Iu,_s,jo,v6,0,gr,gc,Sf,Hp)}function Xet(y,_,I,V){var $=y.compareText;if(!(_ in $))$[_]=[];else for(var ae=$[_],he=ae.length-1;he>=0;he--)if(V.dist(ae[he])0)&&(he.value.kind!==\"constant\"||he.value.value.length>0),Lt=it.value.kind!==\"constant\"||!!it.value.value||Object.keys(it.parameters).length>0,sr=ae.get(\"symbol-sort-key\");if(this.features=[],!(!yt&&!Lt)){for(var gr=I.iconDependencies,hr=I.glyphDependencies,Rr=I.availableImages,ni=new Un(this.zoom),Hi=0,wi=_;Hi=0;for(var Iu=0,kl=eo.sections;Iu=0;it--)he[it]={x:I[it].x,y:I[it].y,tileUnitDistanceFromAnchor:ae},it>0&&(ae+=I[it-1].dist(I[it]));for(var yt=0;yt0},Pu.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Pu.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Pu.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Pu.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Pu.prototype.addIndicesForPlacedSymbol=function(_,I){for(var V=_.placedSymbolArray.get(I),$=V.vertexStartIndex+V.numGlyphs*4,ae=V.vertexStartIndex;ae<$;ae+=4)_.indexArray.emplaceBack(ae,ae+1,ae+2),_.indexArray.emplaceBack(ae+1,ae+2,ae+3)},Pu.prototype.getSortedSymbolIndexes=function(_){if(this.sortedAngle===_&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;for(var I=Math.sin(_),V=Math.cos(_),$=[],ae=[],he=[],Fe=0;Fe1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(_),this.sortedAngle=_,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var V=0,$=this.symbolInstanceIndexes;V<$.length;V+=1){var ae=$[V],he=this.symbolInstances.get(ae);this.featureSortOrder.push(he.featureIndex),[he.rightJustifiedTextSymbolIndex,he.centerJustifiedTextSymbolIndex,he.leftJustifiedTextSymbolIndex].forEach(function(Fe,it,yt){Fe>=0&&yt.indexOf(Fe)===it&&I.addIndicesForPlacedSymbol(I.text,Fe)}),he.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,he.verticalPlacedTextSymbolIndex),he.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,he.placedIconSymbolIndex),he.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,he.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},X(\"SymbolBucket\",Pu,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),Pu.MAX_GLYPHS=65535,Pu.addDynamicAttributes=mq;function Jet(y,_){return _.replace(/{([^{}]+)}/g,function(I,V){return V in y?String(y[V]):\"\"})}var $et=new Or({\"symbol-placement\":new Me(Rn.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Me(Rn.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Me(Rn.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new bt(Rn.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Me(Rn.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Me(Rn.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new Me(Rn.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Me(Rn.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Me(Rn.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new bt(Rn.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Me(Rn.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Me(Rn.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new bt(Rn.layout_symbol[\"icon-image\"]),\"icon-rotate\":new bt(Rn.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Me(Rn.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Me(Rn.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new bt(Rn.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new bt(Rn.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Me(Rn.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Me(Rn.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Me(Rn.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new bt(Rn.layout_symbol[\"text-field\"]),\"text-font\":new bt(Rn.layout_symbol[\"text-font\"]),\"text-size\":new bt(Rn.layout_symbol[\"text-size\"]),\"text-max-width\":new bt(Rn.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Me(Rn.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new bt(Rn.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new bt(Rn.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new bt(Rn.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Me(Rn.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new bt(Rn.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Me(Rn.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Me(Rn.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new bt(Rn.layout_symbol[\"text-rotate\"]),\"text-padding\":new Me(Rn.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Me(Rn.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new bt(Rn.layout_symbol[\"text-transform\"]),\"text-offset\":new bt(Rn.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Me(Rn.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new Me(Rn.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Me(Rn.layout_symbol[\"text-optional\"])}),Qet=new Or({\"icon-opacity\":new bt(Rn.paint_symbol[\"icon-opacity\"]),\"icon-color\":new bt(Rn.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new bt(Rn.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new bt(Rn.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new bt(Rn.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Me(Rn.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Me(Rn.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new bt(Rn.paint_symbol[\"text-opacity\"]),\"text-color\":new bt(Rn.paint_symbol[\"text-color\"],{runtimeType:Ol,getOverride:function(y){return y.textColor},hasOverride:function(y){return!!y.textColor}}),\"text-halo-color\":new bt(Rn.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new bt(Rn.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new bt(Rn.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Me(Rn.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Me(Rn.paint_symbol[\"text-translate-anchor\"])}),yq={paint:Qet,layout:$et},s3=function(_){this.type=_.property.overrides?_.property.overrides.runtimeType:ac,this.defaultValue=_};s3.prototype.evaluate=function(_){if(_.formattedSection){var I=this.defaultValue.property.overrides;if(I&&I.hasOverride(_.formattedSection))return I.getOverride(_.formattedSection)}return _.feature&&_.featureState?this.defaultValue.evaluate(_.feature,_.featureState):this.defaultValue.property.specification.default},s3.prototype.eachChild=function(_){if(!this.defaultValue.isConstant()){var I=this.defaultValue.value;_(I._styleExpression.expression)}},s3.prototype.outputDefined=function(){return!1},s3.prototype.serialize=function(){return null},X(\"FormatSectionOverride\",s3,{omit:[\"defaultValue\"]});var ett=function(y){function _(I){y.call(this,I,yq)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.recalculate=function(V,$){if(y.prototype.recalculate.call(this,V,$),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){var ae=this.layout.get(\"text-writing-mode\");if(ae){for(var he=[],Fe=0,it=ae;Fe\",targetMapId:$,sourceMapId:he.mapId})}}},l3.prototype.receive=function(_){var I=_.data,V=I.id;if(V&&!(I.targetMapId&&this.mapId!==I.targetMapId))if(I.type===\"\"){delete this.tasks[V];var $=this.cancelCallbacks[V];delete this.cancelCallbacks[V],$&&$()}else Ce()||I.mustQueue?(this.tasks[V]=I,this.taskQueue.push(V),this.invoker.trigger()):this.processTask(V,I)},l3.prototype.process=function(){if(this.taskQueue.length){var _=this.taskQueue.shift(),I=this.tasks[_];delete this.tasks[_],this.taskQueue.length&&this.invoker.trigger(),I&&this.processTask(_,I)}},l3.prototype.processTask=function(_,I){var V=this;if(I.type===\"\"){var $=this.callbacks[_];delete this.callbacks[_],$&&(I.error?$(Ye(I.error)):$(null,Ye(I.data)))}else{var ae=!1,he=Se(this.globalScope)?void 0:[],Fe=I.hasCallback?function(gr,hr){ae=!0,delete V.cancelCallbacks[_],V.target.postMessage({id:_,type:\"\",sourceMapId:V.mapId,error:gr?Ve(gr):null,data:Ve(hr,he)},he)}:function(gr){ae=!0},it=null,yt=Ye(I.data);if(this.parent[I.type])it=this.parent[I.type](I.sourceMapId,yt,Fe);else if(this.parent.getWorkerSource){var Lt=I.type.split(\".\"),sr=this.parent.getWorkerSource(I.sourceMapId,Lt[0],yt.source);it=sr[Lt[1]](yt,Fe)}else Fe(new Error(\"Could not find function \"+I.type));!ae&&it&&it.cancel&&(this.cancelCallbacks[_]=it.cancel)}},l3.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};function ftt(y,_,I){_=Math.pow(2,I)-_-1;var V=ree(y*256,_*256,I),$=ree((y+1)*256,(_+1)*256,I);return V[0]+\",\"+V[1]+\",\"+$[0]+\",\"+$[1]}function ree(y,_,I){var V=2*Math.PI*6378137/256/Math.pow(2,I),$=y*V-2*Math.PI*6378137/2,ae=_*V-2*Math.PI*6378137/2;return[$,ae]}var lh=function(_,I){_&&(I?this.setSouthWest(_).setNorthEast(I):_.length===4?this.setSouthWest([_[0],_[1]]).setNorthEast([_[2],_[3]]):this.setSouthWest(_[0]).setNorthEast(_[1]))};lh.prototype.setNorthEast=function(_){return this._ne=_ instanceof Hc?new Hc(_.lng,_.lat):Hc.convert(_),this},lh.prototype.setSouthWest=function(_){return this._sw=_ instanceof Hc?new Hc(_.lng,_.lat):Hc.convert(_),this},lh.prototype.extend=function(_){var I=this._sw,V=this._ne,$,ae;if(_ instanceof Hc)$=_,ae=_;else if(_ instanceof lh){if($=_._sw,ae=_._ne,!$||!ae)return this}else{if(Array.isArray(_))if(_.length===4||_.every(Array.isArray)){var he=_;return this.extend(lh.convert(he))}else{var Fe=_;return this.extend(Hc.convert(Fe))}return this}return!I&&!V?(this._sw=new Hc($.lng,$.lat),this._ne=new Hc(ae.lng,ae.lat)):(I.lng=Math.min($.lng,I.lng),I.lat=Math.min($.lat,I.lat),V.lng=Math.max(ae.lng,V.lng),V.lat=Math.max(ae.lat,V.lat)),this},lh.prototype.getCenter=function(){return new Hc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},lh.prototype.getSouthWest=function(){return this._sw},lh.prototype.getNorthEast=function(){return this._ne},lh.prototype.getNorthWest=function(){return new Hc(this.getWest(),this.getNorth())},lh.prototype.getSouthEast=function(){return new Hc(this.getEast(),this.getSouth())},lh.prototype.getWest=function(){return this._sw.lng},lh.prototype.getSouth=function(){return this._sw.lat},lh.prototype.getEast=function(){return this._ne.lng},lh.prototype.getNorth=function(){return this._ne.lat},lh.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},lh.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},lh.prototype.isEmpty=function(){return!(this._sw&&this._ne)},lh.prototype.contains=function(_){var I=Hc.convert(_),V=I.lng,$=I.lat,ae=this._sw.lat<=$&&$<=this._ne.lat,he=this._sw.lng<=V&&V<=this._ne.lng;return this._sw.lng>this._ne.lng&&(he=this._sw.lng>=V&&V>=this._ne.lng),ae&&he},lh.convert=function(_){return!_||_ instanceof lh?_:new lh(_)};var iee=63710088e-1,Hc=function(_,I){if(isNaN(_)||isNaN(I))throw new Error(\"Invalid LngLat object: (\"+_+\", \"+I+\")\");if(this.lng=+_,this.lat=+I,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};Hc.prototype.wrap=function(){return new Hc(k(this.lng,-180,180),this.lat)},Hc.prototype.toArray=function(){return[this.lng,this.lat]},Hc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Hc.prototype.distanceTo=function(_){var I=Math.PI/180,V=this.lat*I,$=_.lat*I,ae=Math.sin(V)*Math.sin($)+Math.cos(V)*Math.cos($)*Math.cos((_.lng-this.lng)*I),he=iee*Math.acos(Math.min(ae,1));return he},Hc.prototype.toBounds=function(_){_===void 0&&(_=0);var I=40075017,V=360*_/I,$=V/Math.cos(Math.PI/180*this.lat);return new lh(new Hc(this.lng-$,this.lat-V),new Hc(this.lng+$,this.lat+V))},Hc.convert=function(_){if(_ instanceof Hc)return _;if(Array.isArray(_)&&(_.length===2||_.length===3))return new Hc(Number(_[0]),Number(_[1]));if(!Array.isArray(_)&&typeof _==\"object\"&&_!==null)return new Hc(Number(\"lng\"in _?_.lng:_.lon),Number(_.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 nee=2*Math.PI*iee;function aee(y){return nee*Math.cos(y*Math.PI/180)}function oee(y){return(180+y)/360}function see(y){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+y*Math.PI/360)))/360}function lee(y,_){return y/aee(_)}function htt(y){return y*360-180}function xq(y){var _=180-y*360;return 360/Math.PI*Math.atan(Math.exp(_*Math.PI/180))-90}function dtt(y,_){return y*aee(xq(_))}function vtt(y){return 1/Math.cos(y*Math.PI/180)}var db=function(_,I,V){V===void 0&&(V=0),this.x=+_,this.y=+I,this.z=+V};db.fromLngLat=function(_,I){I===void 0&&(I=0);var V=Hc.convert(_);return new db(oee(V.lng),see(V.lat),lee(I,V.lat))},db.prototype.toLngLat=function(){return new Hc(htt(this.x),xq(this.y))},db.prototype.toAltitude=function(){return dtt(this.z,this.y)},db.prototype.meterInMercatorCoordinateUnits=function(){return 1/nee*vtt(xq(this.y))};var vb=function(_,I,V){this.z=_,this.x=I,this.y=V,this.key=IS(0,_,_,I,V)};vb.prototype.equals=function(_){return this.z===_.z&&this.x===_.x&&this.y===_.y},vb.prototype.url=function(_,I){var V=ftt(this.x,this.y,this.z),$=ptt(this.z,this.x,this.y);return _[(this.x+this.y)%_.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(I===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",$).replace(\"{bbox-epsg-3857}\",V)},vb.prototype.getTilePoint=function(_){var I=Math.pow(2,this.z);return new u((_.x*I-this.x)*Ei,(_.y*I-this.y)*Ei)},vb.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var uee=function(_,I){this.wrap=_,this.canonical=I,this.key=IS(_,I.z,I.z,I.x,I.y)},uh=function(_,I,V,$,ae){this.overscaledZ=_,this.wrap=I,this.canonical=new vb(V,+$,+ae),this.key=IS(I,_,V,$,ae)};uh.prototype.equals=function(_){return this.overscaledZ===_.overscaledZ&&this.wrap===_.wrap&&this.canonical.equals(_.canonical)},uh.prototype.scaledTo=function(_){var I=this.canonical.z-_;return _>this.canonical.z?new uh(_,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new uh(_,this.wrap,_,this.canonical.x>>I,this.canonical.y>>I)},uh.prototype.calculateScaledKey=function(_,I){var V=this.canonical.z-_;return _>this.canonical.z?IS(this.wrap*+I,_,this.canonical.z,this.canonical.x,this.canonical.y):IS(this.wrap*+I,_,_,this.canonical.x>>V,this.canonical.y>>V)},uh.prototype.isChildOf=function(_){if(_.wrap!==this.wrap)return!1;var I=this.canonical.z-_.canonical.z;return _.overscaledZ===0||_.overscaledZ>I&&_.canonical.y===this.canonical.y>>I},uh.prototype.children=function(_){if(this.overscaledZ>=_)return[new uh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var I=this.canonical.z+1,V=this.canonical.x*2,$=this.canonical.y*2;return[new uh(I,this.wrap,I,V,$),new uh(I,this.wrap,I,V+1,$),new uh(I,this.wrap,I,V,$+1),new uh(I,this.wrap,I,V+1,$+1)]},uh.prototype.isLessThan=function(_){return this.wrap<_.wrap?!0:this.wrap>_.wrap?!1:this.overscaledZ<_.overscaledZ?!0:this.overscaledZ>_.overscaledZ?!1:this.canonical.x<_.canonical.x?!0:this.canonical.x>_.canonical.x?!1:this.canonical.y<_.canonical.y},uh.prototype.wrapped=function(){return new uh(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},uh.prototype.unwrapTo=function(_){return new uh(this.overscaledZ,_,this.canonical.z,this.canonical.x,this.canonical.y)},uh.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},uh.prototype.toUnwrapped=function(){return new uee(this.wrap,this.canonical)},uh.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},uh.prototype.getTilePoint=function(_){return this.canonical.getTilePoint(new db(_.x-this.wrap,_.y))};function IS(y,_,I,V,$){y*=2,y<0&&(y=y*-1-1);var ae=1<0;ae--)$=1<=this.dim+1||I<-1||I>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(I+1)*this.stride+(_+1)},xy.prototype._unpackMapbox=function(_,I,V){return(_*256*256+I*256+V)/10-1e4},xy.prototype._unpackTerrarium=function(_,I,V){return _*256+I+V/256-32768},xy.prototype.getPixels=function(){return new Eh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},xy.prototype.backfillBorder=function(_,I,V){if(this.dim!==_.dim)throw new Error(\"dem dimension mismatch\");var $=I*this.dim,ae=I*this.dim+this.dim,he=V*this.dim,Fe=V*this.dim+this.dim;switch(I){case-1:$=ae-1;break;case 1:ae=$+1;break}switch(V){case-1:he=Fe-1;break;case 1:Fe=he+1;break}for(var it=-I*this.dim,yt=-V*this.dim,Lt=he;Lt=0&&sr[3]>=0&&it.insert(Fe,sr[0],sr[1],sr[2],sr[3])}},by.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new mg.VectorTile(new Xa(this.rawTileData)).layers,this.sourceLayerCoder=new c6(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},by.prototype.query=function(_,I,V,$){var ae=this;this.loadVTLayers();for(var he=_.params||{},Fe=Ei/_.tileSize/_.scale,it=xe(he.filter),yt=_.queryGeometry,Lt=_.queryPadding*Fe,sr=fee(yt),gr=this.grid.query(sr.minX-Lt,sr.minY-Lt,sr.maxX+Lt,sr.maxY+Lt),hr=fee(_.cameraQueryGeometry),Rr=this.grid3D.query(hr.minX-Lt,hr.minY-Lt,hr.maxX+Lt,hr.maxY+Lt,function(Xn,ga,ha,eo){return mp(_.cameraQueryGeometry,Xn-Lt,ga-Lt,ha+Lt,eo+Lt)}),ni=0,Hi=Rr;ni$)ae=!1;else if(!I)ae=!0;else if(this.expirationTime=Ha.maxzoom)&&Ha.visibility!==\"none\"){h(jn,this.zoom,ir);var vo=Zi[Ha.id]=Ha.createBucket({index:Ri.bucketLayerIDs.length,layers:jn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:Ba,sourceID:this.source});vo.populate(ua,en,this.tileID.canonical),Ri.bucketLayerIDs.push(jn.map(function(ki){return ki.id}))}}}}var Gn,Ct,Ar,Jr,hi=i.mapObject(en.glyphDependencies,function(ki){return Object.keys(ki).map(Number)});Object.keys(hi).length?wr.send(\"getGlyphs\",{uid:this.uid,stacks:hi},function(ki,_n){Gn||(Gn=ki,Ct=_n,En.call(ti))}):Ct={};var hn=Object.keys(en.iconDependencies);hn.length?wr.send(\"getImages\",{icons:hn,source:this.source,tileID:this.tileID,type:\"icons\"},function(ki,_n){Gn||(Gn=ki,Ar=_n,En.call(ti))}):Ar={};var Sn=Object.keys(en.patternDependencies);Sn.length?wr.send(\"getImages\",{icons:Sn,source:this.source,tileID:this.tileID,type:\"patterns\"},function(ki,_n){Gn||(Gn=ki,Jr=_n,En.call(ti))}):Jr={},En.call(this);function En(){if(Gn)return Xr(Gn);if(Ct&&Ar&&Jr){var ki=new c(Ct),_n=new i.ImageAtlas(Ar,Jr);for(var ya in Zi){var ea=Zi[ya];ea instanceof i.SymbolBucket?(h(ea.layers,this.zoom,ir),i.performSymbolLayout(ea,Ct,ki.positions,Ar,_n.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):ea.hasPattern&&(ea instanceof i.LineBucket||ea instanceof i.FillBucket||ea instanceof i.FillExtrusionBucket)&&(h(ea.layers,this.zoom,ir),ea.addFeatures(en,this.tileID.canonical,_n.patternPositions))}this.status=\"done\",Xr(null,{buckets:i.values(Zi).filter(function(Ma){return!Ma.isEmpty()}),featureIndex:Ri,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:ki.image,imageAtlas:_n,glyphMap:this.returnDependencies?Ct:null,iconMap:this.returnDependencies?Ar:null,glyphPositions:this.returnDependencies?ki.positions:null})}}};function h(Gt,wt,rr){for(var ir=new i.EvaluationParameters(wt),wr=0,Xr=Gt;wr=0!=!!wt&&Gt.reverse()}var L=i.vectorTile.VectorTileFeature.prototype.toGeoJSON,x=function(wt){this._feature=wt,this.extent=i.EXTENT,this.type=wt.type,this.properties=wt.tags,\"id\"in wt&&!isNaN(wt.id)&&(this.id=parseInt(wt.id,10))};x.prototype.loadGeometry=function(){if(this._feature.type===1){for(var wt=[],rr=0,ir=this._feature.geometry;rr>31}function Ce(Gt,wt){for(var rr=Gt.loadGeometry(),ir=Gt.type,wr=0,Xr=0,ti=rr.length,$r=0;$r>1;Se(Gt,wt,ti,ir,wr,Xr%2),ie(Gt,wt,rr,ir,ti-1,Xr+1),ie(Gt,wt,rr,ti+1,wr,Xr+1)}}function Se(Gt,wt,rr,ir,wr,Xr){for(;wr>ir;){if(wr-ir>600){var ti=wr-ir+1,$r=rr-ir+1,Ri=Math.log(ti),Zi=.5*Math.exp(2*Ri/3),en=.5*Math.sqrt(Ri*Zi*(ti-Zi)/ti)*($r-ti/2<0?-1:1),fn=Math.max(ir,Math.floor(rr-$r*Zi/ti+en)),yn=Math.min(wr,Math.floor(rr+(ti-$r)*Zi/ti+en));Se(Gt,wt,rr,fn,yn,Xr)}var Mn=wt[2*rr+Xr],Ba=ir,ua=wr;for(Ee(Gt,wt,ir,rr),wt[2*wr+Xr]>Mn&&Ee(Gt,wt,ir,wr);BaMn;)ua--}wt[2*ir+Xr]===Mn?Ee(Gt,wt,ir,ua):(ua++,Ee(Gt,wt,ua,wr)),ua<=rr&&(ir=ua+1),rr<=ua&&(wr=ua-1)}}function Ee(Gt,wt,rr,ir){we(Gt,rr,ir),we(wt,2*rr,2*ir),we(wt,2*rr+1,2*ir+1)}function we(Gt,wt,rr){var ir=Gt[wt];Gt[wt]=Gt[rr],Gt[rr]=ir}function De(Gt,wt,rr,ir,wr,Xr,ti){for(var $r=[0,Gt.length-1,0],Ri=[],Zi,en;$r.length;){var fn=$r.pop(),yn=$r.pop(),Mn=$r.pop();if(yn-Mn<=ti){for(var Ba=Mn;Ba<=yn;Ba++)Zi=wt[2*Ba],en=wt[2*Ba+1],Zi>=rr&&Zi<=wr&&en>=ir&&en<=Xr&&Ri.push(Gt[Ba]);continue}var ua=Math.floor((Mn+yn)/2);Zi=wt[2*ua],en=wt[2*ua+1],Zi>=rr&&Zi<=wr&&en>=ir&&en<=Xr&&Ri.push(Gt[ua]);var ma=(fn+1)%2;(fn===0?rr<=Zi:ir<=en)&&($r.push(Mn),$r.push(ua-1),$r.push(ma)),(fn===0?wr>=Zi:Xr>=en)&&($r.push(ua+1),$r.push(yn),$r.push(ma))}return Ri}function Le(Gt,wt,rr,ir,wr,Xr){for(var ti=[0,Gt.length-1,0],$r=[],Ri=wr*wr;ti.length;){var Zi=ti.pop(),en=ti.pop(),fn=ti.pop();if(en-fn<=Xr){for(var yn=fn;yn<=en;yn++)me(wt[2*yn],wt[2*yn+1],rr,ir)<=Ri&&$r.push(Gt[yn]);continue}var Mn=Math.floor((fn+en)/2),Ba=wt[2*Mn],ua=wt[2*Mn+1];me(Ba,ua,rr,ir)<=Ri&&$r.push(Gt[Mn]);var ma=(Zi+1)%2;(Zi===0?rr-wr<=Ba:ir-wr<=ua)&&(ti.push(fn),ti.push(Mn-1),ti.push(ma)),(Zi===0?rr+wr>=Ba:ir+wr>=ua)&&(ti.push(Mn+1),ti.push(en),ti.push(ma))}return $r}function me(Gt,wt,rr,ir){var wr=Gt-rr,Xr=wt-ir;return wr*wr+Xr*Xr}var Pe=function(Gt){return Gt[0]},ce=function(Gt){return Gt[1]},He=function(wt,rr,ir,wr,Xr){rr===void 0&&(rr=Pe),ir===void 0&&(ir=ce),wr===void 0&&(wr=64),Xr===void 0&&(Xr=Float64Array),this.nodeSize=wr,this.points=wt;for(var ti=wt.length<65536?Uint16Array:Uint32Array,$r=this.ids=new ti(wt.length),Ri=this.coords=new Xr(wt.length*2),Zi=0;Zi=wr;en--){var fn=+Date.now();Ri=this._cluster(Ri,en),this.trees[en]=new He(Ri,Ae,rt,ti,Float32Array),ir&&console.log(\"z%d: %d clusters in %dms\",en,Ri.length,+Date.now()-fn)}return ir&&console.timeEnd(\"total time\"),this},mt.prototype.getClusters=function(wt,rr){var ir=((wt[0]+180)%360+360)%360-180,wr=Math.max(-90,Math.min(90,wt[1])),Xr=wt[2]===180?180:((wt[2]+180)%360+360)%360-180,ti=Math.max(-90,Math.min(90,wt[3]));if(wt[2]-wt[0]>=360)ir=-180,Xr=180;else if(ir>Xr){var $r=this.getClusters([ir,wr,180,ti],rr),Ri=this.getClusters([-180,wr,Xr,ti],rr);return $r.concat(Ri)}for(var Zi=this.trees[this._limitZoom(rr)],en=Zi.range(Ht(ir),nr(ti),Ht(Xr),nr(wr)),fn=[],yn=0,Mn=en;ynrr&&(ua+=Xo.numPoints||1)}if(ua>=Ri){for(var da=fn.x*Ba,jn=fn.y*Ba,Ha=$r&&Ba>1?this._map(fn,!0):null,vo=(en<<5)+(rr+1)+this.points.length,Gn=0,Ct=Mn;Gn1)for(var hn=0,Sn=Mn;hn>5},mt.prototype._getOriginZoom=function(wt){return(wt-this.points.length)%32},mt.prototype._map=function(wt,rr){if(wt.numPoints)return rr?Ue({},wt.properties):wt.properties;var ir=this.points[wt.index].properties,wr=this.options.map(ir);return rr&&wr===ir?Ue({},wr):wr};function Vt(Gt,wt,rr,ir,wr){return{x:Gt,y:wt,zoom:1/0,id:rr,parentId:-1,numPoints:ir,properties:wr}}function st(Gt,wt){var rr=Gt.geometry.coordinates,ir=rr[0],wr=rr[1];return{x:Ht(ir),y:nr(wr),zoom:1/0,index:wt,parentId:-1}}function ct(Gt){return{type:\"Feature\",id:Gt.id,properties:Qt(Gt),geometry:{type:\"Point\",coordinates:[tt(Gt.x),je(Gt.y)]}}}function Qt(Gt){var wt=Gt.numPoints,rr=wt>=1e4?Math.round(wt/1e3)+\"k\":wt>=1e3?Math.round(wt/100)/10+\"k\":wt;return Ue(Ue({},Gt.properties),{cluster:!0,cluster_id:Gt.id,point_count:wt,point_count_abbreviated:rr})}function Ht(Gt){return Gt/360+.5}function nr(Gt){var wt=Math.sin(Gt*Math.PI/180),rr=.5-.25*Math.log((1+wt)/(1-wt))/Math.PI;return rr<0?0:rr>1?1:rr}function tt(Gt){return(Gt-.5)*360}function je(Gt){var wt=(180-Gt*360)*Math.PI/180;return 360*Math.atan(Math.exp(wt))/Math.PI-90}function Ue(Gt,wt){for(var rr in wt)Gt[rr]=wt[rr];return Gt}function Ae(Gt){return Gt.x}function rt(Gt){return Gt.y}function St(Gt,wt,rr,ir){for(var wr=ir,Xr=rr-wt>>1,ti=rr-wt,$r,Ri=Gt[wt],Zi=Gt[wt+1],en=Gt[rr],fn=Gt[rr+1],yn=wt+3;ynwr)$r=yn,wr=Mn;else if(Mn===wr){var Ba=Math.abs(yn-Xr);Bair&&($r-wt>3&&St(Gt,wt,$r,ir),Gt[$r+2]=wr,rr-$r>3&&St(Gt,$r,rr,ir))}function Tt(Gt,wt,rr,ir,wr,Xr){var ti=wr-rr,$r=Xr-ir;if(ti!==0||$r!==0){var Ri=((Gt-rr)*ti+(wt-ir)*$r)/(ti*ti+$r*$r);Ri>1?(rr=wr,ir=Xr):Ri>0&&(rr+=ti*Ri,ir+=$r*Ri)}return ti=Gt-rr,$r=wt-ir,ti*ti+$r*$r}function dt(Gt,wt,rr,ir){var wr={id:typeof Gt==\"undefined\"?null:Gt,type:wt,geometry:rr,tags:ir,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Et(wr),wr}function Et(Gt){var wt=Gt.geometry,rr=Gt.type;if(rr===\"Point\"||rr===\"MultiPoint\"||rr===\"LineString\")pt(Gt,wt);else if(rr===\"Polygon\"||rr===\"MultiLineString\")for(var ir=0;ir0&&(ir?ti+=(wr*Zi-Ri*Xr)/2:ti+=Math.sqrt(Math.pow(Ri-wr,2)+Math.pow(Zi-Xr,2))),wr=Ri,Xr=Zi}var en=wt.length-3;wt[2]=1,St(wt,0,en,rr),wt[en+2]=1,wt.size=Math.abs(ti),wt.start=0,wt.end=wt.size}function ei(Gt,wt,rr,ir){for(var wr=0;wr1?1:rr}function gt(Gt,wt,rr,ir,wr,Xr,ti,$r){if(rr/=wt,ir/=wt,Xr>=rr&&ti=ir)return null;for(var Ri=[],Zi=0;Zi=rr&&Ba=ir)continue;var ua=[];if(yn===\"Point\"||yn===\"MultiPoint\")Ge(fn,ua,rr,ir,wr);else if(yn===\"LineString\")Je(fn,ua,rr,ir,wr,!1,$r.lineMetrics);else if(yn===\"MultiLineString\")et(fn,ua,rr,ir,wr,!1);else if(yn===\"Polygon\")et(fn,ua,rr,ir,wr,!0);else if(yn===\"MultiPolygon\")for(var ma=0;ma=rr&&ti<=ir&&(wt.push(Gt[Xr]),wt.push(Gt[Xr+1]),wt.push(Gt[Xr+2]))}}function Je(Gt,wt,rr,ir,wr,Xr,ti){for(var $r=We(Gt),Ri=wr===0?At:Kt,Zi=Gt.start,en,fn,yn=0;ynrr&&(fn=Ri($r,Mn,Ba,ma,Wa,rr),ti&&($r.start=Zi+en*fn)):Fa>ir?Xo=rr&&(fn=Ri($r,Mn,Ba,ma,Wa,rr),da=!0),Xo>ir&&Fa<=ir&&(fn=Ri($r,Mn,Ba,ma,Wa,ir),da=!0),!Xr&&da&&(ti&&($r.end=Zi+en*fn),wt.push($r),$r=We(Gt)),ti&&(Zi+=en)}var jn=Gt.length-3;Mn=Gt[jn],Ba=Gt[jn+1],ua=Gt[jn+2],Fa=wr===0?Mn:Ba,Fa>=rr&&Fa<=ir&&xt($r,Mn,Ba,ua),jn=$r.length-3,Xr&&jn>=3&&($r[jn]!==$r[0]||$r[jn+1]!==$r[1])&&xt($r,$r[0],$r[1],$r[2]),$r.length&&wt.push($r)}function We(Gt){var wt=[];return wt.size=Gt.size,wt.start=Gt.start,wt.end=Gt.end,wt}function et(Gt,wt,rr,ir,wr,Xr){for(var ti=0;titi.maxX&&(ti.maxX=en),fn>ti.maxY&&(ti.maxY=fn)}return ti}function Pi(Gt,wt,rr,ir){var wr=wt.geometry,Xr=wt.type,ti=[];if(Xr===\"Point\"||Xr===\"MultiPoint\")for(var $r=0;$r0&&wt.size<(wr?ti:ir)){rr.numPoints+=wt.length/3;return}for(var $r=[],Ri=0;Riti)&&(rr.numSimplified++,$r.push(wt[Ri]),$r.push(wt[Ri+1])),rr.numPoints++;wr&&mi($r,Xr),Gt.push($r)}function mi(Gt,wt){for(var rr=0,ir=0,wr=Gt.length,Xr=wr-2;ir0===wt)for(ir=0,wr=Gt.length;ir24)throw new Error(\"maxZoom should be in the 0-24 range\");if(wt.promoteId&&wt.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var ir=Xt(Gt,wt);this.tiles={},this.tileCoords=[],rr&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",wt.indexMaxZoom,wt.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),ir=er(ir,wt),ir.length&&this.splitTile(ir,0,0,0),rr&&(ir.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}Fn.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Fn.prototype.splitTile=function(Gt,wt,rr,ir,wr,Xr,ti){for(var $r=[Gt,wt,rr,ir],Ri=this.options,Zi=Ri.debug;$r.length;){ir=$r.pop(),rr=$r.pop(),wt=$r.pop(),Gt=$r.pop();var en=1<1&&console.time(\"creation\"),yn=this.tiles[fn]=_i(Gt,wt,rr,ir,Ri),this.tileCoords.push({z:wt,x:rr,y:ir}),Zi)){Zi>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",wt,rr,ir,yn.numFeatures,yn.numPoints,yn.numSimplified),console.timeEnd(\"creation\"));var Mn=\"z\"+wt;this.stats[Mn]=(this.stats[Mn]||0)+1,this.total++}if(yn.source=Gt,wr){if(wt===Ri.maxZoom||wt===wr)continue;var Ba=1<1&&console.time(\"clipping\");var ua=.5*Ri.buffer/Ri.extent,ma=.5-ua,Wa=.5+ua,Fa=1+ua,Xo,da,jn,Ha,vo,Gn;Xo=da=jn=Ha=null,vo=gt(Gt,en,rr-ua,rr+Wa,0,yn.minX,yn.maxX,Ri),Gn=gt(Gt,en,rr+ma,rr+Fa,0,yn.minX,yn.maxX,Ri),Gt=null,vo&&(Xo=gt(vo,en,ir-ua,ir+Wa,1,yn.minY,yn.maxY,Ri),da=gt(vo,en,ir+ma,ir+Fa,1,yn.minY,yn.maxY,Ri),vo=null),Gn&&(jn=gt(Gn,en,ir-ua,ir+Wa,1,yn.minY,yn.maxY,Ri),Ha=gt(Gn,en,ir+ma,ir+Fa,1,yn.minY,yn.maxY,Ri),Gn=null),Zi>1&&console.timeEnd(\"clipping\"),$r.push(Xo||[],wt+1,rr*2,ir*2),$r.push(da||[],wt+1,rr*2,ir*2+1),$r.push(jn||[],wt+1,rr*2+1,ir*2),$r.push(Ha||[],wt+1,rr*2+1,ir*2+1)}}},Fn.prototype.getTile=function(Gt,wt,rr){var ir=this.options,wr=ir.extent,Xr=ir.debug;if(Gt<0||Gt>24)return null;var ti=1<1&&console.log(\"drilling down to z%d-%d-%d\",Gt,wt,rr);for(var Ri=Gt,Zi=wt,en=rr,fn;!fn&&Ri>0;)Ri--,Zi=Math.floor(Zi/2),en=Math.floor(en/2),fn=this.tiles[An(Ri,Zi,en)];return!fn||!fn.source?null:(Xr>1&&console.log(\"found parent tile z%d-%d-%d\",Ri,Zi,en),Xr>1&&console.time(\"drilling down\"),this.splitTile(fn.source,Ri,Zi,en,Gt,wt,rr),Xr>1&&console.timeEnd(\"drilling down\"),this.tiles[$r]?Ir(this.tiles[$r],wr):null)};function An(Gt,wt,rr){return((1<=0?0:Y.button},o.remove=function(Y){Y.parentNode&&Y.parentNode.removeChild(Y)};function m(Y,D,J){var O,K,de,ne=i.browser.devicePixelRatio>1?\"@2x\":\"\",be=i.getJSON(D.transformRequest(D.normalizeSpriteURL(Y,ne,\".json\"),i.ResourceType.SpriteJSON),function(Yt,cr){be=null,de||(de=Yt,O=cr,ht())}),Be=i.getImage(D.transformRequest(D.normalizeSpriteURL(Y,ne,\".png\"),i.ResourceType.SpriteImage),function(Yt,cr){Be=null,de||(de=Yt,K=cr,ht())});function ht(){if(de)J(de);else if(O&&K){var Yt=i.browser.getImageData(K),cr={};for(var Nt in O){var Ne=O[Nt],$e=Ne.width,ot=Ne.height,It=Ne.x,Bt=Ne.y,Ft=Ne.sdf,Ut=Ne.pixelRatio,zt=Ne.stretchX,_t=Ne.stretchY,Dt=Ne.content,vt=new i.RGBAImage({width:$e,height:ot});i.RGBAImage.copy(Yt,vt,{x:It,y:Bt},{x:0,y:0},{width:$e,height:ot}),cr[Nt]={data:vt,pixelRatio:Ut,sdf:Ft,stretchX:zt,stretchY:_t,content:Dt}}J(null,cr)}}return{cancel:function(){be&&(be.cancel(),be=null),Be&&(Be.cancel(),Be=null)}}}function b(Y){var D=Y.userImage;if(D&&D.render){var J=D.render();if(J)return Y.data.replace(new Uint8Array(D.data.buffer)),!0}return!1}var p=1,k=function(Y){function D(){Y.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.RGBAImage({width:1,height:1}),this.dirty=!0}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.isLoaded=function(){return this.loaded},D.prototype.setLoaded=function(O){if(this.loaded!==O&&(this.loaded=O,O)){for(var K=0,de=this.requestors;K=0?1.2:1))}C.prototype.draw=function(Y){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(Y,this.buffer,this.middle);for(var D=this.ctx.getImageData(0,0,this.size,this.size),J=new Uint8ClampedArray(this.size*this.size),O=0;O65535){Yt(new Error(\"glyphs > 65535 not supported\"));return}if(Ne.ranges[ot]){Yt(null,{stack:cr,id:Nt,glyph:$e});return}var It=Ne.requests[ot];It||(It=Ne.requests[ot]=[],P.loadGlyphRange(cr,ot,O.url,O.requestManager,function(Bt,Ft){if(Ft){for(var Ut in Ft)O._doesCharSupportLocalGlyph(+Ut)||(Ne.glyphs[+Ut]=Ft[+Ut]);Ne.ranges[ot]=!0}for(var zt=0,_t=It;zt<_t.length;zt+=1){var Dt=_t[zt];Dt(Bt,Ft)}delete Ne.requests[ot]})),It.push(function(Bt,Ft){Bt?Yt(Bt):Ft&&Yt(null,{stack:cr,id:Nt,glyph:Ft[Nt]||null})})},function(ht,Yt){if(ht)J(ht);else if(Yt){for(var cr={},Nt=0,Ne=Yt;Nt1&&(ht=D[++Be]);var cr=Math.abs(Yt-ht.left),Nt=Math.abs(Yt-ht.right),Ne=Math.min(cr,Nt),$e=void 0,ot=de/O*(K+1);if(ht.isDash){var It=K-Math.abs(ot);$e=Math.sqrt(Ne*Ne+It*It)}else $e=K-Math.sqrt(Ne*Ne+ot*ot);this.data[be+Yt]=Math.max(0,Math.min(255,$e+128))}},G.prototype.addRegularDash=function(D){for(var J=D.length-1;J>=0;--J){var O=D[J],K=D[J+1];O.zeroLength?D.splice(J,1):K&&K.isDash===O.isDash&&(K.left=O.left,D.splice(J,1))}var de=D[0],ne=D[D.length-1];de.isDash===ne.isDash&&(de.left=ne.left-this.width,ne.right=de.right+this.width);for(var be=this.width*this.nextRow,Be=0,ht=D[Be],Yt=0;Yt1&&(ht=D[++Be]);var cr=Math.abs(Yt-ht.left),Nt=Math.abs(Yt-ht.right),Ne=Math.min(cr,Nt),$e=ht.isDash?Ne:-Ne;this.data[be+Yt]=Math.max(0,Math.min(255,$e+128))}},G.prototype.addDash=function(D,J){var O=J?7:0,K=2*O+1;if(this.nextRow+K>this.height)return i.warnOnce(\"LineAtlas out of space\"),null;for(var de=0,ne=0;ne=O.minX&&D.x=O.minY&&D.y0&&(Yt[new i.OverscaledTileID(O.overscaledZ,be,K.z,ne,K.y-1).key]={backfilled:!1},Yt[new i.OverscaledTileID(O.overscaledZ,O.wrap,K.z,K.x,K.y-1).key]={backfilled:!1},Yt[new i.OverscaledTileID(O.overscaledZ,ht,K.z,Be,K.y-1).key]={backfilled:!1}),K.y+10&&(de.resourceTiming=O._resourceTiming,O._resourceTiming=[]),O.fire(new i.Event(\"data\",de))})},D.prototype.onAdd=function(O){this.map=O,this.load()},D.prototype.setData=function(O){var K=this;return this._data=O,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(de){if(de){K.fire(new i.ErrorEvent(de));return}var ne={dataType:\"source\",sourceDataType:\"content\"};K._collectResourceTiming&&K._resourceTiming&&K._resourceTiming.length>0&&(ne.resourceTiming=K._resourceTiming,K._resourceTiming=[]),K.fire(new i.Event(\"data\",ne))}),this},D.prototype.getClusterExpansionZoom=function(O,K){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:O,source:this.id},K),this},D.prototype.getClusterChildren=function(O,K){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:O,source:this.id},K),this},D.prototype.getClusterLeaves=function(O,K,de,ne){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:O,limit:K,offset:de},ne),this},D.prototype._updateWorkerData=function(O){var K=this;this._loaded=!1;var de=i.extend({},this.workerOptions),ne=this._data;typeof ne==\"string\"?(de.request=this.map._requestManager.transformRequest(i.browser.resolveURL(ne),i.ResourceType.Source),de.request.collectResourceTiming=this._collectResourceTiming):de.data=JSON.stringify(ne),this.actor.send(this.type+\".loadData\",de,function(be,Be){K._removed||Be&&Be.abandoned||(K._loaded=!0,Be&&Be.resourceTiming&&Be.resourceTiming[K.id]&&(K._resourceTiming=Be.resourceTiming[K.id].slice(0)),K.actor.send(K.type+\".coalesce\",{source:de.source},null),O(be))})},D.prototype.loaded=function(){return this._loaded},D.prototype.loadTile=function(O,K){var de=this,ne=O.actor?\"reloadTile\":\"loadTile\";O.actor=this.actor;var be={type:this.type,uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};O.request=this.actor.send(ne,be,function(Be,ht){return delete O.request,O.unloadVectorData(),O.aborted?K(null):Be?K(Be):(O.loadVectorData(ht,de.map.painter,ne===\"reloadTile\"),K(null))})},D.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.aborted=!0},D.prototype.unloadTile=function(O){O.unloadVectorData(),this.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id})},D.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},D.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},D.prototype.hasTransition=function(){return!1},D}(i.Evented),ke=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),Ce=function(Y){function D(J,O,K,de){Y.call(this),this.id=J,this.dispatcher=K,this.coordinates=O.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(de),this.options=O}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.load=function(O,K){var de=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,i.getImage(this.map._requestManager.transformRequest(this.url,i.ResourceType.Image),function(ne,be){de._loaded=!0,ne?de.fire(new i.ErrorEvent(ne)):be&&(de.image=be,O&&(de.coordinates=O),K&&K(),de._finishLoading())})},D.prototype.loaded=function(){return this._loaded},D.prototype.updateImage=function(O){var K=this;return!this.image||!O.url?this:(this.options.url=O.url,this.load(O.coordinates,function(){K.texture=null}),this)},D.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},D.prototype.onAdd=function(O){this.map=O,this.load()},D.prototype.setCoordinates=function(O){var K=this;this.coordinates=O;var de=O.map(i.MercatorCoordinate.fromLngLat);this.tileID=ge(de),this.minzoom=this.maxzoom=this.tileID.z;var ne=de.map(function(be){return K.tileID.getTilePoint(be)._round()});return this._boundsArray=new i.StructArrayLayout4i8,this._boundsArray.emplaceBack(ne[0].x,ne[0].y,0,0),this._boundsArray.emplaceBack(ne[1].x,ne[1].y,i.EXTENT,0),this._boundsArray.emplaceBack(ne[3].x,ne[3].y,0,i.EXTENT),this._boundsArray.emplaceBack(ne[2].x,ne[2].y,i.EXTENT,i.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},D.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var O=this.map.painter.context,K=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,ke.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new i.Texture(O,this.image,K.RGBA),this.texture.bind(K.LINEAR,K.CLAMP_TO_EDGE));for(var de in this.tiles){var ne=this.tiles[de];ne.state!==\"loaded\"&&(ne.state=\"loaded\",ne.texture=this.texture)}}},D.prototype.loadTile=function(O,K){this.tileID&&this.tileID.equals(O.tileID.canonical)?(this.tiles[String(O.tileID.wrap)]=O,O.buckets={},K(null)):(O.state=\"errored\",K(null))},D.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},D.prototype.hasTransition=function(){return!1},D}(i.Evented);function ge(Y){for(var D=1/0,J=1/0,O=-1/0,K=-1/0,de=0,ne=Y;deK.end(0)?this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+K.start(0)+\" and \"+K.end(0)+\"-second mark.\"))):this.video.currentTime=O}},D.prototype.getVideo=function(){return this.video},D.prototype.onAdd=function(O){this.map||(this.map=O,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},D.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var O=this.map.painter.context,K=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,ke.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(K.LINEAR,K.CLAMP_TO_EDGE),K.texSubImage2D(K.TEXTURE_2D,0,0,0,K.RGBA,K.UNSIGNED_BYTE,this.video)):(this.texture=new i.Texture(O,this.video,K.RGBA),this.texture.bind(K.LINEAR,K.CLAMP_TO_EDGE));for(var de in this.tiles){var ne=this.tiles[de];ne.state!==\"loaded\"&&(ne.state=\"loaded\",ne.texture=this.texture)}}},D.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},D.prototype.hasTransition=function(){return this.video&&!this.video.paused},D}(Ce),Se=function(Y){function D(J,O,K,de){Y.call(this,J,O,K,de),O.coordinates?(!Array.isArray(O.coordinates)||O.coordinates.length!==4||O.coordinates.some(function(ne){return!Array.isArray(ne)||ne.length!==2||ne.some(function(be){return typeof be!=\"number\"})}))&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+J,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+J,null,'missing required property \"coordinates\"'))),O.animate&&typeof O.animate!=\"boolean\"&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+J,null,'optional \"animate\" property must be a boolean value'))),O.canvas?typeof O.canvas!=\"string\"&&!(O.canvas instanceof i.window.HTMLCanvasElement)&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+J,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 i.ErrorEvent(new i.ValidationError(\"sources.\"+J,null,'missing required property \"canvas\"'))),this.options=O,this.animate=O.animate!==void 0?O.animate:!0}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof i.window.HTMLCanvasElement?this.options.canvas:i.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new i.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},D.prototype.getCanvas=function(){return this.canvas},D.prototype.onAdd=function(O){this.map=O,this.load(),this.canvas&&this.animate&&this.play()},D.prototype.onRemove=function(){this.pause()},D.prototype.prepare=function(){var O=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,O=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,O=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var K=this.map.painter.context,de=K.gl;this.boundsBuffer||(this.boundsBuffer=K.createVertexBuffer(this._boundsArray,ke.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(O||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new i.Texture(K,this.canvas,de.RGBA,{premultiply:!0});for(var ne in this.tiles){var be=this.tiles[ne];be.state!==\"loaded\"&&(be.state=\"loaded\",be.texture=this.texture)}}},D.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},D.prototype.hasTransition=function(){return this._playing},D.prototype._hasInvalidDimensions=function(){for(var O=0,K=[this.canvas.width,this.canvas.height];Othis.max){var be=this._getAndRemoveByKey(this.order[0]);be&&this.onRemove(be)}return this},st.prototype.has=function(D){return D.wrapped().key in this.data},st.prototype.getAndRemove=function(D){return this.has(D)?this._getAndRemoveByKey(D.wrapped().key):null},st.prototype._getAndRemoveByKey=function(D){var J=this.data[D].shift();return J.timeout&&clearTimeout(J.timeout),this.data[D].length===0&&delete this.data[D],this.order.splice(this.order.indexOf(D),1),J.value},st.prototype.getByKey=function(D){var J=this.data[D];return J?J[0].value:null},st.prototype.get=function(D){if(!this.has(D))return null;var J=this.data[D.wrapped().key][0];return J.value},st.prototype.remove=function(D,J){if(!this.has(D))return this;var O=D.wrapped().key,K=J===void 0?0:this.data[O].indexOf(J),de=this.data[O][K];return this.data[O].splice(K,1),de.timeout&&clearTimeout(de.timeout),this.data[O].length===0&&delete this.data[O],this.onRemove(de.value),this.order.splice(this.order.indexOf(O),1),this},st.prototype.setMaxSize=function(D){for(this.max=D;this.order.length>this.max;){var J=this._getAndRemoveByKey(this.order[0]);J&&this.onRemove(J)}return this},st.prototype.filter=function(D){var J=[];for(var O in this.data)for(var K=0,de=this.data[O];K1||(Math.abs(cr)>1&&(Math.abs(cr+Ne)===1?cr+=Ne:Math.abs(cr-Ne)===1&&(cr-=Ne)),!(!Yt.dem||!ht.dem)&&(ht.dem.backfillBorder(Yt.dem,cr,Nt),ht.neighboringTiles&&ht.neighboringTiles[$e]&&(ht.neighboringTiles[$e].backfilled=!0)))}},D.prototype.getTile=function(O){return this.getTileByID(O.key)},D.prototype.getTileByID=function(O){return this._tiles[O]},D.prototype._retainLoadedChildren=function(O,K,de,ne){for(var be in this._tiles){var Be=this._tiles[be];if(!(ne[be]||!Be.hasData()||Be.tileID.overscaledZ<=K||Be.tileID.overscaledZ>de)){for(var ht=Be.tileID;Be&&Be.tileID.overscaledZ>K+1;){var Yt=Be.tileID.scaledTo(Be.tileID.overscaledZ-1);Be=this._tiles[Yt.key],Be&&Be.hasData()&&(ht=Yt)}for(var cr=ht;cr.overscaledZ>K;)if(cr=cr.scaledTo(cr.overscaledZ-1),O[cr.key]){ne[ht.key]=ht;break}}}},D.prototype.findLoadedParent=function(O,K){if(O.key in this._loadedParentTiles){var de=this._loadedParentTiles[O.key];return de&&de.tileID.overscaledZ>=K?de:null}for(var ne=O.overscaledZ-1;ne>=K;ne--){var be=O.scaledTo(ne),Be=this._getLoadedTile(be);if(Be)return Be}},D.prototype._getLoadedTile=function(O){var K=this._tiles[O.key];if(K&&K.hasData())return K;var de=this._cache.getByKey(O.wrapped().key);return de},D.prototype.updateCacheSize=function(O){var K=Math.ceil(O.width/this._source.tileSize)+1,de=Math.ceil(O.height/this._source.tileSize)+1,ne=K*de,be=5,Be=Math.floor(ne*be),ht=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,Be):Be;this._cache.setMaxSize(ht)},D.prototype.handleWrapJump=function(O){var K=this._prevLng===void 0?O:this._prevLng,de=O-K,ne=de/360,be=Math.round(ne);if(this._prevLng=O,be){var Be={};for(var ht in this._tiles){var Yt=this._tiles[ht];Yt.tileID=Yt.tileID.unwrapTo(Yt.tileID.wrap+be),Be[Yt.tileID.key]=Yt}this._tiles=Be;for(var cr in this._timers)clearTimeout(this._timers[cr]),delete this._timers[cr];for(var Nt in this._tiles){var Ne=this._tiles[Nt];this._setTileReloadTimer(Nt,Ne)}}},D.prototype.update=function(O){var K=this;if(this.transform=O,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(O),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var de;this.used?this._source.tileID?de=O.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(Br){return new i.OverscaledTileID(Br.canonical.z,Br.wrap,Br.canonical.z,Br.canonical.x,Br.canonical.y)}):(de=O.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(de=de.filter(function(Br){return K._source.hasTile(Br)}))):de=[];var ne=O.coveringZoomLevel(this._source),be=Math.max(ne-D.maxOverzooming,this._source.minzoom),Be=Math.max(ne+D.maxUnderzooming,this._source.minzoom),ht=this._updateRetainedTiles(de,ne);if(Ri(this._source.type)){for(var Yt={},cr={},Nt=Object.keys(ht),Ne=0,$e=Nt;Ne<$e.length;Ne+=1){var ot=$e[Ne],It=ht[ot],Bt=this._tiles[ot];if(!(!Bt||Bt.fadeEndTime&&Bt.fadeEndTime<=i.browser.now())){var Ft=this.findLoadedParent(It,be);Ft&&(this._addTile(Ft.tileID),Yt[Ft.tileID.key]=Ft.tileID),cr[ot]=It}}this._retainLoadedChildren(cr,ne,Be,ht);for(var Ut in Yt)ht[Ut]||(this._coveredTiles[Ut]=!0,ht[Ut]=Yt[Ut])}for(var zt in ht)this._tiles[zt].clearFadeHold();for(var _t=i.keysDifference(this._tiles,ht),Dt=0,vt=_t;Dtthis._source.maxzoom){var Ft=It.children(this._source.maxzoom)[0],Ut=this.getTile(Ft);if(Ut&&Ut.hasData()){de[Ft.key]=Ft;continue}}else{var zt=It.children(this._source.maxzoom);if(de[zt[0].key]&&de[zt[1].key]&&de[zt[2].key]&&de[zt[3].key])continue}for(var _t=Bt.wasRequested(),Dt=It.overscaledZ-1;Dt>=be;--Dt){var vt=It.scaledTo(Dt);if(ne[vt.key]||(ne[vt.key]=!0,Bt=this.getTile(vt),!Bt&&_t&&(Bt=this._addTile(vt)),Bt&&(de[vt.key]=vt,_t=Bt.wasRequested(),Bt.hasData())))break}}}return de},D.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var O in this._tiles){for(var K=[],de=void 0,ne=this._tiles[O].tileID;ne.overscaledZ>0;){if(ne.key in this._loadedParentTiles){de=this._loadedParentTiles[ne.key];break}K.push(ne.key);var be=ne.scaledTo(ne.overscaledZ-1);if(de=this._getLoadedTile(be),de)break;ne=be}for(var Be=0,ht=K;Be0)&&(K.hasData()&&K.state!==\"reloading\"?this._cache.add(K.tileID,K,K.getExpiryTimeout()):(K.aborted=!0,this._abortTile(K),this._unloadTile(K))))},D.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var O in this._tiles)this._removeTile(O);this._cache.reset()},D.prototype.tilesIn=function(O,K,de){var ne=this,be=[],Be=this.transform;if(!Be)return be;for(var ht=de?Be.getCameraQueryGeometry(O):O,Yt=O.map(function(Dt){return Be.pointCoordinate(Dt)}),cr=ht.map(function(Dt){return Be.pointCoordinate(Dt)}),Nt=this.getIds(),Ne=1/0,$e=1/0,ot=-1/0,It=-1/0,Bt=0,Ft=cr;Bt=0&&Di[1].y+Br>=0){var ci=Yt.map(function(gn){return lr.getTilePoint(gn)}),bi=cr.map(function(gn){return lr.getTilePoint(gn)});be.push({tile:vt,tileID:lr,queryGeometry:ci,cameraQueryGeometry:bi,scale:yr})}}},_t=0;_t=i.browser.now())return!0}return!1},D.prototype.setFeatureState=function(O,K,de){O=O||\"_geojsonTileLayer\",this._state.updateState(O,K,de)},D.prototype.removeFeatureState=function(O,K,de){O=O||\"_geojsonTileLayer\",this._state.removeFeatureState(O,K,de)},D.prototype.getFeatureState=function(O,K){return O=O||\"_geojsonTileLayer\",this._state.getState(O,K)},D.prototype.setDependencies=function(O,K,de){var ne=this._tiles[O];ne&&ne.setDependencies(K,de)},D.prototype.reloadTilesForDependencies=function(O,K){for(var de in this._tiles){var ne=this._tiles[de];ne.hasDependency(O,K)&&this._reloadTile(de,\"reloading\")}this._cache.filter(function(be){return!be.hasDependency(O,K)})},D}(i.Evented);ti.maxOverzooming=10,ti.maxUnderzooming=3;function $r(Y,D){var J=Math.abs(Y.wrap*2)-+(Y.wrap<0),O=Math.abs(D.wrap*2)-+(D.wrap<0);return Y.overscaledZ-D.overscaledZ||O-J||D.canonical.y-Y.canonical.y||D.canonical.x-Y.canonical.x}function Ri(Y){return Y===\"raster\"||Y===\"image\"||Y===\"video\"}function Zi(){return new i.window.Worker(io.workerUrl)}var en=\"mapboxgl_preloaded_worker_pool\",fn=function(){this.active={}};fn.prototype.acquire=function(D){if(!this.workers)for(this.workers=[];this.workers.length0?(K-ne)/be:0;return this.points[de].mult(1-Be).add(this.points[J].mult(Be))};var ki=function(D,J,O){var K=this.boxCells=[],de=this.circleCells=[];this.xCellCount=Math.ceil(D/O),this.yCellCount=Math.ceil(J/O);for(var ne=0;nethis.width||K<0||J>this.height)return de?!1:[];var be=[];if(D<=0&&J<=0&&this.width<=O&&this.height<=K){if(de)return!0;for(var Be=0;Be0:be}},ki.prototype._queryCircle=function(D,J,O,K,de){var ne=D-O,be=D+O,Be=J-O,ht=J+O;if(be<0||ne>this.width||ht<0||Be>this.height)return K?!1:[];var Yt=[],cr={hitTest:K,circle:{x:D,y:J,radius:O},seenUids:{box:{},circle:{}}};return this._forEachCell(ne,Be,be,ht,this._queryCellCircle,Yt,cr,de),K?Yt.length>0:Yt},ki.prototype.query=function(D,J,O,K,de){return this._query(D,J,O,K,!1,de)},ki.prototype.hitTest=function(D,J,O,K,de){return this._query(D,J,O,K,!0,de)},ki.prototype.hitTestCircle=function(D,J,O,K){return this._queryCircle(D,J,O,!0,K)},ki.prototype._queryCell=function(D,J,O,K,de,ne,be,Be){var ht=be.seenUids,Yt=this.boxCells[de];if(Yt!==null)for(var cr=this.bboxes,Nt=0,Ne=Yt;Nt=cr[ot+0]&&K>=cr[ot+1]&&(!Be||Be(this.boxKeys[$e]))){if(be.hitTest)return ne.push(!0),!0;ne.push({key:this.boxKeys[$e],x1:cr[ot],y1:cr[ot+1],x2:cr[ot+2],y2:cr[ot+3]})}}}var It=this.circleCells[de];if(It!==null)for(var Bt=this.circles,Ft=0,Ut=It;Ftbe*be+Be*Be},ki.prototype._circleAndRectCollide=function(D,J,O,K,de,ne,be){var Be=(ne-K)/2,ht=Math.abs(D-(K+Be));if(ht>Be+O)return!1;var Yt=(be-de)/2,cr=Math.abs(J-(de+Yt));if(cr>Yt+O)return!1;if(ht<=Be||cr<=Yt)return!0;var Nt=ht-Be,Ne=cr-Yt;return Nt*Nt+Ne*Ne<=O*O};function _n(Y,D,J,O,K){var de=i.create();return D?(i.scale(de,de,[1/K,1/K,1]),J||i.rotateZ(de,de,O.angle)):i.multiply(de,O.labelPlaneMatrix,Y),de}function ya(Y,D,J,O,K){if(D){var de=i.clone(Y);return i.scale(de,de,[K,K,1]),J||i.rotateZ(de,de,-O.angle),de}else return O.glCoordMatrix}function ea(Y,D){var J=[Y.x,Y.y,0,1];zl(J,J,D);var O=J[3];return{point:new i.Point(J[0]/O,J[1]/O),signedDistanceFromCamera:O}}function Ma(Y,D){return .5+.5*(Y/D)}function _o(Y,D){var J=Y[0]/Y[3],O=Y[1]/Y[3],K=J>=-D[0]&&J<=D[0]&&O>=-D[1]&&O<=D[1];return K}function No(Y,D,J,O,K,de,ne,be){var Be=O?Y.textSizeData:Y.iconSizeData,ht=i.evaluateSizeForZoom(Be,J.transform.zoom),Yt=[256/J.width*2+1,256/J.height*2+1],cr=O?Y.text.dynamicLayoutVertexArray:Y.icon.dynamicLayoutVertexArray;cr.clear();for(var Nt=Y.lineVertexArray,Ne=O?Y.text.placedSymbolArray:Y.icon.placedSymbolArray,$e=J.transform.width/J.transform.height,ot=!1,It=0;Itde)return{useVertical:!0}}return(Y===i.WritingMode.vertical?D.yJ.x)?{needsFlipping:!0}:null}function ko(Y,D,J,O,K,de,ne,be,Be,ht,Yt,cr,Nt,Ne){var $e=D/24,ot=Y.lineOffsetX*$e,It=Y.lineOffsetY*$e,Bt;if(Y.numGlyphs>1){var Ft=Y.glyphStartIndex+Y.numGlyphs,Ut=Y.lineStartIndex,zt=Y.lineStartIndex+Y.lineLength,_t=po($e,be,ot,It,J,Yt,cr,Y,Be,de,Nt);if(!_t)return{notEnoughRoom:!0};var Dt=ea(_t.first.point,ne).point,vt=ea(_t.last.point,ne).point;if(O&&!J){var lr=Lo(Y.writingMode,Dt,vt,Ne);if(lr)return lr}Bt=[_t.first];for(var yr=Y.glyphStartIndex+1;yr0?bi.point:Ds(cr,ci,Br,1,K),tn=Lo(Y.writingMode,Br,gn,Ne);if(tn)return tn}var Ei=Fs($e*be.getoffsetX(Y.glyphStartIndex),ot,It,J,Yt,cr,Y.segment,Y.lineStartIndex,Y.lineStartIndex+Y.lineLength,Be,de,Nt);if(!Ei)return{notEnoughRoom:!0};Bt=[Ei]}for(var Oi=0,Gi=Bt;Oi0?1:-1,$e=0;O&&(Ne*=-1,$e=Math.PI),Ne<0&&($e+=Math.PI);for(var ot=Ne>0?be+ne:be+ne+1,It=K,Bt=K,Ft=0,Ut=0,zt=Math.abs(Nt),_t=[];Ft+Ut<=zt;){if(ot+=Ne,ot=Be)return null;if(Bt=It,_t.push(It),It=cr[ot],It===void 0){var Dt=new i.Point(ht.getx(ot),ht.gety(ot)),vt=ea(Dt,Yt);if(vt.signedDistanceFromCamera>0)It=cr[ot]=vt.point;else{var lr=ot-Ne,yr=Ft===0?de:new i.Point(ht.getx(lr),ht.gety(lr));It=Ds(yr,Dt,Bt,zt-Ft+1,Yt)}}Ft+=Ut,Ut=Bt.dist(It)}var Br=(zt-Ft)/Ut,Di=It.sub(Bt),ci=Di.mult(Br)._add(Bt);ci._add(Di._unit()._perp()._mult(J*Ne));var bi=$e+Math.atan2(It.y-Bt.y,It.x-Bt.x);return _t.push(ci),{point:ci,angle:bi,path:_t}}var ll=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ul(Y,D){for(var J=0;J=1;on--)Gi.push(Ei.path[on]);for(var zn=1;zn0){for(var so=Gi[0].clone(),Yo=Gi[0].clone(),ms=1;ms=bi.x&&Yo.x<=gn.x&&so.y>=bi.y&&Yo.y<=gn.y?ts=[Gi]:Yo.xgn.x||Yo.ygn.y?ts=[]:ts=i.clipLine([Gi],bi.x,bi.y,gn.x,gn.y)}for(var ou=0,Cv=ts;ou=this.screenRightBoundary||Kthis.screenBottomBoundary},il.prototype.isInsideGrid=function(D,J,O,K){return O>=0&&D=0&&J0){var zt;return this.prevPlacement&&this.prevPlacement.variableOffsets[Nt.crossTileID]&&this.prevPlacement.placements[Nt.crossTileID]&&this.prevPlacement.placements[Nt.crossTileID].text&&(zt=this.prevPlacement.variableOffsets[Nt.crossTileID].anchor),this.variableOffsets[Nt.crossTileID]={textOffset:It,width:O,height:K,anchor:D,textBoxScale:de,prevAnchor:zt},this.markUsedJustification(Ne,D,Nt,$e),Ne.allowVerticalPlacement&&(this.markUsedOrientation(Ne,$e,Nt),this.placedOrientations[Nt.crossTileID]=$e),{shift:Bt,placedGlyphBoxes:Ft}}},bs.prototype.placeLayerBucketPart=function(D,J,O){var K=this,de=D.parameters,ne=de.bucket,be=de.layout,Be=de.posMatrix,ht=de.textLabelPlaneMatrix,Yt=de.labelToScreenMatrix,cr=de.textPixelRatio,Nt=de.holdingForFade,Ne=de.collisionBoxArray,$e=de.partiallyEvaluatedTextSize,ot=de.collisionGroup,It=be.get(\"text-optional\"),Bt=be.get(\"icon-optional\"),Ft=be.get(\"text-allow-overlap\"),Ut=be.get(\"icon-allow-overlap\"),zt=be.get(\"text-rotation-alignment\")===\"map\",_t=be.get(\"text-pitch-alignment\")===\"map\",Dt=be.get(\"icon-text-fit\")!==\"none\",vt=be.get(\"symbol-z-order\")===\"viewport-y\",lr=Ft&&(Ut||!ne.hasIconData()||Bt),yr=Ut&&(Ft||!ne.hasTextData()||It);!ne.collisionArrays&&Ne&&ne.deserializeCollisionBoxes(Ne);var Br=function(Ei,Oi){if(!J[Ei.crossTileID]){if(Nt){K.placements[Ei.crossTileID]=new zs(!1,!1,!1);return}var Gi=!1,on=!1,zn=!0,Ja=null,co={box:null,offscreen:null},ts={box:null,offscreen:null},so=null,Yo=null,ms=null,ou=0,Cv=0,Lv=0;Oi.textFeatureIndex?ou=Oi.textFeatureIndex:Ei.useRuntimeCollisionCircles&&(ou=Ei.featureIndex),Oi.verticalTextFeatureIndex&&(Cv=Oi.verticalTextFeatureIndex);var wd=Oi.textBox;if(wd){var Kv=function(vc){var tu=i.WritingMode.horizontal;if(ne.allowVerticalPlacement&&!vc&&K.prevPlacement){var Sd=K.prevPlacement.placedOrientations[Ei.crossTileID];Sd&&(K.placedOrientations[Ei.crossTileID]=Sd,tu=Sd,K.markUsedOrientation(ne,tu,Ei))}return tu},hg=function(vc,tu){if(ne.allowVerticalPlacement&&Ei.numVerticalGlyphVertices>0&&Oi.verticalTextBox)for(var Sd=0,vy=ne.writingModes;Sd0&&(Ud=Ud.filter(function(vc){return vc!==Ad.anchor}),Ud.unshift(Ad.anchor))}var Pv=function(vc,tu,Sd){for(var vy=vc.x2-vc.x1,L1=vc.y2-vc.y1,wu=Ei.textBoxScale,Yx=Dt&&!Ut?tu:null,lm={box:[],offscreen:!1},Ow=Ft?Ud.length*2:Ud.length,Rv=0;Rv=Ud.length,Kx=K.attemptAnchorPlacement(um,vc,vy,L1,wu,zt,_t,cr,Be,ot,Bw,Ei,ne,Sd,Yx);if(Kx&&(lm=Kx.placedGlyphBoxes,lm&&lm.box&&lm.box.length)){Gi=!0,Ja=Kx.shift;break}}return lm},Jv=function(){return Pv(wd,Oi.iconBox,i.WritingMode.horizontal)},Iv=function(){var vc=Oi.verticalTextBox,tu=co&&co.box&&co.box.length;return ne.allowVerticalPlacement&&!tu&&Ei.numVerticalGlyphVertices>0&&vc?Pv(vc,Oi.verticalIconBox,i.WritingMode.vertical):{box:null,offscreen:null}};hg(Jv,Iv),co&&(Gi=co.box,zn=co.offscreen);var fy=Kv(co&&co.box);if(!Gi&&K.prevPlacement){var dg=K.prevPlacement.variableOffsets[Ei.crossTileID];dg&&(K.variableOffsets[Ei.crossTileID]=dg,K.markUsedJustification(ne,dg.anchor,Ei,fy))}}else{var gp=function(vc,tu){var Sd=K.collisionIndex.placeCollisionBox(vc,Ft,cr,Be,ot.predicate);return Sd&&Sd.box&&Sd.box.length&&(K.markUsedOrientation(ne,tu,Ei),K.placedOrientations[Ei.crossTileID]=tu),Sd},Td=function(){return gp(wd,i.WritingMode.horizontal)},mp=function(){var vc=Oi.verticalTextBox;return ne.allowVerticalPlacement&&Ei.numVerticalGlyphVertices>0&&vc?gp(vc,i.WritingMode.vertical):{box:null,offscreen:null}};hg(Td,mp),Kv(co&&co.box&&co.box.length)}}if(so=co,Gi=so&&so.box&&so.box.length>0,zn=so&&so.offscreen,Ei.useRuntimeCollisionCircles){var oh=ne.text.placedSymbolArray.get(Ei.centerJustifiedTextSymbolIndex),vg=i.evaluateSizeForFeature(ne.textSizeData,$e,oh),hy=be.get(\"text-padding\"),Zh=Ei.collisionCircleDiameter;Yo=K.collisionIndex.placeCollisionCircles(Ft,oh,ne.lineVertexArray,ne.glyphOffsetArray,vg,Be,ht,Yt,O,_t,ot.predicate,Zh,hy),Gi=Ft||Yo.circles.length>0&&!Yo.collisionDetected,zn=zn&&Yo.offscreen}if(Oi.iconFeatureIndex&&(Lv=Oi.iconFeatureIndex),Oi.iconBox){var am=function(vc){var tu=Dt&&Ja?nc(vc,Ja.x,Ja.y,zt,_t,K.transform.angle):vc;return K.collisionIndex.placeCollisionBox(tu,Ut,cr,Be,ot.predicate)};ts&&ts.box&&ts.box.length&&Oi.verticalIconBox?(ms=am(Oi.verticalIconBox),on=ms.box.length>0):(ms=am(Oi.iconBox),on=ms.box.length>0),zn=zn&&ms.offscreen}var k1=It||Ei.numHorizontalGlyphVertices===0&&Ei.numVerticalGlyphVertices===0,C1=Bt||Ei.numIconVertices===0;if(!k1&&!C1?on=Gi=on&&Gi:C1?k1||(on=on&&Gi):Gi=on&&Gi,Gi&&so&&so.box&&(ts&&ts.box&&Cv?K.collisionIndex.insertCollisionBox(so.box,be.get(\"text-ignore-placement\"),ne.bucketInstanceId,Cv,ot.ID):K.collisionIndex.insertCollisionBox(so.box,be.get(\"text-ignore-placement\"),ne.bucketInstanceId,ou,ot.ID)),on&&ms&&K.collisionIndex.insertCollisionBox(ms.box,be.get(\"icon-ignore-placement\"),ne.bucketInstanceId,Lv,ot.ID),Yo&&(Gi&&K.collisionIndex.insertCollisionCircles(Yo.circles,be.get(\"text-ignore-placement\"),ne.bucketInstanceId,ou,ot.ID),O)){var dy=ne.bucketInstanceId,om=K.collisionCircleArrays[dy];om===void 0&&(om=K.collisionCircleArrays[dy]=new Io);for(var sm=0;sm=0;--ci){var bi=Di[ci];Br(ne.symbolInstances.get(bi),ne.collisionArrays[bi])}else for(var gn=D.symbolInstanceStart;gn=0&&(ne>=0&&Yt!==ne?D.text.placedSymbolArray.get(Yt).crossTileID=0:D.text.placedSymbolArray.get(Yt).crossTileID=O.crossTileID)}},bs.prototype.markUsedOrientation=function(D,J,O){for(var K=J===i.WritingMode.horizontal||J===i.WritingMode.horizontalOnly?J:0,de=J===i.WritingMode.vertical?J:0,ne=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex],be=0,Be=ne;be0||_t>0,Br=Ut.numIconVertices>0,Di=K.placedOrientations[Ut.crossTileID],ci=Di===i.WritingMode.vertical,bi=Di===i.WritingMode.horizontal||Di===i.WritingMode.horizontalOnly;if(yr){var gn=ac(lr.text),tn=ci?oa:gn;$e(D.text,zt,tn);var Ei=bi?oa:gn;$e(D.text,_t,Ei);var Oi=lr.text.isHidden();[Ut.rightJustifiedTextSymbolIndex,Ut.centerJustifiedTextSymbolIndex,Ut.leftJustifiedTextSymbolIndex].forEach(function(Lv){Lv>=0&&(D.text.placedSymbolArray.get(Lv).hidden=Oi||ci?1:0)}),Ut.verticalPlacedTextSymbolIndex>=0&&(D.text.placedSymbolArray.get(Ut.verticalPlacedTextSymbolIndex).hidden=Oi||bi?1:0);var Gi=K.variableOffsets[Ut.crossTileID];Gi&&K.markUsedJustification(D,Gi.anchor,Ut,Di);var on=K.placedOrientations[Ut.crossTileID];on&&(K.markUsedJustification(D,\"left\",Ut,on),K.markUsedOrientation(D,on,Ut))}if(Br){var zn=ac(lr.icon),Ja=!(Nt&&Ut.verticalPlacedIconSymbolIndex&&ci);if(Ut.placedIconSymbolIndex>=0){var co=Ja?zn:oa;$e(D.icon,Ut.numIconVertices,co),D.icon.placedSymbolArray.get(Ut.placedIconSymbolIndex).hidden=lr.icon.isHidden()}if(Ut.verticalPlacedIconSymbolIndex>=0){var ts=Ja?oa:zn;$e(D.icon,Ut.numVerticalIconVertices,ts),D.icon.placedSymbolArray.get(Ut.verticalPlacedIconSymbolIndex).hidden=lr.icon.isHidden()}}if(D.hasIconCollisionBoxData()||D.hasTextCollisionBoxData()){var so=D.collisionArrays[Ft];if(so){var Yo=new i.Point(0,0);if(so.textBox||so.verticalTextBox){var ms=!0;if(ht){var ou=K.variableOffsets[Dt];ou?(Yo=Su(ou.anchor,ou.width,ou.height,ou.textOffset,ou.textBoxScale),Yt&&Yo._rotate(cr?K.transform.angle:-K.transform.angle)):ms=!1}so.textBox&&Rn(D.textCollisionBox.collisionVertexArray,lr.text.placed,!ms||ci,Yo.x,Yo.y),so.verticalTextBox&&Rn(D.textCollisionBox.collisionVertexArray,lr.text.placed,!ms||bi,Yo.x,Yo.y)}var Cv=!!(!bi&&so.verticalIconBox);so.iconBox&&Rn(D.iconCollisionBox.collisionVertexArray,lr.icon.placed,Cv,Nt?Yo.x:0,Nt?Yo.y:0),so.verticalIconBox&&Rn(D.iconCollisionBox.collisionVertexArray,lr.icon.placed,!Cv,Nt?Yo.x:0,Nt?Yo.y:0)}}},It=0;ItD},bs.prototype.setStale=function(){this.stale=!0};function Rn(Y,D,J,O,K){Y.emplaceBack(D?1:0,J?1:0,O||0,K||0),Y.emplaceBack(D?1:0,J?1:0,O||0,K||0),Y.emplaceBack(D?1:0,J?1:0,O||0,K||0),Y.emplaceBack(D?1:0,J?1:0,O||0,K||0)}var _a=Math.pow(2,25),Vu=Math.pow(2,24),ql=Math.pow(2,17),xo=Math.pow(2,16),Kl=Math.pow(2,9),Ns=Math.pow(2,8),Hl=Math.pow(2,1);function ac(Y){if(Y.opacity===0&&!Y.placed)return 0;if(Y.opacity===1&&Y.placed)return 4294967295;var D=Y.placed?1:0,J=Math.floor(Y.opacity*127);return J*_a+D*Vu+J*ql+D*xo+J*Kl+D*Ns+J*Hl+D}var oa=0,qo=function(D){this._sortAcrossTiles=D.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&D.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};qo.prototype.continuePlacement=function(D,J,O,K,de){for(var ne=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var be=D[this._currentPlacementIndex],Be=J[be],ht=this.placement.collisionIndex.transform.zoom;if(Be.type===\"symbol\"&&(!Be.minzoom||Be.minzoom<=ht)&&(!Be.maxzoom||Be.maxzoom>ht)){this._inProgressLayer||(this._inProgressLayer=new qo(Be));var Yt=this._inProgressLayer.continuePlacement(O[Be.source],this.placement,this._showCollisionBoxes,Be,ne);if(Yt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Oo.prototype.commit=function(D){return this.placement.commit(D),this.placement};var Ol=512/i.EXTENT/2,Pc=function(D,J,O){this.tileID=D,this.indexedSymbolInstances={},this.bucketInstanceId=O;for(var K=0;KD.overscaledZ)for(var ht in Be){var Yt=Be[ht];Yt.tileID.isChildOf(D)&&Yt.findMatches(J.symbolInstances,D,ne)}else{var cr=D.scaledTo(Number(be)),Nt=Be[cr.key];Nt&&Nt.findMatches(J.symbolInstances,D,ne)}}for(var Ne=0;Ne0)throw new Error(\"Unimplemented: \"+ne.map(function(be){return be.command}).join(\", \")+\".\");return de.forEach(function(be){be.command!==\"setTransition\"&&K[be.command].apply(K,be.args)}),this.stylesheet=O,!0},D.prototype.addImage=function(O,K){if(this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(O,K),this._afterImageUpdated(O)},D.prototype.updateImage=function(O,K){this.imageManager.updateImage(O,K)},D.prototype.getImage=function(O){return this.imageManager.getImage(O)},D.prototype.removeImage=function(O){if(!this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(O),this._afterImageUpdated(O)},D.prototype._afterImageUpdated=function(O){this._availableImages=this.imageManager.listImages(),this._changedImages[O]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new i.Event(\"data\",{dataType:\"style\"}))},D.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},D.prototype.addSource=function(O,K,de){var ne=this;if(de===void 0&&(de={}),this._checkLoaded(),this.sourceCaches[O]!==void 0)throw new Error(\"There is already a source with this ID\");if(!K.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys(K).join(\", \")+\".\");var be=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"],Be=be.indexOf(K.type)>=0;if(!(Be&&this._validate(i.validateStyle.source,\"sources.\"+O,K,null,de))){this.map&&this.map._collectResourceTiming&&(K.collectResourceTiming=!0);var ht=this.sourceCaches[O]=new ti(O,K,this.dispatcher);ht.style=this,ht.setEventedParent(this,function(){return{isSourceLoaded:ne.loaded(),source:ht.serialize(),sourceId:O}}),ht.onAdd(this.map),this._changed=!0}},D.prototype.removeSource=function(O){if(this._checkLoaded(),this.sourceCaches[O]===void 0)throw new Error(\"There is no source with this ID\");for(var K in this._layers)if(this._layers[K].source===O)return this.fire(new i.ErrorEvent(new Error('Source \"'+O+'\" cannot be removed while layer \"'+K+'\" is using it.')));var de=this.sourceCaches[O];delete this.sourceCaches[O],delete this._updatedSources[O],de.fire(new i.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:O})),de.setEventedParent(null),de.clearTiles(),de.onRemove&&de.onRemove(this.map),this._changed=!0},D.prototype.setGeoJSONSourceData=function(O,K){this._checkLoaded();var de=this.sourceCaches[O].getSource();de.setData(K),this._changed=!0},D.prototype.getSource=function(O){return this.sourceCaches[O]&&this.sourceCaches[O].getSource()},D.prototype.addLayer=function(O,K,de){de===void 0&&(de={}),this._checkLoaded();var ne=O.id;if(this.getLayer(ne)){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+ne+'\" already exists on this map')));return}var be;if(O.type===\"custom\"){if(pl(this,i.validateCustomStyleLayer(O)))return;be=i.createStyleLayer(O)}else{if(typeof O.source==\"object\"&&(this.addSource(ne,O.source),O=i.clone$1(O),O=i.extend(O,{source:ne})),this._validate(i.validateStyle.layer,\"layers.\"+ne,O,{arrayIndex:-1},de))return;be=i.createStyleLayer(O),this._validateLayer(be),be.setEventedParent(this,{layer:{id:ne}}),this._serializedLayers[be.id]=be.serialize()}var Be=K?this._order.indexOf(K):this._order.length;if(K&&Be===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+K+'\" does not exist on this map.')));return}if(this._order.splice(Be,0,ne),this._layerOrderChanged=!0,this._layers[ne]=be,this._removedLayers[ne]&&be.source&&be.type!==\"custom\"){var ht=this._removedLayers[ne];delete this._removedLayers[ne],ht.type!==be.type?this._updatedSources[be.source]=\"clear\":(this._updatedSources[be.source]=\"reload\",this.sourceCaches[be.source].pause())}this._updateLayer(be),be.onAdd&&be.onAdd(this.map)},D.prototype.moveLayer=function(O,K){this._checkLoaded(),this._changed=!0;var de=this._layers[O];if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be moved.\")));return}if(O!==K){var ne=this._order.indexOf(O);this._order.splice(ne,1);var be=K?this._order.indexOf(K):this._order.length;if(K&&be===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+K+'\" does not exist on this map.')));return}this._order.splice(be,0,O),this._layerOrderChanged=!0}},D.prototype.removeLayer=function(O){this._checkLoaded();var K=this._layers[O];if(!K){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be removed.\")));return}K.setEventedParent(null);var de=this._order.indexOf(O);this._order.splice(de,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[O]=K,delete this._layers[O],delete this._serializedLayers[O],delete this._updatedLayers[O],delete this._updatedPaintProps[O],K.onRemove&&K.onRemove(this.map)},D.prototype.getLayer=function(O){return this._layers[O]},D.prototype.hasLayer=function(O){return O in this._layers},D.prototype.setLayerZoomRange=function(O,K,de){this._checkLoaded();var ne=this.getLayer(O);if(!ne){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot have zoom extent.\")));return}ne.minzoom===K&&ne.maxzoom===de||(K!=null&&(ne.minzoom=K),de!=null&&(ne.maxzoom=de),this._updateLayer(ne))},D.prototype.setFilter=function(O,K,de){de===void 0&&(de={}),this._checkLoaded();var ne=this.getLayer(O);if(!ne){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be filtered.\")));return}if(!i.deepEqual(ne.filter,K)){if(K==null){ne.filter=void 0,this._updateLayer(ne);return}this._validate(i.validateStyle.filter,\"layers.\"+ne.id+\".filter\",K,null,de)||(ne.filter=i.clone$1(K),this._updateLayer(ne))}},D.prototype.getFilter=function(O){return i.clone$1(this.getLayer(O).filter)},D.prototype.setLayoutProperty=function(O,K,de,ne){ne===void 0&&(ne={}),this._checkLoaded();var be=this.getLayer(O);if(!be){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}i.deepEqual(be.getLayoutProperty(K),de)||(be.setLayoutProperty(K,de,ne),this._updateLayer(be))},D.prototype.getLayoutProperty=function(O,K){var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style.\")));return}return de.getLayoutProperty(K)},D.prototype.setPaintProperty=function(O,K,de,ne){ne===void 0&&(ne={}),this._checkLoaded();var be=this.getLayer(O);if(!be){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}if(!i.deepEqual(be.getPaintProperty(K),de)){var Be=be.setPaintProperty(K,de,ne);Be&&this._updateLayer(be),this._changed=!0,this._updatedPaintProps[O]=!0}},D.prototype.getPaintProperty=function(O,K){return this.getLayer(O).getPaintProperty(K)},D.prototype.setFeatureState=function(O,K){this._checkLoaded();var de=O.source,ne=O.sourceLayer,be=this.sourceCaches[de];if(be===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+de+\"' does not exist in the map's style.\")));return}var Be=be.getSource().type;if(Be===\"geojson\"&&ne){this.fire(new i.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));return}if(Be===\"vector\"&&!ne){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),be.setFeatureState(ne,O.id,K)},D.prototype.removeFeatureState=function(O,K){this._checkLoaded();var de=O.source,ne=this.sourceCaches[de];if(ne===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+de+\"' does not exist in the map's style.\")));return}var be=ne.getSource().type,Be=be===\"vector\"?O.sourceLayer:void 0;if(be===\"vector\"&&!Be){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}if(K&&typeof O.id!=\"string\"&&typeof O.id!=\"number\"){this.fire(new i.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));return}ne.removeFeatureState(Be,O.id,K)},D.prototype.getFeatureState=function(O){this._checkLoaded();var K=O.source,de=O.sourceLayer,ne=this.sourceCaches[K];if(ne===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+K+\"' does not exist in the map's style.\")));return}var be=ne.getSource().type;if(be===\"vector\"&&!de){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}return O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),ne.getFeatureState(de,O.id)},D.prototype.getTransition=function(){return i.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},D.prototype.serialize=function(){return i.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:i.mapObject(this.sourceCaches,function(O){return O.serialize()}),layers:this._serializeLayers(this._order)},function(O){return O!==void 0})},D.prototype._updateLayer=function(O){this._updatedLayers[O.id]=!0,O.source&&!this._updatedSources[O.source]&&this.sourceCaches[O.source].getSource().type!==\"raster\"&&(this._updatedSources[O.source]=\"reload\",this.sourceCaches[O.source].pause()),this._changed=!0},D.prototype._flattenAndSortRenderedFeatures=function(O){for(var K=this,de=function(bi){return K._layers[bi].type===\"fill-extrusion\"},ne={},be=[],Be=this._order.length-1;Be>=0;Be--){var ht=this._order[Be];if(de(ht)){ne[ht]=Be;for(var Yt=0,cr=O;Yt=0;Ft--){var Ut=this._order[Ft];if(de(Ut))for(var zt=be.length-1;zt>=0;zt--){var _t=be[zt].feature;if(ne[_t.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",uc=\"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;}\",xl=\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",Gu=\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\",Os=\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",od=\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\",Po=`#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_FragColor=color*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,sd=`attribute vec2 a_pos;uniform mat4 u_matrix;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_Position=u_matrix*vec4(a_pos,0,1);}`,Ko=`varying vec2 v_pos;\n", + "#pragma mapbox: define highp vec4 outline_color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 outline_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "float 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Pa=`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\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 outline_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,af=`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\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "vec2 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Hu=`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,bl=`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\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "vec2 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Hf=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`,Ic=`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,yf=`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\n", + "void main() {\n", + "#pragma mapbox: initialize highp float base\n", + "#pragma mapbox: initialize highp float height\n", + "#pragma mapbox: initialize highp vec4 color\n", + "vec3 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;}`,Bl=`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n", + "#pragma mapbox: define lowp float base\n", + "#pragma mapbox: define lowp float height\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float base\n", + "#pragma mapbox: initialize lowp float height\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Ah=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n", + "#pragma mapbox: define lowp float base\n", + "#pragma mapbox: define lowp float height\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float base\n", + "#pragma mapbox: initialize lowp float height\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n", + "? a_pos\n", + ": vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`,Qf=`#ifdef GL_ES\n", + "precision highp float;\n", + "#endif\n", + "uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,_f=\"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;}\",Yc=`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\n", + "void 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,eh=\"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;}\",th=`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\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "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);gl_FragColor=color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,ju=`\n", + "#define scale 0.015873016\n", + "attribute 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\n", + "void 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", + "float 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);}`,jf=`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 vec2 v_uv;\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,cc=`\n", + "#define scale 0.015873016\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\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", + "void 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\n", + "float 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;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);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);}`,of=`uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Nl=`\n", + "#define scale 0.015873016\n", + "#define LINE_DISTANCE_SCALE 2.0\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float offset\n", + "#pragma mapbox: define mediump float gapwidth\n", + "#pragma mapbox: define mediump float width\n", + "#pragma mapbox: define lowp float floorwidth\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float offset\n", + "#pragma mapbox: initialize mediump float gapwidth\n", + "#pragma mapbox: initialize mediump float width\n", + "#pragma mapbox: initialize lowp float floorwidth\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`,Kc=`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\n", + "void 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\n", + "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 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Rc=`\n", + "#define scale 0.015873016\n", + "#define LINE_DISTANCE_SCALE 2.0\n", + "attribute 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\n", + "void 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\n", + "float 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);}`,gs=`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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Wf=\"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;}\",Wh=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,rh=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}`,sf=`#define SDF_PX 8.0\n", + "uniform 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\n", + "void 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\n", + "float 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Sh=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void 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\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`,Mu=`#define SDF_PX 8.0\n", + "#define SDF 1.0\n", + "#define ICON 0.0\n", + "uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void 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\n", + "float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,ih=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void 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\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`,js=Us(Cf,sc),Eu=Us(jh,Lf),Dc=Us(cs,nf),ks=Us(Gf,$l),bc=Us(fl,lc),hu=Us(Fu,Es),_u=Us(Hs,Go),nl=Us(ps,uc),nh=Us(xl,Gu),Mh=Us(Os,od),zu=Us(Po,sd),Fc=Us(Ko,Pa),wc=Us(af,Hu),bd=Us(bl,Hf),xf=Us(Ic,yf),Pf=Us(Bl,Ah),qu=Us(Qf,_f),bf=Us(Yc,eh),jl=Us(th,ju),lf=Us(jf,cc),Xh=Us(of,Nl),If=Us(Kc,Rc),Cs=Us(gs,Wf),du=Us(Wh,rh),ku=Us(sf,Sh),Xf=Us(Mu,ih);function Us(Y,D){var J=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,O=D.match(/attribute ([\\w]+) ([\\w]+)/g),K=Y.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),de=D.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),ne=de?de.concat(K):K,be={};return Y=Y.replace(J,function(Be,ht,Yt,cr,Nt){return be[Nt]=!0,ht===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_`+Nt+`\n", + "varying `+Yt+\" \"+cr+\" \"+Nt+`;\n", + "#else\n", + "uniform `+Yt+\" \"+cr+\" u_\"+Nt+`;\n", + "#endif\n", + "`:`\n", + "#ifdef HAS_UNIFORM_u_`+Nt+`\n", + " `+Yt+\" \"+cr+\" \"+Nt+\" = u_\"+Nt+`;\n", + "#endif\n", + "`}),D=D.replace(J,function(Be,ht,Yt,cr,Nt){var Ne=cr===\"float\"?\"vec2\":\"vec4\",$e=Nt.match(/color/)?\"color\":Ne;return be[Nt]?ht===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_`+Nt+`\n", + "uniform lowp float u_`+Nt+`_t;\n", + "attribute `+Yt+\" \"+Ne+\" a_\"+Nt+`;\n", + "varying `+Yt+\" \"+cr+\" \"+Nt+`;\n", + "#else\n", + "uniform `+Yt+\" \"+cr+\" u_\"+Nt+`;\n", + "#endif\n", + "`:$e===\"vec4\"?`\n", + "#ifndef HAS_UNIFORM_u_`+Nt+`\n", + " `+Nt+\" = a_\"+Nt+`;\n", + "#else\n", + " `+Yt+\" \"+cr+\" \"+Nt+\" = u_\"+Nt+`;\n", + "#endif\n", + "`:`\n", + "#ifndef HAS_UNIFORM_u_`+Nt+`\n", + " `+Nt+\" = unpack_mix_\"+$e+\"(a_\"+Nt+\", u_\"+Nt+`_t);\n", + "#else\n", + " `+Yt+\" \"+cr+\" \"+Nt+\" = u_\"+Nt+`;\n", + "#endif\n", + "`:ht===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_`+Nt+`\n", + "uniform lowp float u_`+Nt+`_t;\n", + "attribute `+Yt+\" \"+Ne+\" a_\"+Nt+`;\n", + "#else\n", + "uniform `+Yt+\" \"+cr+\" u_\"+Nt+`;\n", + "#endif\n", + "`:$e===\"vec4\"?`\n", + "#ifndef HAS_UNIFORM_u_`+Nt+`\n", + " `+Yt+\" \"+cr+\" \"+Nt+\" = a_\"+Nt+`;\n", + "#else\n", + " `+Yt+\" \"+cr+\" \"+Nt+\" = u_\"+Nt+`;\n", + "#endif\n", + "`:`\n", + "#ifndef HAS_UNIFORM_u_`+Nt+`\n", + " `+Yt+\" \"+cr+\" \"+Nt+\" = unpack_mix_\"+$e+\"(a_\"+Nt+\", u_\"+Nt+`_t);\n", + "#else\n", + " `+Yt+\" \"+cr+\" \"+Nt+\" = u_\"+Nt+`;\n", + "#endif\n", + "`}),{fragmentSource:Y,vertexSource:D,staticAttributes:O,staticUniforms:ne}}var wf=Object.freeze({__proto__:null,prelude:js,background:Eu,backgroundPattern:Dc,circle:ks,clippingMask:bc,heatmap:hu,heatmapTexture:_u,collisionBox:nl,collisionCircle:nh,debug:Mh,fill:zu,fillOutline:Fc,fillOutlinePattern:wc,fillPattern:bd,fillExtrusion:xf,fillExtrusionPattern:Pf,hillshadePrepare:qu,hillshade:bf,line:jl,lineGradient:lf,linePattern:Xh,lineSDF:If,raster:Cs,symbolIcon:du,symbolSDF:ku,symbolTextAndIcon:Xf}),zc=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};zc.prototype.bind=function(D,J,O,K,de,ne,be,Be){this.context=D;for(var ht=this.boundPaintVertexBuffers.length!==K.length,Yt=0;!ht&&Yt>16,be>>16],u_pixel_coord_lower:[ne&65535,be&65535]}}function uf(Y,D,J,O){var K=J.imageManager.getPattern(Y.from.toString()),de=J.imageManager.getPattern(Y.to.toString()),ne=J.imageManager.getPixelSize(),be=ne.width,Be=ne.height,ht=Math.pow(2,O.tileID.overscaledZ),Yt=O.tileSize*Math.pow(2,J.transform.tileZoom)/ht,cr=Yt*(O.tileID.canonical.x+O.tileID.wrap*ht),Nt=Yt*O.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:K.tl,u_pattern_br_a:K.br,u_pattern_tl_b:de.tl,u_pattern_br_b:de.br,u_texsize:[be,Be],u_mix:D.t,u_pattern_size_a:K.displaySize,u_pattern_size_b:de.displaySize,u_scale_a:D.fromScale,u_scale_b:D.toScale,u_tile_units_to_pixels:1/As(O,1,J.transform.tileZoom),u_pixel_coord_upper:[cr>>16,Nt>>16],u_pixel_coord_lower:[cr&65535,Nt&65535]}}var Zf=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_lightpos:new i.Uniform3f(Y,D.u_lightpos),u_lightintensity:new i.Uniform1f(Y,D.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,D.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,D.u_vertical_gradient),u_opacity:new i.Uniform1f(Y,D.u_opacity)}},Wl=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_lightpos:new i.Uniform3f(Y,D.u_lightpos),u_lightintensity:new i.Uniform1f(Y,D.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,D.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,D.u_vertical_gradient),u_height_factor:new i.Uniform1f(Y,D.u_height_factor),u_image:new i.Uniform1i(Y,D.u_image),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,D.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,D.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,D.u_scale),u_fade:new i.Uniform1f(Y,D.u_fade),u_opacity:new i.Uniform1f(Y,D.u_opacity)}},ah=function(Y,D,J,O){var K=D.style.light,de=K.properties.get(\"position\"),ne=[de.x,de.y,de.z],be=i.create$1();K.properties.get(\"anchor\")===\"viewport\"&&i.fromRotation(be,-D.transform.angle),i.transformMat3(ne,ne,be);var Be=K.properties.get(\"color\");return{u_matrix:Y,u_lightpos:ne,u_lightintensity:K.properties.get(\"intensity\"),u_lightcolor:[Be.r,Be.g,Be.b],u_vertical_gradient:+J,u_opacity:O}},Zu=function(Y,D,J,O,K,de,ne){return i.extend(ah(Y,D,J,O),Xu(de,D,ne),{u_height_factor:-Math.pow(2,K.overscaledZ)/ne.tileSize/8})},qc=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix)}},Tc=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_image:new i.Uniform1i(Y,D.u_image),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,D.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,D.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,D.u_scale),u_fade:new i.Uniform1f(Y,D.u_fade)}},wl=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_world:new i.Uniform2f(Y,D.u_world)}},vu=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_world:new i.Uniform2f(Y,D.u_world),u_image:new i.Uniform1i(Y,D.u_image),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,D.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,D.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,D.u_scale),u_fade:new i.Uniform1f(Y,D.u_fade)}},Oc=function(Y){return{u_matrix:Y}},cf=function(Y,D,J,O){return i.extend(Oc(Y),Xu(J,D,O))},fc=function(Y,D){return{u_matrix:Y,u_world:D}},Bc=function(Y,D,J,O,K){return i.extend(cf(Y,D,J,O),{u_world:K})},kt=function(Y,D){return{u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_scale_with_map:new i.Uniform1i(Y,D.u_scale_with_map),u_pitch_with_map:new i.Uniform1i(Y,D.u_pitch_with_map),u_extrude_scale:new i.Uniform2f(Y,D.u_extrude_scale),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix)}},Zt=function(Y,D,J,O){var K=Y.transform,de,ne;if(O.paint.get(\"circle-pitch-alignment\")===\"map\"){var be=As(J,1,K.zoom);de=!0,ne=[be,be]}else de=!1,ne=K.pixelsToGLUnits;return{u_camera_to_center_distance:K.cameraToCenterDistance,u_scale_with_map:+(O.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:Y.translatePosMatrix(D.posMatrix,J,O.paint.get(\"circle-translate\"),O.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+de,u_device_pixel_ratio:i.browser.devicePixelRatio,u_extrude_scale:ne}},Mr=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_pixels_to_tile_units:new i.Uniform1f(Y,D.u_pixels_to_tile_units),u_extrude_scale:new i.Uniform2f(Y,D.u_extrude_scale),u_overscale_factor:new i.Uniform1f(Y,D.u_overscale_factor)}},xr=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_inv_matrix:new i.UniformMatrix4f(Y,D.u_inv_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_viewport_size:new i.Uniform2f(Y,D.u_viewport_size)}},Kr=function(Y,D,J){var O=As(J,1,D.zoom),K=Math.pow(2,D.zoom-J.tileID.overscaledZ),de=J.tileID.overscaleFactor();return{u_matrix:Y,u_camera_to_center_distance:D.cameraToCenterDistance,u_pixels_to_tile_units:O,u_extrude_scale:[D.pixelsToGLUnits[0]/(O*K),D.pixelsToGLUnits[1]/(O*K)],u_overscale_factor:de}},Mi=function(Y,D,J){return{u_matrix:Y,u_inv_matrix:D,u_camera_to_center_distance:J.cameraToCenterDistance,u_viewport_size:[J.width,J.height]}},Wi=function(Y,D){return{u_color:new i.UniformColor(Y,D.u_color),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_overlay:new i.Uniform1i(Y,D.u_overlay),u_overlay_scale:new i.Uniform1f(Y,D.u_overlay_scale)}},dn=function(Y,D,J){return J===void 0&&(J=1),{u_matrix:Y,u_color:D,u_overlay:0,u_overlay_scale:J}},wn=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix)}},On=function(Y){return{u_matrix:Y}},Yi=function(Y,D){return{u_extrude_scale:new i.Uniform1f(Y,D.u_extrude_scale),u_intensity:new i.Uniform1f(Y,D.u_intensity),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix)}},$i=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_world:new i.Uniform2f(Y,D.u_world),u_image:new i.Uniform1i(Y,D.u_image),u_color_ramp:new i.Uniform1i(Y,D.u_color_ramp),u_opacity:new i.Uniform1f(Y,D.u_opacity)}},an=function(Y,D,J,O){return{u_matrix:Y,u_extrude_scale:As(D,1,J),u_intensity:O}},Fi=function(Y,D,J,O){var K=i.create();i.ortho(K,0,Y.width,Y.height,0,0,1);var de=Y.context.gl;return{u_matrix:K,u_world:[de.drawingBufferWidth,de.drawingBufferHeight],u_image:J,u_color_ramp:O,u_opacity:D.paint.get(\"heatmap-opacity\")}},ta=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_image:new i.Uniform1i(Y,D.u_image),u_latrange:new i.Uniform2f(Y,D.u_latrange),u_light:new i.Uniform2f(Y,D.u_light),u_shadow:new i.UniformColor(Y,D.u_shadow),u_highlight:new i.UniformColor(Y,D.u_highlight),u_accent:new i.UniformColor(Y,D.u_accent)}},Ca=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_image:new i.Uniform1i(Y,D.u_image),u_dimension:new i.Uniform2f(Y,D.u_dimension),u_zoom:new i.Uniform1f(Y,D.u_zoom),u_unpack:new i.Uniform4f(Y,D.u_unpack)}},Ra=function(Y,D,J){var O=J.paint.get(\"hillshade-shadow-color\"),K=J.paint.get(\"hillshade-highlight-color\"),de=J.paint.get(\"hillshade-accent-color\"),ne=J.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);J.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(ne-=Y.transform.angle);var be=!Y.options.moving;return{u_matrix:Y.transform.calculatePosMatrix(D.tileID.toUnwrapped(),be),u_image:0,u_latrange:Na(Y,D.tileID),u_light:[J.paint.get(\"hillshade-exaggeration\"),ne],u_shadow:O,u_highlight:K,u_accent:de}},La=function(Y,D){var J=D.stride,O=i.create();return i.ortho(O,0,i.EXTENT,-i.EXTENT,0,0,1),i.translate(O,O,[0,-i.EXTENT,0]),{u_matrix:O,u_image:1,u_dimension:[J,J],u_zoom:Y.overscaledZ,u_unpack:D.getUnpackVector()}};function Na(Y,D){var J=Math.pow(2,D.canonical.z),O=D.canonical.y;return[new i.MercatorCoordinate(0,O/J).toLngLat().lat,new i.MercatorCoordinate(0,(O+1)/J).toLngLat().lat]}var Zn=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_ratio:new i.Uniform1f(Y,D.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,D.u_units_to_pixels)}},Dn=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_ratio:new i.Uniform1f(Y,D.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,D.u_units_to_pixels),u_image:new i.Uniform1i(Y,D.u_image),u_image_height:new i.Uniform1f(Y,D.u_image_height)}},Ka=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_ratio:new i.Uniform1f(Y,D.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_image:new i.Uniform1i(Y,D.u_image),u_units_to_pixels:new i.Uniform2f(Y,D.u_units_to_pixels),u_scale:new i.Uniform3f(Y,D.u_scale),u_fade:new i.Uniform1f(Y,D.u_fade)}},bo=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_ratio:new i.Uniform1f(Y,D.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,D.u_units_to_pixels),u_patternscale_a:new i.Uniform2f(Y,D.u_patternscale_a),u_patternscale_b:new i.Uniform2f(Y,D.u_patternscale_b),u_sdfgamma:new i.Uniform1f(Y,D.u_sdfgamma),u_image:new i.Uniform1i(Y,D.u_image),u_tex_y_a:new i.Uniform1f(Y,D.u_tex_y_a),u_tex_y_b:new i.Uniform1f(Y,D.u_tex_y_b),u_mix:new i.Uniform1f(Y,D.u_mix)}},Zo=function(Y,D,J){var O=Y.transform;return{u_matrix:ml(Y,D,J),u_ratio:1/As(D,1,O.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_units_to_pixels:[1/O.pixelsToGLUnits[0],1/O.pixelsToGLUnits[1]]}},Ss=function(Y,D,J,O){return i.extend(Zo(Y,D,J),{u_image:0,u_image_height:O})},as=function(Y,D,J,O){var K=Y.transform,de=Ho(D,K);return{u_matrix:ml(Y,D,J),u_texsize:D.imageAtlasTexture.size,u_ratio:1/As(D,1,K.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_image:0,u_scale:[de,O.fromScale,O.toScale],u_fade:O.t,u_units_to_pixels:[1/K.pixelsToGLUnits[0],1/K.pixelsToGLUnits[1]]}},ws=function(Y,D,J,O,K){var de=Y.transform,ne=Y.lineAtlas,be=Ho(D,de),Be=J.layout.get(\"line-cap\")===\"round\",ht=ne.getDash(O.from,Be),Yt=ne.getDash(O.to,Be),cr=ht.width*K.fromScale,Nt=Yt.width*K.toScale;return i.extend(Zo(Y,D,J),{u_patternscale_a:[be/cr,-ht.height/2],u_patternscale_b:[be/Nt,-Yt.height/2],u_sdfgamma:ne.width/(Math.min(cr,Nt)*256*i.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:ht.y,u_tex_y_b:Yt.y,u_mix:K.t})};function Ho(Y,D){return 1/As(Y,1,D.tileZoom)}function ml(Y,D,J){return Y.translatePosMatrix(D.tileID.posMatrix,D,J.paint.get(\"line-translate\"),J.paint.get(\"line-translate-anchor\"))}var Ws=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_tl_parent:new i.Uniform2f(Y,D.u_tl_parent),u_scale_parent:new i.Uniform1f(Y,D.u_scale_parent),u_buffer_scale:new i.Uniform1f(Y,D.u_buffer_scale),u_fade_t:new i.Uniform1f(Y,D.u_fade_t),u_opacity:new i.Uniform1f(Y,D.u_opacity),u_image0:new i.Uniform1i(Y,D.u_image0),u_image1:new i.Uniform1i(Y,D.u_image1),u_brightness_low:new i.Uniform1f(Y,D.u_brightness_low),u_brightness_high:new i.Uniform1f(Y,D.u_brightness_high),u_saturation_factor:new i.Uniform1f(Y,D.u_saturation_factor),u_contrast_factor:new i.Uniform1f(Y,D.u_contrast_factor),u_spin_weights:new i.Uniform3f(Y,D.u_spin_weights)}},Ls=function(Y,D,J,O,K){return{u_matrix:Y,u_tl_parent:D,u_scale_parent:J,u_buffer_scale:1,u_fade_t:O.mix,u_opacity:O.opacity*K.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:K.paint.get(\"raster-brightness-min\"),u_brightness_high:K.paint.get(\"raster-brightness-max\"),u_saturation_factor:ys(K.paint.get(\"raster-saturation\")),u_contrast_factor:no(K.paint.get(\"raster-contrast\")),u_spin_weights:va(K.paint.get(\"raster-hue-rotate\"))}};function va(Y){Y*=Math.PI/180;var D=Math.sin(Y),J=Math.cos(Y);return[(2*J+1)/3,(-Math.sqrt(3)*D-J+1)/3,(Math.sqrt(3)*D-J+1)/3]}function no(Y){return Y>0?1/(1-Y):1+Y}function ys(Y){return Y>0?1-1/(1.001-Y):-Y}var rs=function(Y,D){return{u_is_size_zoom_constant:new i.Uniform1i(Y,D.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,D.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,D.u_size_t),u_size:new i.Uniform1f(Y,D.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,D.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,D.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,D.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,D.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,D.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,D.u_coord_matrix),u_is_text:new i.Uniform1i(Y,D.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,D.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_texture:new i.Uniform1i(Y,D.u_texture)}},Ql=function(Y,D){return{u_is_size_zoom_constant:new i.Uniform1i(Y,D.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,D.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,D.u_size_t),u_size:new i.Uniform1f(Y,D.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,D.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,D.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,D.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,D.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,D.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,D.u_coord_matrix),u_is_text:new i.Uniform1i(Y,D.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,D.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_texture:new i.Uniform1i(Y,D.u_texture),u_gamma_scale:new i.Uniform1f(Y,D.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,D.u_is_halo)}},Cu=function(Y,D){return{u_is_size_zoom_constant:new i.Uniform1i(Y,D.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,D.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,D.u_size_t),u_size:new i.Uniform1f(Y,D.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,D.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,D.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,D.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,D.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,D.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,D.u_coord_matrix),u_is_text:new i.Uniform1i(Y,D.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,D.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_texsize_icon:new i.Uniform2f(Y,D.u_texsize_icon),u_texture:new i.Uniform1i(Y,D.u_texture),u_texture_icon:new i.Uniform1i(Y,D.u_texture_icon),u_gamma_scale:new i.Uniform1f(Y,D.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,D.u_is_halo)}},Yu=function(Y,D,J,O,K,de,ne,be,Be,ht){var Yt=K.transform;return{u_is_size_zoom_constant:+(Y===\"constant\"||Y===\"source\"),u_is_size_feature_constant:+(Y===\"constant\"||Y===\"camera\"),u_size_t:D?D.uSizeT:0,u_size:D?D.uSize:0,u_camera_to_center_distance:Yt.cameraToCenterDistance,u_pitch:Yt.pitch/360*2*Math.PI,u_rotate_symbol:+J,u_aspect_ratio:Yt.width/Yt.height,u_fade_change:K.options.fadeDuration?K.symbolFadeChange:1,u_matrix:de,u_label_plane_matrix:ne,u_coord_matrix:be,u_is_text:+Be,u_pitch_with_map:+O,u_texsize:ht,u_texture:0}},Nc=function(Y,D,J,O,K,de,ne,be,Be,ht,Yt){var cr=K.transform;return i.extend(Yu(Y,D,J,O,K,de,ne,be,Be,ht),{u_gamma_scale:O?Math.cos(cr._pitch)*cr.cameraToCenterDistance:1,u_device_pixel_ratio:i.browser.devicePixelRatio,u_is_halo:+Yt})},pu=function(Y,D,J,O,K,de,ne,be,Be,ht){return i.extend(Nc(Y,D,J,O,K,de,ne,be,!0,Be,!0),{u_texsize_icon:ht,u_texture_icon:1})},Uc=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_opacity:new i.Uniform1f(Y,D.u_opacity),u_color:new i.UniformColor(Y,D.u_color)}},xu=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_opacity:new i.Uniform1f(Y,D.u_opacity),u_image:new i.Uniform1i(Y,D.u_image),u_pattern_tl_a:new i.Uniform2f(Y,D.u_pattern_tl_a),u_pattern_br_a:new i.Uniform2f(Y,D.u_pattern_br_a),u_pattern_tl_b:new i.Uniform2f(Y,D.u_pattern_tl_b),u_pattern_br_b:new i.Uniform2f(Y,D.u_pattern_br_b),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_mix:new i.Uniform1f(Y,D.u_mix),u_pattern_size_a:new i.Uniform2f(Y,D.u_pattern_size_a),u_pattern_size_b:new i.Uniform2f(Y,D.u_pattern_size_b),u_scale_a:new i.Uniform1f(Y,D.u_scale_a),u_scale_b:new i.Uniform1f(Y,D.u_scale_b),u_pixel_coord_upper:new i.Uniform2f(Y,D.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,D.u_pixel_coord_lower),u_tile_units_to_pixels:new i.Uniform1f(Y,D.u_tile_units_to_pixels)}},Ac=function(Y,D,J){return{u_matrix:Y,u_opacity:D,u_color:J}},Ua=function(Y,D,J,O,K,de){return i.extend(uf(O,de,J,K),{u_matrix:Y,u_opacity:D})},oo={fillExtrusion:Zf,fillExtrusionPattern:Wl,fill:qc,fillPattern:Tc,fillOutline:wl,fillOutlinePattern:vu,circle:kt,collisionBox:Mr,collisionCircle:xr,debug:Wi,clippingMask:wn,heatmap:Yi,heatmapTexture:$i,hillshade:ta,hillshadePrepare:Ca,line:Zn,lineGradient:Dn,linePattern:Ka,lineSDF:bo,raster:Ws,symbolIcon:rs,symbolSDF:Ql,symbolTextAndIcon:Cu,background:Uc,backgroundPattern:xu},Vc;function hc(Y,D,J,O,K,de,ne){for(var be=Y.context,Be=be.gl,ht=Y.useProgram(\"collisionBox\"),Yt=[],cr=0,Nt=0,Ne=0;Ne0){var zt=i.create(),_t=Bt;i.mul(zt,It.placementInvProjMatrix,Y.transform.glCoordMatrix),i.mul(zt,zt,It.placementViewportMatrix),Yt.push({circleArray:Ut,circleOffset:Nt,transform:_t,invTransform:zt}),cr+=Ut.length/4,Nt=cr}Ft&&ht.draw(be,Be.LINES,An.disabled,Vi.disabled,Y.colorModeForRenderPass(),wr.disabled,Kr(Bt,Y.transform,ot),J.id,Ft.layoutVertexBuffer,Ft.indexBuffer,Ft.segments,null,Y.transform.zoom,null,null,Ft.collisionVertexBuffer)}}if(!(!ne||!Yt.length)){var Dt=Y.useProgram(\"collisionCircle\"),vt=new i.StructArrayLayout2f1f2i16;vt.resize(cr*4),vt._trim();for(var lr=0,yr=0,Br=Yt;yr=0&&($e[It.associatedIconIndex]={shiftedAnchor:bi,angle:gn})}}if(Yt){Ne.clear();for(var Ei=Y.icon.placedSymbolArray,Oi=0;Oi0){var ne=i.browser.now(),be=(ne-Y.timeAdded)/de,Be=D?(ne-D.timeAdded)/de:-1,ht=J.getSource(),Yt=K.coveringZoomLevel({tileSize:ht.tileSize,roundZoom:ht.roundZoom}),cr=!D||Math.abs(D.tileID.overscaledZ-Yt)>Math.abs(Y.tileID.overscaledZ-Yt),Nt=cr&&Y.refreshedUponExpiration?1:i.clamp(cr?be:1-Be,0,1);return Y.refreshedUponExpiration&&be>=1&&(Y.refreshedUponExpiration=!1),D?{opacity:1,mix:1-Nt}:{opacity:Nt,mix:0}}else return{opacity:1,mix:0}}function ar(Y,D,J){var O=J.paint.get(\"background-color\"),K=J.paint.get(\"background-opacity\");if(K!==0){var de=Y.context,ne=de.gl,be=Y.transform,Be=be.tileSize,ht=J.paint.get(\"background-pattern\");if(!Y.isPatternMissing(ht)){var Yt=!ht&&O.a===1&&K===1&&Y.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(Y.renderPass===Yt){var cr=Vi.disabled,Nt=Y.depthModeForSublayer(0,Yt===\"opaque\"?An.ReadWrite:An.ReadOnly),Ne=Y.colorModeForRenderPass(),$e=Y.useProgram(ht?\"backgroundPattern\":\"background\"),ot=be.coveringTiles({tileSize:Be});ht&&(de.activeTexture.set(ne.TEXTURE0),Y.imageManager.bind(Y.context));for(var It=J.getCrossfadeParameters(),Bt=0,Ft=ot;Bt \"+J.overscaledZ);var Bt=It+\" \"+Ne+\"kb\";$a(Y,Bt),ne.draw(O,K.TRIANGLES,be,Be,wt.alphaBlended,wr.disabled,dn(de,i.Color.transparent,ot),Yt,Y.debugBuffer,Y.quadTriangleIndexBuffer,Y.debugSegments)}function $a(Y,D){Y.initDebugOverlayCanvas();var J=Y.debugOverlayCanvas,O=Y.context.gl,K=Y.debugOverlayCanvas.getContext(\"2d\");K.clearRect(0,0,J.width,J.height),K.shadowColor=\"white\",K.shadowBlur=2,K.lineWidth=1.5,K.strokeStyle=\"white\",K.textBaseline=\"top\",K.font=\"bold 36px Open Sans, sans-serif\",K.fillText(D,5,5),K.strokeText(D,5,5),Y.debugOverlayTexture.update(J),Y.debugOverlayTexture.bind(O.LINEAR,O.CLAMP_TO_EDGE)}function Co(Y,D,J){var O=Y.context,K=J.implementation;if(Y.renderPass===\"offscreen\"){var de=K.prerender;de&&(Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),de.call(K,O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState())}else if(Y.renderPass===\"translucent\"){Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),O.setStencilMode(Vi.disabled);var ne=K.renderingMode===\"3d\"?new An(Y.context.gl.LEQUAL,An.ReadWrite,Y.depthRangeFor3D):Y.depthModeForSublayer(0,An.ReadOnly);O.setDepthMode(ne),K.render(O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState(),O.bindFramebuffer.set(null)}}var Qa={symbol:w,circle:ut,heatmap:Mt,line:Cr,fill:ve,\"fill-extrusion\":Ie,hillshade:Qe,raster:qt,background:ar,debug:Aa,custom:Co},mo=function(D,J){this.context=new Xr(D),this.transform=J,this._tileTextures={},this.setup(),this.numSublayers=ti.maxUnderzooming+ti.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Vf,this.gpuTimers={}};mo.prototype.resize=function(D,J){if(this.width=D*i.browser.devicePixelRatio,this.height=J*i.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var O=0,K=this.style._order;O256&&this.clearStencil(),O.setColorMode(wt.disabled),O.setDepthMode(An.disabled);var de=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var ne=0,be=J;ne256&&this.clearStencil();var D=this.nextStencilID++,J=this.context.gl;return new Vi({func:J.NOTEQUAL,mask:255},D,255,J.KEEP,J.KEEP,J.REPLACE)},mo.prototype.stencilModeForClipping=function(D){var J=this.context.gl;return new Vi({func:J.EQUAL,mask:255},this._tileClippingMaskIDs[D.key],0,J.KEEP,J.KEEP,J.REPLACE)},mo.prototype.stencilConfigForOverlap=function(D){var J,O=this.context.gl,K=D.sort(function(ht,Yt){return Yt.overscaledZ-ht.overscaledZ}),de=K[K.length-1].overscaledZ,ne=K[0].overscaledZ-de+1;if(ne>1){this.currentStencilSource=void 0,this.nextStencilID+ne>256&&this.clearStencil();for(var be={},Be=0;Be=0;this.currentLayer--){var zt=this.style._layers[K[this.currentLayer]],_t=de[zt.source],Dt=Be[zt.source];this._renderTileClippingMasks(zt,Dt),this.renderLayer(this,_t,zt,Dt)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer0?J.pop():null},mo.prototype.isPatternMissing=function(D){if(!D)return!1;if(!D.from||!D.to)return!0;var J=this.imageManager.getPattern(D.from.toString()),O=this.imageManager.getPattern(D.to.toString());return!J||!O},mo.prototype.useProgram=function(D,J){this.cache=this.cache||{};var O=\"\"+D+(J?J.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[O]||(this.cache[O]=new Rf(this.context,D,wf[D],J,oo[D],this._showOverdrawInspector)),this.cache[O]},mo.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()},mo.prototype.setBaseState=function(){var D=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(D.FUNC_ADD)},mo.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=i.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var D=this.context.gl;this.debugOverlayTexture=new i.Texture(this.context,this.debugOverlayCanvas,D.RGBA)}},mo.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Bo=function(D,J){this.points=D,this.planes=J};Bo.fromInvProjectionMatrix=function(D,J,O){var K=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],de=Math.pow(2,O),ne=K.map(function(ht){return i.transformMat4([],ht,D)}).map(function(ht){return i.scale$1([],ht,1/ht[3]/J*de)}),be=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],Be=be.map(function(ht){var Yt=i.sub([],ne[ht[0]],ne[ht[1]]),cr=i.sub([],ne[ht[2]],ne[ht[1]]),Nt=i.normalize([],i.cross([],Yt,cr)),Ne=-i.dot(Nt,ne[ht[1]]);return Nt.concat(Ne)});return new Bo(ne,Be)};var Ps=function(D,J){this.min=D,this.max=J,this.center=i.scale$2([],i.add([],this.min,this.max),.5)};Ps.prototype.quadrant=function(D){for(var J=[D%2===0,D<2],O=i.clone$2(this.min),K=i.clone$2(this.max),de=0;de=0;if(ne===0)return 0;ne!==J.length&&(O=!1)}if(O)return 2;for(var Be=0;Be<3;Be++){for(var ht=Number.MAX_VALUE,Yt=-Number.MAX_VALUE,cr=0;crthis.max[Be]-this.min[Be])return 0}return 1};var Ts=function(D,J,O,K){if(D===void 0&&(D=0),J===void 0&&(J=0),O===void 0&&(O=0),K===void 0&&(K=0),isNaN(D)||D<0||isNaN(J)||J<0||isNaN(O)||O<0||isNaN(K)||K<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=D,this.bottom=J,this.left=O,this.right=K};Ts.prototype.interpolate=function(D,J,O){return J.top!=null&&D.top!=null&&(this.top=i.number(D.top,J.top,O)),J.bottom!=null&&D.bottom!=null&&(this.bottom=i.number(D.bottom,J.bottom,O)),J.left!=null&&D.left!=null&&(this.left=i.number(D.left,J.left,O)),J.right!=null&&D.right!=null&&(this.right=i.number(D.right,J.right,O)),this},Ts.prototype.getCenter=function(D,J){var O=i.clamp((this.left+D-this.right)/2,0,D),K=i.clamp((this.top+J-this.bottom)/2,0,J);return new i.Point(O,K)},Ts.prototype.equals=function(D){return this.top===D.top&&this.bottom===D.bottom&&this.left===D.left&&this.right===D.right},Ts.prototype.clone=function(){return new Ts(this.top,this.bottom,this.left,this.right)},Ts.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var wo=function(D,J,O,K,de){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=de===void 0?!0:de,this._minZoom=D||0,this._maxZoom=J||22,this._minPitch=O==null?0:O,this._maxPitch=K==null?60:K,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Ts,this._posMatrixCache={},this._alignedPosMatrixCache={}},To={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};wo.prototype.clone=function(){var D=new wo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return D.tileSize=this.tileSize,D.latRange=this.latRange,D.width=this.width,D.height=this.height,D._center=this._center,D.zoom=this.zoom,D.angle=this.angle,D._fov=this._fov,D._pitch=this._pitch,D._unmodified=this._unmodified,D._edgeInsets=this._edgeInsets.clone(),D._calcMatrices(),D},To.minZoom.get=function(){return this._minZoom},To.minZoom.set=function(Y){this._minZoom!==Y&&(this._minZoom=Y,this.zoom=Math.max(this.zoom,Y))},To.maxZoom.get=function(){return this._maxZoom},To.maxZoom.set=function(Y){this._maxZoom!==Y&&(this._maxZoom=Y,this.zoom=Math.min(this.zoom,Y))},To.minPitch.get=function(){return this._minPitch},To.minPitch.set=function(Y){this._minPitch!==Y&&(this._minPitch=Y,this.pitch=Math.max(this.pitch,Y))},To.maxPitch.get=function(){return this._maxPitch},To.maxPitch.set=function(Y){this._maxPitch!==Y&&(this._maxPitch=Y,this.pitch=Math.min(this.pitch,Y))},To.renderWorldCopies.get=function(){return this._renderWorldCopies},To.renderWorldCopies.set=function(Y){Y===void 0?Y=!0:Y===null&&(Y=!1),this._renderWorldCopies=Y},To.worldSize.get=function(){return this.tileSize*this.scale},To.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},To.size.get=function(){return new i.Point(this.width,this.height)},To.bearing.get=function(){return-this.angle/Math.PI*180},To.bearing.set=function(Y){var D=-i.wrap(Y,-180,180)*Math.PI/180;this.angle!==D&&(this._unmodified=!1,this.angle=D,this._calcMatrices(),this.rotationMatrix=i.create$2(),i.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},To.pitch.get=function(){return this._pitch/Math.PI*180},To.pitch.set=function(Y){var D=i.clamp(Y,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==D&&(this._unmodified=!1,this._pitch=D,this._calcMatrices())},To.fov.get=function(){return this._fov/Math.PI*180},To.fov.set=function(Y){Y=Math.max(.01,Math.min(60,Y)),this._fov!==Y&&(this._unmodified=!1,this._fov=Y/180*Math.PI,this._calcMatrices())},To.zoom.get=function(){return this._zoom},To.zoom.set=function(Y){var D=Math.min(Math.max(Y,this.minZoom),this.maxZoom);this._zoom!==D&&(this._unmodified=!1,this._zoom=D,this.scale=this.zoomScale(D),this.tileZoom=Math.floor(D),this.zoomFraction=D-this.tileZoom,this._constrain(),this._calcMatrices())},To.center.get=function(){return this._center},To.center.set=function(Y){Y.lat===this._center.lat&&Y.lng===this._center.lng||(this._unmodified=!1,this._center=Y,this._constrain(),this._calcMatrices())},To.padding.get=function(){return this._edgeInsets.toJSON()},To.padding.set=function(Y){this._edgeInsets.equals(Y)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Y,1),this._calcMatrices())},To.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},wo.prototype.isPaddingEqual=function(D){return this._edgeInsets.equals(D)},wo.prototype.interpolatePadding=function(D,J,O){this._unmodified=!1,this._edgeInsets.interpolate(D,J,O),this._constrain(),this._calcMatrices()},wo.prototype.coveringZoomLevel=function(D){var J=(D.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/D.tileSize));return Math.max(0,J)},wo.prototype.getVisibleUnwrappedCoordinates=function(D){var J=[new i.UnwrappedTileID(0,D)];if(this._renderWorldCopies)for(var O=this.pointCoordinate(new i.Point(0,0)),K=this.pointCoordinate(new i.Point(this.width,0)),de=this.pointCoordinate(new i.Point(this.width,this.height)),ne=this.pointCoordinate(new i.Point(0,this.height)),be=Math.floor(Math.min(O.x,K.x,de.x,ne.x)),Be=Math.floor(Math.max(O.x,K.x,de.x,ne.x)),ht=1,Yt=be-ht;Yt<=Be+ht;Yt++)Yt!==0&&J.push(new i.UnwrappedTileID(Yt,D));return J},wo.prototype.coveringTiles=function(D){var J=this.coveringZoomLevel(D),O=J;if(D.minzoom!==void 0&&JD.maxzoom&&(J=D.maxzoom);var K=i.MercatorCoordinate.fromLngLat(this.center),de=Math.pow(2,J),ne=[de*K.x,de*K.y,0],be=Bo.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,J),Be=D.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(Be=J);var ht=3,Yt=function(ci){return{aabb:new Ps([ci*de,0,0],[(ci+1)*de,de,0]),zoom:0,x:0,y:0,wrap:ci,fullyVisible:!1}},cr=[],Nt=[],Ne=J,$e=D.reparseOverscaled?O:J;if(this._renderWorldCopies)for(var ot=1;ot<=3;ot++)cr.push(Yt(-ot)),cr.push(Yt(ot));for(cr.push(Yt(0));cr.length>0;){var It=cr.pop(),Bt=It.x,Ft=It.y,Ut=It.fullyVisible;if(!Ut){var zt=It.aabb.intersects(be);if(zt===0)continue;Ut=zt===2}var _t=It.aabb.distanceX(ne),Dt=It.aabb.distanceY(ne),vt=Math.max(Math.abs(_t),Math.abs(Dt)),lr=ht+(1<lr&&It.zoom>=Be){Nt.push({tileID:new i.OverscaledTileID(It.zoom===Ne?$e:It.zoom,It.wrap,It.zoom,Bt,Ft),distanceSq:i.sqrLen([ne[0]-.5-Bt,ne[1]-.5-Ft])});continue}for(var yr=0;yr<4;yr++){var Br=(Bt<<1)+yr%2,Di=(Ft<<1)+(yr>>1);cr.push({aabb:It.aabb.quadrant(yr),zoom:It.zoom+1,x:Br,y:Di,wrap:It.wrap,fullyVisible:Ut})}}return Nt.sort(function(ci,bi){return ci.distanceSq-bi.distanceSq}).map(function(ci){return ci.tileID})},wo.prototype.resize=function(D,J){this.width=D,this.height=J,this.pixelsToGLUnits=[2/D,-2/J],this._constrain(),this._calcMatrices()},To.unmodified.get=function(){return this._unmodified},wo.prototype.zoomScale=function(D){return Math.pow(2,D)},wo.prototype.scaleZoom=function(D){return Math.log(D)/Math.LN2},wo.prototype.project=function(D){var J=i.clamp(D.lat,-this.maxValidLatitude,this.maxValidLatitude);return new i.Point(i.mercatorXfromLng(D.lng)*this.worldSize,i.mercatorYfromLat(J)*this.worldSize)},wo.prototype.unproject=function(D){return new i.MercatorCoordinate(D.x/this.worldSize,D.y/this.worldSize).toLngLat()},To.point.get=function(){return this.project(this.center)},wo.prototype.setLocationAtPoint=function(D,J){var O=this.pointCoordinate(J),K=this.pointCoordinate(this.centerPoint),de=this.locationCoordinate(D),ne=new i.MercatorCoordinate(de.x-(O.x-K.x),de.y-(O.y-K.y));this.center=this.coordinateLocation(ne),this._renderWorldCopies&&(this.center=this.center.wrap())},wo.prototype.locationPoint=function(D){return this.coordinatePoint(this.locationCoordinate(D))},wo.prototype.pointLocation=function(D){return this.coordinateLocation(this.pointCoordinate(D))},wo.prototype.locationCoordinate=function(D){return i.MercatorCoordinate.fromLngLat(D)},wo.prototype.coordinateLocation=function(D){return D.toLngLat()},wo.prototype.pointCoordinate=function(D){var J=0,O=[D.x,D.y,0,1],K=[D.x,D.y,1,1];i.transformMat4(O,O,this.pixelMatrixInverse),i.transformMat4(K,K,this.pixelMatrixInverse);var de=O[3],ne=K[3],be=O[0]/de,Be=K[0]/ne,ht=O[1]/de,Yt=K[1]/ne,cr=O[2]/de,Nt=K[2]/ne,Ne=cr===Nt?0:(J-cr)/(Nt-cr);return new i.MercatorCoordinate(i.number(be,Be,Ne)/this.worldSize,i.number(ht,Yt,Ne)/this.worldSize)},wo.prototype.coordinatePoint=function(D){var J=[D.x*this.worldSize,D.y*this.worldSize,0,1];return i.transformMat4(J,J,this.pixelMatrix),new i.Point(J[0]/J[3],J[1]/J[3])},wo.prototype.getBounds=function(){return new i.LngLatBounds().extend(this.pointLocation(new i.Point(0,0))).extend(this.pointLocation(new i.Point(this.width,0))).extend(this.pointLocation(new i.Point(this.width,this.height))).extend(this.pointLocation(new i.Point(0,this.height)))},wo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new i.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},wo.prototype.setMaxBounds=function(D){D?(this.lngRange=[D.getWest(),D.getEast()],this.latRange=[D.getSouth(),D.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},wo.prototype.calculatePosMatrix=function(D,J){J===void 0&&(J=!1);var O=D.key,K=J?this._alignedPosMatrixCache:this._posMatrixCache;if(K[O])return K[O];var de=D.canonical,ne=this.worldSize/this.zoomScale(de.z),be=de.x+Math.pow(2,de.z)*D.wrap,Be=i.identity(new Float64Array(16));return i.translate(Be,Be,[be*ne,de.y*ne,0]),i.scale(Be,Be,[ne/i.EXTENT,ne/i.EXTENT,1]),i.multiply(Be,J?this.alignedProjMatrix:this.projMatrix,Be),K[O]=new Float32Array(Be),K[O]},wo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},wo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var D=-90,J=90,O=-180,K=180,de,ne,be,Be,ht=this.size,Yt=this._unmodified;if(this.latRange){var cr=this.latRange;D=i.mercatorYfromLat(cr[1])*this.worldSize,J=i.mercatorYfromLat(cr[0])*this.worldSize,de=J-DJ&&(Be=J-It)}if(this.lngRange){var Bt=Ne.x,Ft=ht.x/2;Bt-FtK&&(be=K-Ft)}(be!==void 0||Be!==void 0)&&(this.center=this.unproject(new i.Point(be!==void 0?be:Ne.x,Be!==void 0?Be:Ne.y))),this._unmodified=Yt,this._constraining=!1}},wo.prototype._calcMatrices=function(){if(this.height){var D=this._fov/2,J=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(D)*this.height;var O=Math.PI/2+this._pitch,K=this._fov*(.5+J.y/this.height),de=Math.sin(K)*this.cameraToCenterDistance/Math.sin(i.clamp(Math.PI-O-K,.01,Math.PI-.01)),ne=this.point,be=ne.x,Be=ne.y,ht=Math.cos(Math.PI/2-this._pitch)*de+this.cameraToCenterDistance,Yt=ht*1.01,cr=this.height/50,Nt=new Float64Array(16);i.perspective(Nt,this._fov,this.width/this.height,cr,Yt),Nt[8]=-J.x*2/this.width,Nt[9]=J.y*2/this.height,i.scale(Nt,Nt,[1,-1,1]),i.translate(Nt,Nt,[0,0,-this.cameraToCenterDistance]),i.rotateX(Nt,Nt,this._pitch),i.rotateZ(Nt,Nt,this.angle),i.translate(Nt,Nt,[-be,-Be,0]),this.mercatorMatrix=i.scale([],Nt,[this.worldSize,this.worldSize,this.worldSize]),i.scale(Nt,Nt,[1,1,i.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Nt,this.invProjMatrix=i.invert([],this.projMatrix);var Ne=this.width%2/2,$e=this.height%2/2,ot=Math.cos(this.angle),It=Math.sin(this.angle),Bt=be-Math.round(be)+ot*Ne+It*$e,Ft=Be-Math.round(Be)+ot*$e+It*Ne,Ut=new Float64Array(Nt);if(i.translate(Ut,Ut,[Bt>.5?Bt-1:Bt,Ft>.5?Ft-1:Ft,0]),this.alignedProjMatrix=Ut,Nt=i.create(),i.scale(Nt,Nt,[this.width/2,-this.height/2,1]),i.translate(Nt,Nt,[1,-1,0]),this.labelPlaneMatrix=Nt,Nt=i.create(),i.scale(Nt,Nt,[1,-1,1]),i.translate(Nt,Nt,[-1,-1,0]),i.scale(Nt,Nt,[2/this.width,2/this.height,1]),this.glCoordMatrix=Nt,this.pixelMatrix=i.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),Nt=i.invert(new Float64Array(16),this.pixelMatrix),!Nt)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=Nt,this._posMatrixCache={},this._alignedPosMatrixCache={}}},wo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var D=this.pointCoordinate(new i.Point(0,0)),J=[D.x*this.worldSize,D.y*this.worldSize,0,1],O=i.transformMat4(J,J,this.pixelMatrix);return O[3]/this.cameraToCenterDistance},wo.prototype.getCameraPoint=function(){var D=this._pitch,J=Math.tan(D)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.Point(0,J))},wo.prototype.getCameraQueryGeometry=function(D){var J=this.getCameraPoint();if(D.length===1)return[D[0],J];for(var O=J.x,K=J.y,de=J.x,ne=J.y,be=0,Be=D;be=3&&!D.some(function(O){return isNaN(O)})){var J=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(D[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+D[2],+D[1]],zoom:+D[0],bearing:J,pitch:+(D[4]||0)}),!0}return!1},Ul.prototype._updateHashUnthrottled=function(){var D=i.window.location.href.replace(/(#.+)?$/,this.getHashString());try{i.window.history.replaceState(i.window.history.state,null,D)}catch(J){}};var Lu={linearity:.3,easing:i.bezier(0,0,.3,1)},au=i.extend({deceleration:2500,maxSpeed:1400},Lu),Js=i.extend({deceleration:20,maxSpeed:1400},Lu),eu=i.extend({deceleration:1e3,maxSpeed:360},Lu),dc=i.extend({deceleration:1e3,maxSpeed:90},Lu),Tl=function(D){this._map=D,this.clear()};Tl.prototype.clear=function(){this._inertiaBuffer=[]},Tl.prototype.record=function(D){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:i.browser.now(),settings:D})},Tl.prototype._drainInertiaBuffer=function(){for(var D=this._inertiaBuffer,J=i.browser.now(),O=160;D.length>0&&J-D[0].time>O;)D.shift()},Tl.prototype._onMoveEnd=function(D){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var J={zoom:0,bearing:0,pitch:0,pan:new i.Point(0,0),pinchAround:void 0,around:void 0},O=0,K=this._inertiaBuffer;O=this._clickTolerance||this._map.fire(new se(D.type,this._map,D))},Ve.prototype.dblclick=function(D){return this._firePreventable(new se(D.type,this._map,D))},Ve.prototype.mouseover=function(D){this._map.fire(new se(D.type,this._map,D))},Ve.prototype.mouseout=function(D){this._map.fire(new se(D.type,this._map,D))},Ve.prototype.touchstart=function(D){return this._firePreventable(new Te(D.type,this._map,D))},Ve.prototype.touchmove=function(D){this._map.fire(new Te(D.type,this._map,D))},Ve.prototype.touchend=function(D){this._map.fire(new Te(D.type,this._map,D))},Ve.prototype.touchcancel=function(D){this._map.fire(new Te(D.type,this._map,D))},Ve.prototype._firePreventable=function(D){if(this._map.fire(D),D.defaultPrevented)return{}},Ve.prototype.isEnabled=function(){return!0},Ve.prototype.isActive=function(){return!1},Ve.prototype.enable=function(){},Ve.prototype.disable=function(){};var Ye=function(D){this._map=D};Ye.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Ye.prototype.mousemove=function(D){this._map.fire(new se(D.type,this._map,D))},Ye.prototype.mousedown=function(){this._delayContextMenu=!0},Ye.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new se(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Ye.prototype.contextmenu=function(D){this._delayContextMenu?this._contextMenuEvent=D:this._map.fire(new se(D.type,this._map,D)),this._map.listens(\"contextmenu\")&&D.preventDefault()},Ye.prototype.isEnabled=function(){return!0},Ye.prototype.isActive=function(){return!1},Ye.prototype.enable=function(){},Ye.prototype.disable=function(){};var Pt=function(D,J){this._map=D,this._el=D.getCanvasContainer(),this._container=D.getContainer(),this._clickTolerance=J.clickTolerance||1};Pt.prototype.isEnabled=function(){return!!this._enabled},Pt.prototype.isActive=function(){return!!this._active},Pt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Pt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Pt.prototype.mousedown=function(D,J){this.isEnabled()&&D.shiftKey&&D.button===0&&(o.disableDrag(),this._startPos=this._lastPos=J,this._active=!0)},Pt.prototype.mousemoveWindow=function(D,J){if(this._active){var O=J;if(!(this._lastPos.equals(O)||!this._box&&O.dist(this._startPos)this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=D.timeStamp),O.length===this.numTouches&&(this.centroid=Wt(J),this.touches=at(O,J)))},zr.prototype.touchmove=function(D,J,O){if(!(this.aborted||!this.centroid)){var K=at(O,J);for(var de in this.touches){var ne=this.touches[de],be=K[de];(!be||be.dist(ne)>Ur)&&(this.aborted=!0)}}},zr.prototype.touchend=function(D,J,O){if((!this.centroid||D.timeStamp-this.startTime>pr)&&(this.aborted=!0),O.length===0){var K=!this.aborted&&this.centroid;if(this.reset(),K)return K}};var gi=function(D){this.singleTap=new zr(D),this.numTaps=D.numTaps,this.reset()};gi.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},gi.prototype.touchstart=function(D,J,O){this.singleTap.touchstart(D,J,O)},gi.prototype.touchmove=function(D,J,O){this.singleTap.touchmove(D,J,O)},gi.prototype.touchend=function(D,J,O){var K=this.singleTap.touchend(D,J,O);if(K){var de=D.timeStamp-this.lastTime0&&(this._active=!0);var K=at(O,J),de=new i.Point(0,0),ne=new i.Point(0,0),be=0;for(var Be in K){var ht=K[Be],Yt=this._touches[Be];Yt&&(de._add(ht),ne._add(ht.sub(Yt)),be++,K[Be]=ht)}if(this._touches=K,!(beMath.abs(Y.x)}var Un=100,ja=function(Y){function D(){Y.apply(this,arguments)}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.reset=function(){Y.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},D.prototype._start=function(O){this._lastPoints=O,Xs(O[0].sub(O[1]))&&(this._valid=!1)},D.prototype._move=function(O,K,de){var ne=O[0].sub(this._lastPoints[0]),be=O[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(ne,be,de.timeStamp),!!this._valid){this._lastPoints=O,this._active=!0;var Be=(ne.y+be.y)/2,ht=-.5;return{pitchDelta:Be*ht}}},D.prototype.gestureBeginsVertically=function(O,K,de){if(this._valid!==void 0)return this._valid;var ne=2,be=O.mag()>=ne,Be=K.mag()>=ne;if(!(!be&&!Be)){if(!be||!Be)return this._firstMove===void 0&&(this._firstMove=de),de-this._firstMove0==K.y>0;return Xs(O)&&Xs(K)&&ht}},D}(na),Fo={panStep:100,bearingStep:15,pitchStep:10},Uo=function(){var D=Fo;this._panStep=D.panStep,this._bearingStep=D.bearingStep,this._pitchStep=D.pitchStep,this._rotationDisabled=!1};Uo.prototype.reset=function(){this._active=!1},Uo.prototype.keydown=function(D){var J=this;if(!(D.altKey||D.ctrlKey||D.metaKey)){var O=0,K=0,de=0,ne=0,be=0;switch(D.keyCode){case 61:case 107:case 171:case 187:O=1;break;case 189:case 109:case 173:O=-1;break;case 37:D.shiftKey?K=-1:(D.preventDefault(),ne=-1);break;case 39:D.shiftKey?K=1:(D.preventDefault(),ne=1);break;case 38:D.shiftKey?de=1:(D.preventDefault(),be=-1);break;case 40:D.shiftKey?de=-1:(D.preventDefault(),be=1);break;default:return}return this._rotationDisabled&&(K=0,de=0),{cameraAnimation:function(Be){var ht=Be.getZoom();Be.easeTo({duration:300,easeId:\"keyboardHandler\",easing:$s,zoom:O?Math.round(ht)+O*(D.shiftKey?2:1):ht,bearing:Be.getBearing()+K*J._bearingStep,pitch:Be.getPitch()+de*J._pitchStep,offset:[-ne*J._panStep,-be*J._panStep],center:Be.getCenter()},{originalEvent:D})}}}},Uo.prototype.enable=function(){this._enabled=!0},Uo.prototype.disable=function(){this._enabled=!1,this.reset()},Uo.prototype.isEnabled=function(){return this._enabled},Uo.prototype.isActive=function(){return this._active},Uo.prototype.disableRotation=function(){this._rotationDisabled=!0},Uo.prototype.enableRotation=function(){this._rotationDisabled=!1};function $s(Y){return Y*(2-Y)}var Sl=4.000244140625,bu=1/100,dl=1/450,Sc=2,Me=function(D,J){this._map=D,this._el=D.getCanvasContainer(),this._handler=J,this._delta=0,this._defaultZoomRate=bu,this._wheelZoomRate=dl,i.bindAll([\"_onTimeout\"],this)};Me.prototype.setZoomRate=function(D){this._defaultZoomRate=D},Me.prototype.setWheelZoomRate=function(D){this._wheelZoomRate=D},Me.prototype.isEnabled=function(){return!!this._enabled},Me.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},Me.prototype.isZooming=function(){return!!this._zooming},Me.prototype.enable=function(D){this.isEnabled()||(this._enabled=!0,this._aroundCenter=D&&D.around===\"center\")},Me.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Me.prototype.wheel=function(D){if(this.isEnabled()){var J=D.deltaMode===i.window.WheelEvent.DOM_DELTA_LINE?D.deltaY*40:D.deltaY,O=i.browser.now(),K=O-(this._lastWheelEventTime||0);this._lastWheelEventTime=O,J!==0&&J%Sl===0?this._type=\"wheel\":J!==0&&Math.abs(J)<4?this._type=\"trackpad\":K>400?(this._type=null,this._lastValue=J,this._timeout=setTimeout(this._onTimeout,40,D)):this._type||(this._type=Math.abs(K*J)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,J+=this._lastValue)),D.shiftKey&&J&&(J=J/4),this._type&&(this._lastWheelEvent=D,this._delta-=J,this._active||this._start(D)),D.preventDefault()}},Me.prototype._onTimeout=function(D){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(D)},Me.prototype._start=function(D){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var J=o.mousePos(this._el,D);this._around=i.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(J)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},Me.prototype.renderFrame=function(){var D=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var J=this._map.transform;if(this._delta!==0){var O=this._type===\"wheel\"&&Math.abs(this._delta)>Sl?this._wheelZoomRate:this._defaultZoomRate,K=Sc/(1+Math.exp(-Math.abs(this._delta*O)));this._delta<0&&K!==0&&(K=1/K);var de=typeof this._targetZoom==\"number\"?J.zoomScale(this._targetZoom):J.scale;this._targetZoom=Math.min(J.maxZoom,Math.max(J.minZoom,J.scaleZoom(de*K))),this._type===\"wheel\"&&(this._startZoom=J.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var ne=typeof this._targetZoom==\"number\"?this._targetZoom:J.zoom,be=this._startZoom,Be=this._easing,ht=!1,Yt;if(this._type===\"wheel\"&&be&&Be){var cr=Math.min((i.browser.now()-this._lastWheelEventTime)/200,1),Nt=Be(cr);Yt=i.number(be,ne,Nt),cr<1?this._frameId||(this._frameId=!0):ht=!0}else Yt=ne,ht=!0;return this._active=!0,ht&&(this._active=!1,this._finishTimeout=setTimeout(function(){D._zooming=!1,D._handler._triggerRenderFrame(),delete D._targetZoom,delete D._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!ht,zoomDelta:Yt-J.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},Me.prototype._smoothOutEasing=function(D){var J=i.ease;if(this._prevEase){var O=this._prevEase,K=(i.browser.now()-O.start)/O.duration,de=O.easing(K+.01)-O.easing(K),ne=.27/Math.sqrt(de*de+1e-4)*.01,be=Math.sqrt(.27*.27-ne*ne);J=i.bezier(ne,be,.25,1)}return this._prevEase={start:i.browser.now(),duration:D,easing:J},J},Me.prototype.reset=function(){this._active=!1};var bt=function(D,J){this._clickZoom=D,this._tapZoom=J};bt.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},bt.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},bt.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},bt.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Ot=function(){this.reset()};Ot.prototype.reset=function(){this._active=!1},Ot.prototype.dblclick=function(D,J){return D.preventDefault(),{cameraAnimation:function(O){O.easeTo({duration:300,zoom:O.getZoom()+(D.shiftKey?-1:1),around:O.unproject(J)},{originalEvent:D})}}},Ot.prototype.enable=function(){this._enabled=!0},Ot.prototype.disable=function(){this._enabled=!1,this.reset()},Ot.prototype.isEnabled=function(){return this._enabled},Ot.prototype.isActive=function(){return this._active};var Lr=function(){this._tap=new gi({numTouches:1,numTaps:1}),this.reset()};Lr.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},Lr.prototype.touchstart=function(D,J,O){this._swipePoint||(this._tapTime&&D.timeStamp-this._tapTime>dr&&this.reset(),this._tapTime?O.length>0&&(this._swipePoint=J[0],this._swipeTouch=O[0].identifier):this._tap.touchstart(D,J,O))},Lr.prototype.touchmove=function(D,J,O){if(!this._tapTime)this._tap.touchmove(D,J,O);else if(this._swipePoint){if(O[0].identifier!==this._swipeTouch)return;var K=J[0],de=K.y-this._swipePoint.y;return this._swipePoint=K,D.preventDefault(),this._active=!0,{zoomDelta:de/128}}},Lr.prototype.touchend=function(D,J,O){if(this._tapTime)this._swipePoint&&O.length===0&&this.reset();else{var K=this._tap.touchend(D,J,O);K&&(this._tapTime=D.timeStamp)}},Lr.prototype.touchcancel=function(){this.reset()},Lr.prototype.enable=function(){this._enabled=!0},Lr.prototype.disable=function(){this._enabled=!1,this.reset()},Lr.prototype.isEnabled=function(){return this._enabled},Lr.prototype.isActive=function(){return this._active};var Vr=function(D,J,O){this._el=D,this._mousePan=J,this._touchPan=O};Vr.prototype.enable=function(D){this._inertiaOptions=D||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},Vr.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},Vr.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Vr.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Or=function(D,J,O){this._pitchWithRotate=D.pitchWithRotate,this._mouseRotate=J,this._mousePitch=O};Or.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Or.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Or.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Or.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Nr=function(D,J,O,K){this._el=D,this._touchZoom=J,this._touchRotate=O,this._tapDragZoom=K,this._rotationDisabled=!1,this._enabled=!0};Nr.prototype.enable=function(D){this._touchZoom.enable(D),this._rotationDisabled||this._touchRotate.enable(D),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},Nr.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},Nr.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Nr.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Nr.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Nr.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var vi=function(Y){return Y.zoom||Y.drag||Y.pitch||Y.rotate},Ni=function(Y){function D(){Y.apply(this,arguments)}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D}(i.Event);function qi(Y){return Y.panDelta&&Y.panDelta.mag()||Y.zoomDelta||Y.bearingDelta||Y.pitchDelta}var Si=function(D,J){this._map=D,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Tl(D),this._bearingSnap=J.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(J),i.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var O=this._el;this._listeners=[[O,\"touchstart\",{passive:!0}],[O,\"touchmove\",{passive:!1}],[O,\"touchend\",void 0],[O,\"touchcancel\",void 0],[O,\"mousedown\",void 0],[O,\"mousemove\",void 0],[O,\"mouseup\",void 0],[i.window.document,\"mousemove\",{capture:!0}],[i.window.document,\"mouseup\",void 0],[O,\"mouseover\",void 0],[O,\"mouseout\",void 0],[O,\"dblclick\",void 0],[O,\"click\",void 0],[O,\"keydown\",{capture:!1}],[O,\"keyup\",void 0],[O,\"wheel\",{passive:!1}],[O,\"contextmenu\",void 0],[i.window,\"blur\",void 0]];for(var K=0,de=this._listeners;Kbe?Math.min(2,_t):Math.max(.5,_t),ci=Math.pow(Di,1-yr),bi=ne.unproject(Ut.add(zt.mult(yr*ci)).mult(Br));ne.setLocationAtPoint(ne.renderWorldCopies?bi.wrap():bi,It)}de._fireMoveEvents(K)},function(yr){de._afterEase(K,yr)},O),this},D.prototype._prepareEase=function(O,K,de){de===void 0&&(de={}),this._moving=!0,!K&&!de.moving&&this.fire(new i.Event(\"movestart\",O)),this._zooming&&!de.zooming&&this.fire(new i.Event(\"zoomstart\",O)),this._rotating&&!de.rotating&&this.fire(new i.Event(\"rotatestart\",O)),this._pitching&&!de.pitching&&this.fire(new i.Event(\"pitchstart\",O))},D.prototype._fireMoveEvents=function(O){this.fire(new i.Event(\"move\",O)),this._zooming&&this.fire(new i.Event(\"zoom\",O)),this._rotating&&this.fire(new i.Event(\"rotate\",O)),this._pitching&&this.fire(new i.Event(\"pitch\",O))},D.prototype._afterEase=function(O,K){if(!(this._easeId&&K&&this._easeId===K)){delete this._easeId;var de=this._zooming,ne=this._rotating,be=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,de&&this.fire(new i.Event(\"zoomend\",O)),ne&&this.fire(new i.Event(\"rotateend\",O)),be&&this.fire(new i.Event(\"pitchend\",O)),this.fire(new i.Event(\"moveend\",O))}},D.prototype.flyTo=function(O,K){var de=this;if(!O.essential&&i.browser.prefersReducedMotion){var ne=i.pick(O,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(ne,K)}this.stop(),O=i.extend({offset:[0,0],speed:1.2,curve:1.42,easing:i.ease},O);var be=this.transform,Be=this.getZoom(),ht=this.getBearing(),Yt=this.getPitch(),cr=this.getPadding(),Nt=\"zoom\"in O?i.clamp(+O.zoom,be.minZoom,be.maxZoom):Be,Ne=\"bearing\"in O?this._normalizeBearing(O.bearing,ht):ht,$e=\"pitch\"in O?+O.pitch:Yt,ot=\"padding\"in O?O.padding:be.padding,It=be.zoomScale(Nt-Be),Bt=i.Point.convert(O.offset),Ft=be.centerPoint.add(Bt),Ut=be.pointLocation(Ft),zt=i.LngLat.convert(O.center||Ut);this._normalizeCenter(zt);var _t=be.project(Ut),Dt=be.project(zt).sub(_t),vt=O.curve,lr=Math.max(be.width,be.height),yr=lr/It,Br=Dt.mag();if(\"minZoom\"in O){var Di=i.clamp(Math.min(O.minZoom,Be,Nt),be.minZoom,be.maxZoom),ci=lr/be.zoomScale(Di-Be);vt=Math.sqrt(ci/Br*2)}var bi=vt*vt;function gn(so){var Yo=(yr*yr-lr*lr+(so?-1:1)*bi*bi*Br*Br)/(2*(so?yr:lr)*bi*Br);return Math.log(Math.sqrt(Yo*Yo+1)-Yo)}function tn(so){return(Math.exp(so)-Math.exp(-so))/2}function Ei(so){return(Math.exp(so)+Math.exp(-so))/2}function Oi(so){return tn(so)/Ei(so)}var Gi=gn(0),on=function(so){return Ei(Gi)/Ei(Gi+vt*so)},zn=function(so){return lr*((Ei(Gi)*Oi(Gi+vt*so)-tn(Gi))/bi)/Br},Ja=(gn(1)-Gi)/vt;if(Math.abs(Br)<1e-6||!isFinite(Ja)){if(Math.abs(lr-yr)<1e-6)return this.easeTo(O,K);var co=yrO.maxDuration&&(O.duration=0),this._zooming=!0,this._rotating=ht!==Ne,this._pitching=$e!==Yt,this._padding=!be.isPaddingEqual(ot),this._prepareEase(K,!1),this._ease(function(so){var Yo=so*Ja,ms=1/on(Yo);be.zoom=so===1?Nt:Be+be.scaleZoom(ms),de._rotating&&(be.bearing=i.number(ht,Ne,so)),de._pitching&&(be.pitch=i.number(Yt,$e,so)),de._padding&&(be.interpolatePadding(cr,ot,so),Ft=be.centerPoint.add(Bt));var ou=so===1?zt:be.unproject(_t.add(Dt.mult(zn(Yo))).mult(ms));be.setLocationAtPoint(be.renderWorldCopies?ou.wrap():ou,Ft),de._fireMoveEvents(K)},function(){return de._afterEase(K)},O),this},D.prototype.isEasing=function(){return!!this._easeFrameId},D.prototype.stop=function(){return this._stop()},D.prototype._stop=function(O,K){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var de=this._onEaseEnd;delete this._onEaseEnd,de.call(this,K)}if(!O){var ne=this.handlers;ne&&ne.stop(!1)}return this},D.prototype._ease=function(O,K,de){de.animate===!1||de.duration===0?(O(1),K()):(this._easeStart=i.browser.now(),this._easeOptions=de,this._onEaseFrame=O,this._onEaseEnd=K,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},D.prototype._renderFrameCallback=function(){var O=Math.min((i.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(O)),O<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},D.prototype._normalizeBearing=function(O,K){O=i.wrap(O,-180,180);var de=Math.abs(O-K);return Math.abs(O-360-K)180?-360:de<-180?360:0}},D}(i.Evented),Qi=function(D){D===void 0&&(D={}),this.options=D,i.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};Qi.prototype.getDefaultPosition=function(){return\"bottom-right\"},Qi.prototype.onAdd=function(D){var J=this.options&&this.options.compact;return this._map=D,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=o.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=o.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),J&&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),J===void 0&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},Qi.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Qi.prototype._setElementTitle=function(D,J){var O=this._map._getUIString(\"AttributionControl.\"+J);D.title=O,D.setAttribute(\"aria-label\",O)},Qi.prototype._toggleAttribution=function(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"true\"))},Qi.prototype._updateEditLink=function(){var D=this._editLink;D||(D=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var J=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||i.config.ACCESS_TOKEN}];if(D){var O=J.reduce(function(K,de,ne){return de.value&&(K+=de.key+\"=\"+de.value+(ne=0)return!1;return!0});var be=D.join(\" | \");be!==this._attribHTML&&(this._attribHTML=be,D.length?(this._innerContainer.innerHTML=be,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},Qi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var ji=function(){i.bindAll([\"_updateLogo\"],this),i.bindAll([\"_updateCompact\"],this)};ji.prototype.onAdd=function(D){this._map=D,this._container=o.create(\"div\",\"mapboxgl-ctrl\");var J=o.create(\"a\",\"mapboxgl-ctrl-logo\");return J.target=\"_blank\",J.rel=\"noopener nofollow\",J.href=\"https://www.mapbox.com/\",J.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),J.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(J),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},ji.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},ji.prototype.getDefaultPosition=function(){return\"bottom-left\"},ji.prototype._updateLogo=function(D){(!D||D.sourceDataType===\"metadata\")&&(this._container.style.display=this._logoRequired()?\"block\":\"none\")},ji.prototype._logoRequired=function(){if(this._map.style){var D=this._map.style.sourceCaches;for(var J in D){var O=D[J].getSource();if(O.mapbox_logo)return!0}return!1}},ji.prototype._updateCompact=function(){var D=this._container.children;if(D.length){var J=D[0];this._map.getCanvasContainer().offsetWidth<250?J.classList.add(\"mapboxgl-compact\"):J.classList.remove(\"mapboxgl-compact\")}};var oi=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};oi.prototype.add=function(D){var J=++this._id,O=this._queue;return O.push({callback:D,id:J,cancelled:!1}),J},oi.prototype.remove=function(D){for(var J=this._currentlyRunning,O=J?this._queue.concat(J):this._queue,K=0,de=O;KO.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(O.minPitch!=null&&O.maxPitch!=null&&O.minPitch>O.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(O.minPitch!=null&&O.minPitchqn)throw new Error(\"maxPitch must be less than or equal to \"+qn);var de=new wo(O.minZoom,O.maxZoom,O.minPitch,O.maxPitch,O.renderWorldCopies);if(Y.call(this,de,O),this._interactive=O.interactive,this._maxTileCacheSize=O.maxTileCacheSize,this._failIfMajorPerformanceCaveat=O.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=O.preserveDrawingBuffer,this._antialias=O.antialias,this._trackResize=O.trackResize,this._bearingSnap=O.bearingSnap,this._refreshExpiredTiles=O.refreshExpiredTiles,this._fadeDuration=O.fadeDuration,this._crossSourceCollisions=O.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=O.collectResourceTiming,this._renderTaskQueue=new oi,this._controls=[],this._mapId=i.uniqueId(),this._locale=i.extend({},Tr,O.locale),this._clickTolerance=O.clickTolerance,this._requestManager=new i.RequestManager(O.transformRequest,O.accessToken),typeof O.container==\"string\"){if(this._container=i.window.document.getElementById(O.container),!this._container)throw new Error(\"Container '\"+O.container+\"' not found.\")}else if(O.container instanceof yi)this._container=O.container;else throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");if(O.maxBounds&&this.setMaxBounds(O.maxBounds),i.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",function(){return K._update(!1)}),this.on(\"moveend\",function(){return K._update(!1)}),this.on(\"zoom\",function(){return K._update(!0)}),typeof i.window!=\"undefined\"&&(i.window.addEventListener(\"online\",this._onWindowOnline,!1),i.window.addEventListener(\"resize\",this._onWindowResize,!1),i.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new Si(this,O);var ne=typeof O.hash==\"string\"&&O.hash||void 0;this._hash=O.hash&&new Ul(ne).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:O.center,zoom:O.zoom,bearing:O.bearing,pitch:O.pitch}),O.bounds&&(this.resize(),this.fitBounds(O.bounds,i.extend({},O.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=O.localIdeographFontFamily,O.style&&this.setStyle(O.style,{localIdeographFontFamily:O.localIdeographFontFamily}),O.attributionControl&&this.addControl(new Qi({customAttribution:O.customAttribution})),this.addControl(new ji,O.logoPosition),this.on(\"style.load\",function(){K.transform.unmodified&&K.jumpTo(K.style.stylesheet)}),this.on(\"data\",function(be){K._update(be.dataType===\"style\"),K.fire(new i.Event(be.dataType+\"data\",be))}),this.on(\"dataloading\",function(be){K.fire(new i.Event(be.dataType+\"dataloading\",be))})}Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D;var J={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return D.prototype._getMapId=function(){return this._mapId},D.prototype.addControl=function(K,de){if(de===void 0&&(K.getDefaultPosition?de=K.getDefaultPosition():de=\"top-right\"),!K||!K.onAdd)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var ne=K.onAdd(this);this._controls.push(K);var be=this._controlPositions[de];return de.indexOf(\"bottom\")!==-1?be.insertBefore(ne,be.firstChild):be.appendChild(ne),this},D.prototype.removeControl=function(K){if(!K||!K.onRemove)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var de=this._controls.indexOf(K);return de>-1&&this._controls.splice(de,1),K.onRemove(this),this},D.prototype.hasControl=function(K){return this._controls.indexOf(K)>-1},D.prototype.resize=function(K){var de=this._containerDimensions(),ne=de[0],be=de[1];this._resizeCanvas(ne,be),this.transform.resize(ne,be),this.painter.resize(ne,be);var Be=!this._moving;return Be&&(this.stop(),this.fire(new i.Event(\"movestart\",K)).fire(new i.Event(\"move\",K))),this.fire(new i.Event(\"resize\",K)),Be&&this.fire(new i.Event(\"moveend\",K)),this},D.prototype.getBounds=function(){return this.transform.getBounds()},D.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},D.prototype.setMaxBounds=function(K){return this.transform.setMaxBounds(i.LngLatBounds.convert(K)),this._update()},D.prototype.setMinZoom=function(K){if(K=K==null?ui:K,K>=ui&&K<=this.transform.maxZoom)return this.transform.minZoom=K,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=K,this._update(),this.getZoom()>K&&this.setZoom(K),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},D.prototype.getMaxZoom=function(){return this.transform.maxZoom},D.prototype.setMinPitch=function(K){if(K=K==null?Xi:K,K=Xi&&K<=this.transform.maxPitch)return this.transform.minPitch=K,this._update(),this.getPitch()qn)throw new Error(\"maxPitch must be less than or equal to \"+qn);if(K>=this.transform.minPitch)return this.transform.maxPitch=K,this._update(),this.getPitch()>K&&this.setPitch(K),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},D.prototype.getMaxPitch=function(){return this.transform.maxPitch},D.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},D.prototype.setRenderWorldCopies=function(K){return this.transform.renderWorldCopies=K,this._update()},D.prototype.project=function(K){return this.transform.locationPoint(i.LngLat.convert(K))},D.prototype.unproject=function(K){return this.transform.pointLocation(i.Point.convert(K))},D.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},D.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},D.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},D.prototype._createDelegatedListener=function(K,de,ne){var be=this,Be;if(K===\"mouseenter\"||K===\"mouseover\"){var ht=!1,Yt=function(It){var Bt=be.getLayer(de)?be.queryRenderedFeatures(It.point,{layers:[de]}):[];Bt.length?ht||(ht=!0,ne.call(be,new se(K,be,It.originalEvent,{features:Bt}))):ht=!1},cr=function(){ht=!1};return{layer:de,listener:ne,delegates:{mousemove:Yt,mouseout:cr}}}else if(K===\"mouseleave\"||K===\"mouseout\"){var Nt=!1,Ne=function(It){var Bt=be.getLayer(de)?be.queryRenderedFeatures(It.point,{layers:[de]}):[];Bt.length?Nt=!0:Nt&&(Nt=!1,ne.call(be,new se(K,be,It.originalEvent)))},$e=function(It){Nt&&(Nt=!1,ne.call(be,new se(K,be,It.originalEvent)))};return{layer:de,listener:ne,delegates:{mousemove:Ne,mouseout:$e}}}else{var ot=function(It){var Bt=be.getLayer(de)?be.queryRenderedFeatures(It.point,{layers:[de]}):[];Bt.length&&(It.features=Bt,ne.call(be,It),delete It.features)};return{layer:de,listener:ne,delegates:(Be={},Be[K]=ot,Be)}}},D.prototype.on=function(K,de,ne){if(ne===void 0)return Y.prototype.on.call(this,K,de);var be=this._createDelegatedListener(K,de,ne);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[K]=this._delegatedListeners[K]||[],this._delegatedListeners[K].push(be);for(var Be in be.delegates)this.on(Be,be.delegates[Be]);return this},D.prototype.once=function(K,de,ne){if(ne===void 0)return Y.prototype.once.call(this,K,de);var be=this._createDelegatedListener(K,de,ne);for(var Be in be.delegates)this.once(Be,be.delegates[Be]);return this},D.prototype.off=function(K,de,ne){var be=this;if(ne===void 0)return Y.prototype.off.call(this,K,de);var Be=function(ht){for(var Yt=ht[K],cr=0;cr180;){var ne=J.locationPoint(Y);if(ne.x>=0&&ne.y>=0&&ne.x<=J.width&&ne.y<=J.height)break;Y.lng>J.center.lng?Y.lng-=360:Y.lng+=360}return Y}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 aa(Y,D,J){var O=Y.classList;for(var K in Nn)O.remove(\"mapboxgl-\"+J+\"-anchor-\"+K);O.add(\"mapboxgl-\"+J+\"-anchor-\"+D)}var Ki=function(Y){function D(J,O){if(Y.call(this),(J instanceof i.window.HTMLElement||O)&&(J=i.extend({element:J},O)),i.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=J&&J.anchor||\"center\",this._color=J&&J.color||\"#3FB1CE\",this._scale=J&&J.scale||1,this._draggable=J&&J.draggable||!1,this._clickTolerance=J&&J.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=J&&J.rotation||0,this._rotationAlignment=J&&J.rotationAlignment||\"auto\",this._pitchAlignment=J&&J.pitchAlignment&&J.pitchAlignment!==\"auto\"?J.pitchAlignment:this._rotationAlignment,!J||!J.element){this._defaultMarker=!0,this._element=o.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var K=o.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),de=41,ne=27;K.setAttributeNS(null,\"display\",\"block\"),K.setAttributeNS(null,\"height\",de+\"px\"),K.setAttributeNS(null,\"width\",ne+\"px\"),K.setAttributeNS(null,\"viewBox\",\"0 0 \"+ne+\" \"+de);var be=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");be.setAttributeNS(null,\"stroke\",\"none\"),be.setAttributeNS(null,\"stroke-width\",\"1\"),be.setAttributeNS(null,\"fill\",\"none\"),be.setAttributeNS(null,\"fill-rule\",\"evenodd\");var Be=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Be.setAttributeNS(null,\"fill-rule\",\"nonzero\");var ht=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");ht.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),ht.setAttributeNS(null,\"fill\",\"#000000\");for(var Yt=[{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\"}],cr=0,Nt=Yt;cr=K}this._isDragging&&(this._pos=O.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new i.Event(\"dragstart\"))),this.fire(new i.Event(\"drag\")))},D.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new i.Event(\"dragend\")),this._state=\"inactive\"},D.prototype._addDragHandler=function(O){this._element.contains(O.originalEvent.target)&&(O.preventDefault(),this._positionDelta=O.point.sub(this._pos).add(this._offset),this._pointerdownPos=O.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},D.prototype.setDraggable=function(O){return this._draggable=!!O,this._map&&(O?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this},D.prototype.isDraggable=function(){return this._draggable},D.prototype.setRotation=function(O){return this._rotation=O||0,this._update(),this},D.prototype.getRotation=function(){return this._rotation},D.prototype.setRotationAlignment=function(O){return this._rotationAlignment=O||\"auto\",this._update(),this},D.prototype.getRotationAlignment=function(){return this._rotationAlignment},D.prototype.setPitchAlignment=function(O){return this._pitchAlignment=O&&O!==\"auto\"?O:this._rotationAlignment,this._update(),this},D.prototype.getPitchAlignment=function(){return this._pitchAlignment},D}(i.Evented),Cn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},ia;function sa(Y){ia!==void 0?Y(ia):i.window.navigator.permissions!==void 0?i.window.navigator.permissions.query({name:\"geolocation\"}).then(function(D){ia=D.state!==\"denied\",Y(ia)}):(ia=!!i.window.navigator.geolocation,Y(ia))}var ba=0,is=!1,Zs=function(Y){function D(J){Y.call(this),this.options=i.extend({},Cn,J),i.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.onAdd=function(O){return this._map=O,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),sa(this._setupUI),this._container},D.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(i.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),o.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,ba=0,is=!1},D.prototype._isOutOfMapMaxBounds=function(O){var K=this._map.getMaxBounds(),de=O.coords;return K&&(de.longitudeK.getEast()||de.latitudeK.getNorth())},D.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break}},D.prototype._onSuccess=function(O){if(this._map){if(this._isOutOfMapMaxBounds(O)){this._setErrorState(),this.fire(new i.Event(\"outofmaxbounds\",O)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=O,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(O),(!this.options.trackUserLocation||this._watchState===\"ACTIVE_LOCK\")&&this._updateCamera(O),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"geolocate\",O)),this._finish()}},D.prototype._updateCamera=function(O){var K=new i.LngLat(O.coords.longitude,O.coords.latitude),de=O.coords.accuracy,ne=this._map.getBearing(),be=i.extend({bearing:ne},this.options.fitBoundsOptions);this._map.fitBounds(K.toBounds(de),be,{geolocateSource:!0})},D.prototype._updateMarker=function(O){if(O){var K=new i.LngLat(O.coords.longitude,O.coords.latitude);this._accuracyCircleMarker.setLngLat(K).addTo(this._map),this._userLocationDotMarker.setLngLat(K).addTo(this._map),this._accuracy=O.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},D.prototype._updateCircleRadius=function(){var O=this._map._container.clientHeight/2,K=this._map.unproject([0,O]),de=this._map.unproject([1,O]),ne=K.distanceTo(de),be=Math.ceil(2*this._accuracy/ne);this._circleElement.style.width=be+\"px\",this._circleElement.style.height=be+\"px\"},D.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},D.prototype._onError=function(O){if(this._map){if(this.options.trackUserLocation)if(O.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var K=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=K,this._geolocateButton.setAttribute(\"aria-label\",K),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(O.code===3&&is)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"error\",O)),this._finish()}},D.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},D.prototype._setupUI=function(O){var K=this;if(this._container.addEventListener(\"contextmenu\",function(be){return be.preventDefault()}),this._geolocateButton=o.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",O===!1){i.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var de=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=de,this._geolocateButton.setAttribute(\"aria-label\",de)}else{var ne=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=ne,this._geolocateButton.setAttribute(\"aria-label\",ne)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=o.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Ki(this._dotElement),this._circleElement=o.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Ki({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",function(be){var Be=be.originalEvent&&be.originalEvent.type===\"resize\";!be.geolocateSource&&K._watchState===\"ACTIVE_LOCK\"&&!Be&&(K._watchState=\"BACKGROUND\",K._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),K._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),K.fire(new i.Event(\"trackuserlocationend\")))})},D.prototype.trigger=function(){if(!this._setup)return i.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new i.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":ba--,is=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new i.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new i.Event(\"trackuserlocationstart\"));break}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\");break}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),ba++;var O;ba>1?(O={maximumAge:6e5,timeout:0},is=!0):(O=this.options.positionOptions,is=!1),this._geolocationWatchID=i.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,O)}}else i.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},D.prototype._clearWatch=function(){i.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},D}(i.Evented),Va={maxWidth:100,unit:\"metric\"},Ml=function(D){this.options=i.extend({},Va,D),i.bindAll([\"_onMove\",\"setUnit\"],this)};Ml.prototype.getDefaultPosition=function(){return\"bottom-left\"},Ml.prototype._onMove=function(){zo(this._map,this._container,this.options)},Ml.prototype.onAdd=function(D){return this._map=D,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",D.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Ml.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Ml.prototype.setUnit=function(D){this.options.unit=D,zo(this._map,this._container,this.options)};function zo(Y,D,J){var O=J&&J.maxWidth||100,K=Y._container.clientHeight/2,de=Y.unproject([0,K]),ne=Y.unproject([O,K]),be=de.distanceTo(ne);if(J&&J.unit===\"imperial\"){var Be=3.2808*be;if(Be>5280){var ht=Be/5280;Qs(D,O,ht,Y._getUIString(\"ScaleControl.Miles\"))}else Qs(D,O,Be,Y._getUIString(\"ScaleControl.Feet\"))}else if(J&&J.unit===\"nautical\"){var Yt=be/1852;Qs(D,O,Yt,Y._getUIString(\"ScaleControl.NauticalMiles\"))}else be>=1e3?Qs(D,O,be/1e3,Y._getUIString(\"ScaleControl.Kilometers\")):Qs(D,O,be,Y._getUIString(\"ScaleControl.Meters\"))}function Qs(Y,D,J,O){var K=Vl(J),de=K/J;Y.style.width=D*de+\"px\",Y.innerHTML=K+\" \"+O}function al(Y){var D=Math.pow(10,Math.ceil(-Math.log(Y)/Math.LN10));return Math.round(Y*D)/D}function Vl(Y){var D=Math.pow(10,(\"\"+Math.floor(Y)).length-1),J=Y/D;return J=J>=10?10:J>=5?5:J>=3?3:J>=2?2:J>=1?1:al(J),D*J}var ss=function(D){this._fullscreen=!1,D&&D.container&&(D.container instanceof i.window.HTMLElement?this._container=D.container:i.warnOnce(\"Full screen control 'container' must be a DOM element.\")),i.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in i.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in i.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in i.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in i.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};ss.prototype.onAdd=function(D){return this._map=D,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",i.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},ss.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,i.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ss.prototype._checkFullscreenSupport=function(){return!!(i.window.document.fullscreenEnabled||i.window.document.mozFullScreenEnabled||i.window.document.msFullscreenEnabled||i.window.document.webkitFullscreenEnabled)},ss.prototype._setupUI=function(){var D=this._fullscreenButton=o.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);o.create(\"span\",\"mapboxgl-ctrl-icon\",D).setAttribute(\"aria-hidden\",!0),D.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),i.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ss.prototype._updateTitle=function(){var D=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",D),this._fullscreenButton.title=D},ss.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},ss.prototype._isFullscreen=function(){return this._fullscreen},ss.prototype._changeIcon=function(){var D=i.window.document.fullscreenElement||i.window.document.mozFullScreenElement||i.window.document.webkitFullscreenElement||i.window.document.msFullscreenElement;D===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},ss.prototype._onClickFullscreen=function(){this._isFullscreen()?i.window.document.exitFullscreen?i.window.document.exitFullscreen():i.window.document.mozCancelFullScreen?i.window.document.mozCancelFullScreen():i.window.document.msExitFullscreen?i.window.document.msExitFullscreen():i.window.document.webkitCancelFullScreen&&i.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 Vs={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},Ys=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),wa=function(Y){function D(J){Y.call(this),this.options=i.extend(Object.create(Vs),J),i.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.addTo=function(O){return this._map&&this.remove(),this._map=O,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new i.Event(\"open\")),this},D.prototype.isOpen=function(){return!!this._map},D.prototype.remove=function(){return this._content&&o.remove(this._content),this._container&&(o.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new i.Event(\"close\")),this},D.prototype.getLngLat=function(){return this._lngLat},D.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},D.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},D.prototype.getElement=function(){return this._container},D.prototype.setText=function(O){return this.setDOMContent(i.window.document.createTextNode(O))},D.prototype.setHTML=function(O){var K=i.window.document.createDocumentFragment(),de=i.window.document.createElement(\"body\"),ne;for(de.innerHTML=O;ne=de.firstChild,!!ne;)K.appendChild(ne);return this.setDOMContent(K)},D.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},D.prototype.setMaxWidth=function(O){return this.options.maxWidth=O,this._update(),this},D.prototype.setDOMContent=function(O){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(O),this._createCloseButton(),this._update(),this._focusFirstElement(),this},D.prototype.addClassName=function(O){this._container&&this._container.classList.add(O)},D.prototype.removeClassName=function(O){this._container&&this._container.classList.remove(O)},D.prototype.setOffset=function(O){return this.options.offset=O,this._update(),this},D.prototype.toggleClassName=function(O){if(this._container)return this._container.classList.toggle(O)},D.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))},D.prototype._onMouseUp=function(O){this._update(O.point)},D.prototype._onMouseMove=function(O){this._update(O.point)},D.prototype._onDrag=function(O){this._update(O.point)},D.prototype._update=function(O){var K=this,de=this._lngLat||this._trackPointer;if(!(!this._map||!de||!this._content)&&(this._container||(this._container=o.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=o.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach(function(Ne){return K._container.classList.add(Ne)}),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=pn(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!O))){var ne=this._pos=this._trackPointer&&O?O:this._map.project(this._lngLat),be=this.options.anchor,Be=ol(this.options.offset);if(!be){var ht=this._container.offsetWidth,Yt=this._container.offsetHeight,cr;ne.y+Be.bottom.ythis._map.transform.height-Yt?cr=[\"bottom\"]:cr=[],ne.xthis._map.transform.width-ht/2&&cr.push(\"right\"),cr.length===0?be=\"bottom\":be=cr.join(\"-\")}var Nt=ne.add(Be[be]).round();o.setTransform(this._container,Nn[be]+\" translate(\"+Nt.x+\"px,\"+Nt.y+\"px)\"),aa(this._container,be,\"popup\")}},D.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var O=this._container.querySelector(Ys);O&&O.focus()}},D.prototype._onClose=function(){this.remove()},D}(i.Evented);function ol(Y){if(Y)if(typeof Y==\"number\"){var D=Math.round(Math.sqrt(.5*Math.pow(Y,2)));return{center:new i.Point(0,0),top:new i.Point(0,Y),\"top-left\":new i.Point(D,D),\"top-right\":new i.Point(-D,D),bottom:new i.Point(0,-Y),\"bottom-left\":new i.Point(D,-D),\"bottom-right\":new i.Point(-D,-D),left:new i.Point(Y,0),right:new i.Point(-Y,0)}}else if(Y instanceof i.Point||Array.isArray(Y)){var J=i.Point.convert(Y);return{center:J,top:J,\"top-left\":J,\"top-right\":J,bottom:J,\"bottom-left\":J,\"bottom-right\":J,left:J,right:J}}else return{center:i.Point.convert(Y.center||[0,0]),top:i.Point.convert(Y.top||[0,0]),\"top-left\":i.Point.convert(Y[\"top-left\"]||[0,0]),\"top-right\":i.Point.convert(Y[\"top-right\"]||[0,0]),bottom:i.Point.convert(Y.bottom||[0,0]),\"bottom-left\":i.Point.convert(Y[\"bottom-left\"]||[0,0]),\"bottom-right\":i.Point.convert(Y[\"bottom-right\"]||[0,0]),left:i.Point.convert(Y.left||[0,0]),right:i.Point.convert(Y.right||[0,0])};else return ol(new i.Point(0,0))}var io={version:i.version,supported:a,setRTLTextPlugin:i.setRTLTextPlugin,getRTLTextPluginStatus:i.getRTLTextPluginStatus,Map:si,NavigationControl:Ui,GeolocateControl:Zs,AttributionControl:Qi,ScaleControl:Ml,FullscreenControl:ss,Popup:wa,Marker:Ki,Style:yu,LngLat:i.LngLat,LngLatBounds:i.LngLatBounds,Point:i.Point,MercatorCoordinate:i.MercatorCoordinate,Evented:i.Evented,config:i.config,prewarm:ua,clearPrewarmedResources:ma,get accessToken(){return i.config.ACCESS_TOKEN},set accessToken(Y){i.config.ACCESS_TOKEN=Y},get baseApiUrl(){return i.config.API_URL},set baseApiUrl(Y){i.config.API_URL=Y},get workerCount(){return fn.workerCount},set workerCount(Y){fn.workerCount=Y},get maxParallelImageRequests(){return i.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Y){i.config.MAX_PARALLEL_IMAGE_REQUESTS=Y},clearStorage:function(D){i.clearTileCache(D)},workerUrl:\"\"};return io}),r})});var xGe=ye((Bxr,_Ge)=>{\"use strict\";var dw=Pr(),Qjt=Zl().sanitizeHTML,eWt=cJ(),gGe=m1();function mGe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=gGe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ag=mGe.prototype;ag.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=r7(t)};ag.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ag.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ag.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ag.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ag.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapboxLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ag.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!r7(e)){var r=tWt(e);t.addSource(this.idSource,r)}};ag.findFollowingMapboxLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function yGe(e){var t={},r={};switch(e.type){case\"circle\":dw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":dw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":dw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=eWt(n.textposition,n.iconsize);dw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),dw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":dw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function tWt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=Qjt(e.sourceattribution)),n}_Ge.exports=function(t,r,n){var i=new mGe(t,r);return i.update(n),i}});var CGe=ye((Nxr,kGe)=>{\"use strict\";var mJ=gJ(),yJ=Pr(),AGe=hx(),bGe=Oa(),rWt=ho(),iWt=yv(),i7=vf(),SGe=Cg(),nWt=SGe.drawMode,aWt=SGe.selectMode,oWt=qf().prepSelect,sWt=qf().clearOutline,lWt=qf().clearSelectionsCache,uWt=qf().selectOnClick,kx=m1(),cWt=xGe();function MGe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Gh=MGe.prototype;Gh.plot=function(e,t,r){var n=this,i=t[n.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash={},n.layerList=[]);var a;n.map?a=new Promise(function(o,s){n.updateMap(e,t,o,s)}):a=new Promise(function(o,s){n.createMap(e,t,o,s)}),r.push(a)};Gh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=EGe(a.style,t);i.accessToken=a.accesstoken;var s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new mJ.Map({container:i.div,style:o.style,center:_J(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new mJ.AttributionControl({compact:!0}));u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var c=[];c.push(new Promise(function(f){u.once(\"load\",f)})),c=c.concat(AGe.fetchTraceGeoData(e)),Promise.all(c).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Gh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=EGe(o.style,t);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(AGe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Gh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i1)for(i=0;i-1&&uWt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&i7.click(n,l.originalEvent)}}};Gh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=yJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),aWt(a)||nWt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){oWt(l,u,c,t.dragOptions,a)},iWt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Gh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Gh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i{\"use strict\";var xJ=Pr(),fWt=q_(),hWt=Zd(),LGe=Zk();PGe.exports=function(t,r,n){fWt(t,r,n,{type:\"mapbox\",attributes:LGe,handleDefaults:dWt,partition:\"y\",accessToken:r._mapboxAccessToken})};function dWt(e,t,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var i=r(\"bounds.west\"),a=r(\"bounds.east\"),o=r(\"bounds.south\"),s=r(\"bounds.north\");(i===void 0||a===void 0||o===void 0||s===void 0)&&delete t.bounds,hWt(e,t,{name:\"layers\",handleItemDefaults:vWt}),t._input=e}function vWt(e,t){function r(l,u){return xJ.coerce(e,t,LGe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",xJ.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),xJ.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var n7=ye(Np=>{\"use strict\";var RGe=gJ(),nm=Pr(),bJ=nm.strTranslate,pWt=nm.strScale,gWt=Id().getSubplotCalcData,mWt=Wp(),yWt=qa(),DGe=So(),_Wt=Zl(),xWt=CGe(),Cx=\"mapbox\",oy=Np.constants=m1();Np.name=Cx;Np.attr=\"subplot\";Np.idRoot=Cx;Np.idRegex=Np.attrRegex=nm.counterRegex(Cx);var bWt=[\"mapbox subplots and traces are deprecated!\",\"Please consider switching to `map` subplots and traces.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");Np.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}};Np.layoutAttributes=Zk();Np.supplyLayoutDefaults=IGe();var FGe=!0;Np.plot=function(t){FGe&&(FGe=!1,nm.warn(bWt));var r=t._fullLayout,n=t.calcdata,i=r._subplots[Cx];if(RGe.version!==oy.requiredVersion)throw new Error(oy.wrongVersionErrorMsg);var a=wWt(t,i);RGe.accessToken=a;for(var o=0;op/2){var k=d.split(\"|\").join(\"
\");m.text(k).attr(\"data-unformatted\",k).call(_Wt.convertToTspans,e),b=DGe.bBox(m.node())}m.attr(\"transform\",bJ(-3,-b.height+8)),v.insert(\"rect\",\".static-attribution\").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var M=1;b.width+6>p&&(M=p/(b.width+6));var T=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];v.attr(\"transform\",bJ(T[0],T[1])+pWt(M))}};function wWt(e,t){var r=e._fullLayout,n=e._context;if(n.mapboxAccessToken===\"\")return\"\";for(var i=[],a=[],o=!1,s=!1,l=0;l1&&nm.warn(oy.multipleTokensErrorMsg),i[0]):(a.length&&nm.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}function zGe(e){return typeof e==\"string\"&&(oy.styleValuesMapbox.indexOf(e)!==-1||e.indexOf(\"mapbox://\")===0||e.indexOf(\"stamen\")===0)}Np.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Cx],n=0;n{\"use strict\";var Gxr=[\"*scattermapbox* trace is deprecated!\",\"Please consider switching to the *scattermap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");qGe.exports={attributes:Kz(),supplyDefaults:YVe(),colorbar:$d(),formatLabels:uJ(),calc:_F(),plot:uGe(),hoverPoints:t7().hoverPoints,eventData:dGe(),selectPoints:pGe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:n7(),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var NGe=ye((jxr,BGe)=>{\"use strict\";BGe.exports=OGe()});var wJ=ye((Wxr,UGe)=>{\"use strict\";var y1=a5(),TWt=Tu(),{hovertemplateAttrs:AWt,templatefallbackAttrs:SWt}=Ll(),MWt=Gl(),Lx=Ao().extendFlat;UGe.exports=Lx({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:Lx({},y1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:y1.text,hovertext:y1.hovertext,marker:{line:{color:Lx({},y1.marker.line.color,{editType:\"plot\"}),width:Lx({},y1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:Lx({},y1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:Lx({},y1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:Lx({},y1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:y1.hoverinfo,hovertemplate:AWt({},{keys:[\"properties\"]}),hovertemplatefallback:SWt(),showlegend:Lx({},MWt.showlegend,{dflt:!1})},TWt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var GGe=ye((Xxr,VGe)=>{\"use strict\";var $k=Pr(),EWt=td(),kWt=wJ();VGe.exports=function(t,r,n,i){function a(c,f){return $k.coerce(t,r,kWt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!$k.isArrayOrTypedArray(o)||!o.length||!$k.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||$k.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),EWt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),$k.coerceSelectionMarkerOpacity(r,a)}});var TJ=ye((Zxr,WGe)=>{\"use strict\";var CWt=Eo(),_1=Pr(),LWt=tc(),PWt=So(),IWt=cx().makeBlank,HGe=hx();function RWt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:IWt()};if(!r)return a;var o=HGe.extractTraceFeature(e);if(!o)return a;var s=LWt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;_1.isArrayOrTypedArray(l.opacity)&&(c=function(k){var M=k.mo;return CWt(M)?+_1.constrain(M,0,1):0});var f;_1.isArrayOrTypedArray(u.color)&&(f=function(k){return k.mlc});var h;_1.isArrayOrTypedArray(u.width)&&(h=function(k){return k.mlw});for(var d=0;d{\"use strict\";var ZGe=TJ().convert,DWt=TJ().convertOnSelect,XGe=m1().traceLayerPrefix;function YGe(e,t){this.type=\"choroplethmapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",XGe+t+\"-fill\"],[\"line\",XGe+t+\"-line\"]],this.below=null}var L5=YGe.prototype;L5.update=function(e){this._update(ZGe(e)),e[0].trace._glTrace=this};L5.updateOnSelect=function(e){this._update(DWt(e))};L5._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};L5.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};KGe.exports=function(t,r){var n=r[0].trace,i=new YGe(t,n.uid),a=i.sourceId,o=ZGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var QGe=ye((Jxr,$Ge)=>{\"use strict\";var Kxr=[\"*choroplethmapbox* trace is deprecated!\",\"Please consider switching to the *choroplethmap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");$Ge.exports={attributes:wJ(),supplyDefaults:GGe(),colorbar:D_(),calc:NF(),plot:JGe(),hoverPoints:VF(),eventData:GF(),selectPoints:HF(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a{\"use strict\";eHe.exports=QGe()});var SJ=ye((Qxr,iHe)=>{\"use strict\";var FWt=Tu(),{hovertemplateAttrs:zWt,templatefallbackAttrs:qWt}=Ll(),rHe=Gl(),a7=Kz(),AJ=Ao().extendFlat;iHe.exports=AJ({lon:a7.lon,lat:a7.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:a7.text,hovertext:a7.hovertext,hoverinfo:AJ({},rHe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:zWt(),hovertemplatefallback:qWt(),showlegend:AJ({},rHe.showlegend,{dflt:!1})},FWt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var aHe=ye((ebr,nHe)=>{\"use strict\";var OWt=Pr(),BWt=td(),NWt=SJ();nHe.exports=function(t,r,n,i){function a(u,c){return OWt.coerce(t,r,NWt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),BWt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var lHe=ye((tbr,sHe)=>{\"use strict\";var MJ=Eo(),UWt=Pr().isArrayOrTypedArray,EJ=fs().BADNUM,VWt=gv(),oHe=Pr()._;sHe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=UWt(a)&&a.length,s=0;s{\"use strict\";var GWt=Eo(),kJ=Pr(),uHe=ka(),cHe=tc(),fHe=fs().BADNUM,HWt=cx().makeBlank;hHe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:HWt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=kJ.isArrayOrTypedArray(l)&&l.length,f=kJ.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=cHe.extractOpts(r),p=b.reversescale?cHe.flipScale(b.colorscale):b.colorscale,k=p[0][1],M=uHe.opacity(k)<1?k:uHe.addOpacity(k,0),T=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,M];for(s=1;s{\"use strict\";var vHe=dHe(),jWt=m1().traceLayerPrefix;function pHe(e,t){this.type=\"densitymapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",jWt+t+\"-heatmap\"]],this.below=null}var o7=pHe.prototype;o7.update=function(e){var t=this.subplot,r=this.layerList,n=vHe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};o7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};gHe.exports=function(t,r){var n=r[0].trace,i=new pHe(t,n.uid),a=i.sourceId,o=vHe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var _He=ye((nbr,yHe)=>{\"use strict\";var WWt=ho(),XWt=t7().hoverPoints,ZWt=t7().getExtraText;yHe.exports=function(t,r,n){var i=XWt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=WWt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=ZWt(s,l,o[0].t.labels),[a]}}});var bHe=ye((abr,xHe)=>{\"use strict\";xHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var THe=ye((sbr,wHe)=>{\"use strict\";var obr=[\"*densitymapbox* trace is deprecated!\",\"Please consider switching to the *densitymap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");wHe.exports={attributes:SJ(),supplyDefaults:aHe(),colorbar:D_(),formatLabels:uJ(),calc:lHe(),plot:mHe(),hoverPoints:_He(),eventData:bHe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{\"use strict\";AHe.exports=THe()});var EHe=ye((ubr,MHe)=>{MHe.exports={version:8,name:\"orto\",metadata:{\"maputnik:renderer\":\"mlgljs\"},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:\"raster\",tiles:[\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\"],tileSize:256,maxzoom:18,attribution:\"ESRI © ESRI\"},ortoInstaMaps:{type:\"raster\",tiles:[\"https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png\"],tileSize:256,maxzoom:13},ortoICGC:{type:\"raster\",tiles:[\"https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg\"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:\"vector\",url:\"https://geoserveis.icgc.cat/contextmaps/basemap.json\"}},sprite:\"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1\",glyphs:\"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf\",layers:[{id:\"background\",type:\"background\",paint:{\"background-color\":\"#F4F9F4\"}},{id:\"ortoEsri\",type:\"raster\",source:\"ortoEsri\",maxzoom:16,layout:{visibility:\"visible\"}},{id:\"ortoICGC\",type:\"raster\",source:\"ortoICGC\",minzoom:13.1,maxzoom:19,layout:{visibility:\"visible\"}},{id:\"ortoInstaMaps\",type:\"raster\",source:\"ortoInstaMaps\",maxzoom:13,layout:{visibility:\"visible\"}},{id:\"waterway_tunnel\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"waterway\",minzoom:14,filter:[\"all\",[\"in\",\"class\",\"river\",\"stream\",\"canal\"],[\"==\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,6]]},\"line-dasharray\":[2,4]}},{id:\"waterway-other\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"!in\",\"class\",\"canal\",\"river\",\"stream\"],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,2]]}}},{id:\"waterway-stream-canal\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"all\",[\"in\",\"class\",\"canal\",\"stream\"],[\"!=\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,6]]}}},{id:\"waterway-river\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"all\",[\"==\",\"class\",\"river\"],[\"!=\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.2,stops:[[10,.8],[20,4]]},\"line-opacity\":.5}},{id:\"water-offset\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",maxzoom:8,filter:[\"==\",\"$type\",\"Polygon\"],layout:{visibility:\"visible\"},paint:{\"fill-opacity\":0,\"fill-color\":\"#a0c8f0\",\"fill-translate\":{base:1,stops:[[6,[2,0]],[8,[0,0]]]}}},{id:\"water\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",layout:{visibility:\"visible\"},paint:{\"fill-color\":\"hsl(210, 67%, 85%)\",\"fill-opacity\":0}},{id:\"water-pattern\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",layout:{visibility:\"visible\"},paint:{\"fill-translate\":[0,2.5],\"fill-pattern\":\"wave\",\"fill-opacity\":1}},{id:\"landcover-ice-shelf\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"landcover\",filter:[\"==\",\"subclass\",\"ice_shelf\"],layout:{visibility:\"visible\"},paint:{\"fill-color\":\"#fff\",\"fill-opacity\":{base:1,stops:[[0,.9],[10,.3]]}}},{id:\"tunnel-service-track-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"service\",\"track\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-dasharray\":[.5,.25],\"line-width\":{base:1.2,stops:[[15,1],[16,4],[20,11]]}}},{id:\"tunnel-minor-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"minor\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-opacity\":{stops:[[12,0],[12.5,1]]},\"line-width\":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:\"tunnel-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:\"tunnel-trunk-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.7}},{id:\"tunnel-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-dasharray\":[.5,.25],\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.5}},{id:\"tunnel-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-dasharray\":[1.5,.75],\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:\"tunnel-service-track\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"service\",\"track\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-width\":{base:1.2,stops:[[15.5,0],[16,2],[20,7.5]]}}},{id:\"tunnel-minor\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"minor_road\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:\"tunnel-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff4c6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,10]]}}},{id:\"tunnel-trunk-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff4c6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"tunnel-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#ffdaa6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"tunnel-railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]},\"line-dasharray\":[2,2]}},{id:\"ferry\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"in\",\"class\",\"ferry\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(108, 159, 182, 1)\",\"line-width\":1.1,\"line-dasharray\":[2,2]}},{id:\"aeroway-taxiway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:12,filter:[\"all\",[\"in\",\"class\",\"taxiway\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(153, 153, 153, 1)\",\"line-width\":{base:1.5,stops:[[11,2],[17,12]]},\"line-opacity\":1}},{id:\"aeroway-runway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:12,filter:[\"all\",[\"in\",\"class\",\"runway\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(153, 153, 153, 1)\",\"line-width\":{base:1.5,stops:[[11,5],[17,55]]},\"line-opacity\":1}},{id:\"aeroway-taxiway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:4,filter:[\"all\",[\"in\",\"class\",\"taxiway\"],[\"==\",\"$type\",\"LineString\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(255, 255, 255, 1)\",\"line-width\":{base:1.5,stops:[[11,1],[17,10]]},\"line-opacity\":{base:1,stops:[[11,0],[12,1]]}}},{id:\"aeroway-runway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:4,filter:[\"all\",[\"in\",\"class\",\"runway\"],[\"==\",\"$type\",\"LineString\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(255, 255, 255, 1)\",\"line-width\":{base:1.5,stops:[[11,4],[17,50]]},\"line-opacity\":{base:1,stops:[[11,0],[12,1]]}}},{id:\"highway-motorway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:12,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"highway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"highway-minor-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!=\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-opacity\":{stops:[[12,0],[12.5,0]]},\"line-width\":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:\"highway-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":.5,\"line-width\":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:\"highway-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":{stops:[[7,0],[8,.6]]},\"line-width\":{base:1.2,stops:[[7,0],[8,.6],[9,1.5],[20,22]]}}},{id:\"highway-trunk-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"trunk\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":{stops:[[5,0],[6,.5]]},\"line-width\":{base:1.2,stops:[[5,0],[6,.6],[7,1.5],[20,22]]}}},{id:\"highway-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:4,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[4,0],[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":{stops:[[4,0],[5,.5]]}}},{id:\"highway-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-dasharray\":[1.5,.75],\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:\"highway-motorway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:12,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"highway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"highway-minor\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!=\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-opacity\":.5,\"line-width\":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:\"highway-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[8,.5],[20,13]]},\"line-opacity\":.5}},{id:\"highway-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[8.5,0],[9,.5],[20,18]]},\"line-opacity\":0}},{id:\"highway-trunk\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"trunk\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"highway-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"railway-transit\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"transit\"],[\"!in\",\"brunnel\",\"tunnel\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.77)\",\"line-width\":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:\"railway-transit-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"transit\"],[\"!in\",\"brunnel\",\"tunnel\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.68)\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:\"railway-service\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"rail\"],[\"has\",\"service\"]]],paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.77)\",\"line-width\":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:\"railway-service-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"rail\"],[\"has\",\"service\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.68)\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:\"railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!has\",\"service\"],[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"rail\"]]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:\"railway-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!has\",\"service\"],[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"rail\"]]],paint:{\"line-color\":\"#bbb\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:\"bridge-motorway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"bridge-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"bridge-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[8,1.5],[20,28]]}}},{id:\"bridge-trunk-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(28, 76%, 67%)\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,26]]}}},{id:\"bridge-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.5}},{id:\"bridge-path-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#f8f4f0\",\"line-width\":{base:1.2,stops:[[15,1.2],[20,18]]}}},{id:\"bridge-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]},\"line-dasharray\":[1.5,.75]}},{id:\"bridge-motorway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"bridge-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"bridge-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,20]]}}},{id:\"bridge-trunk-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]}}},{id:\"bridge-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"bridge-railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:\"bridge-railway-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:\"cablecar\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"==\",\"class\",\"cable_car\"],layout:{visibility:\"visible\",\"line-cap\":\"round\"},paint:{\"line-color\":\"hsl(0, 0%, 70%)\",\"line-width\":{base:1,stops:[[11,1],[19,2.5]]}}},{id:\"cablecar-dash\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"==\",\"class\",\"cable_car\"],layout:{visibility:\"visible\",\"line-cap\":\"round\"},paint:{\"line-color\":\"hsl(0, 0%, 70%)\",\"line-width\":{base:1,stops:[[11,3],[19,5.5]]},\"line-dasharray\":[2,3]}},{id:\"boundary-land-level-4\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\">=\",\"admin_level\",4],[\"<=\",\"admin_level\",8],[\"!=\",\"maritime\",1]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#9e9cab\",\"line-dasharray\":[3,1,1,1],\"line-width\":{base:1.4,stops:[[4,.4],[5,1],[12,3]]},\"line-opacity\":.6}},{id:\"boundary-land-level-2\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"==\",\"admin_level\",2],[\"!=\",\"maritime\",1],[\"!=\",\"disputed\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(248, 7%, 66%)\",\"line-width\":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,2]]}}},{id:\"boundary-land-disputed\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"!=\",\"maritime\",1],[\"==\",\"disputed\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(248, 7%, 70%)\",\"line-dasharray\":[1,3],\"line-width\":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,8]]}}},{id:\"boundary-water\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"in\",\"admin_level\",2,4],[\"==\",\"maritime\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"rgba(154, 189, 214, 1)\",\"line-width\":{base:1,stops:[[0,.6],[4,1],[5,1],[12,1]]},\"line-opacity\":{stops:[[6,0],[10,0]]}}},{id:\"waterway-name\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"waterway\",minzoom:13,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"has\",\"name\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin} {name:nonlatin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"line\",\"text-letter-spacing\":.2,\"symbol-spacing\":350},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-lakeline\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"==\",\"$type\",\"LineString\"],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"line\",\"symbol-spacing\":350,\"text-letter-spacing\":.2},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-ocean\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"class\",\"ocean\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"point\",\"symbol-spacing\":350,\"text-letter-spacing\":.2},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-other\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"!in\",\"class\",\"ocean\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":{stops:[[0,10],[6,14]]},\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"point\",\"symbol-spacing\":350,\"text-letter-spacing\":.2,visibility:\"visible\"},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"poi-level-3\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:16,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\">=\",\"rank\",25]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"poi-level-2\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:15,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",24],[\">=\",\"rank\",15]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"poi-level-1\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:14,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",14],[\"has\",\"name\"]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":11,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"rgba(191, 228, 172, 1)\",\"text-halo-width\":1,\"text-halo-color\":\"rgba(30, 29, 29, 1)\"}},{id:\"poi-railway\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:13,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"has\",\"name\"],[\"==\",\"class\",\"railway\"],[\"==\",\"subclass\",\"station\"]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9,\"icon-optional\":!1,\"icon-ignore-placement\":!1,\"icon-allow-overlap\":!1,\"text-ignore-placement\":!1,\"text-allow-overlap\":!1,\"text-optional\":!0},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"road_oneway\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:15,filter:[\"all\",[\"==\",\"oneway\",1],[\"in\",\"class\",\"motorway\",\"trunk\",\"primary\",\"secondary\",\"tertiary\",\"minor\",\"service\"]],layout:{\"symbol-placement\":\"line\",\"icon-image\":\"oneway\",\"symbol-spacing\":75,\"icon-padding\":2,\"icon-rotation-alignment\":\"map\",\"icon-rotate\":90,\"icon-size\":{stops:[[15,.5],[19,1]]}},paint:{\"icon-opacity\":.5}},{id:\"road_oneway_opposite\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:15,filter:[\"all\",[\"==\",\"oneway\",-1],[\"in\",\"class\",\"motorway\",\"trunk\",\"primary\",\"secondary\",\"tertiary\",\"minor\",\"service\"]],layout:{\"symbol-placement\":\"line\",\"icon-image\":\"oneway\",\"symbol-spacing\":75,\"icon-padding\":2,\"icon-rotation-alignment\":\"map\",\"icon-rotate\":-90,\"icon-size\":{stops:[[15,.5],[19,1]]}},paint:{\"icon-opacity\":.5}},{id:\"highway-name-path\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:15.5,filter:[\"==\",\"class\",\"path\"],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-color\":\"#f8f4f0\",\"text-color\":\"hsl(30, 23%, 62%)\",\"text-halo-width\":.5}},{id:\"highway-name-minor\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:15,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-blur\":.5,\"text-color\":\"#765\",\"text-halo-width\":1}},{id:\"highway-name-major\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:12.2,filter:[\"in\",\"class\",\"primary\",\"secondary\",\"tertiary\",\"trunk\"],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-blur\":.5,\"text-color\":\"#765\",\"text-halo-width\":1}},{id:\"highway-shield\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:8,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"!in\",\"network\",\"us-interstate\",\"us-highway\",\"us-state\"]],layout:{\"text-size\":10,\"icon-image\":\"road_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[10,\"point\"],[11,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-opacity\":1,\"text-color\":\"rgba(20, 19, 19, 1)\",\"text-halo-color\":\"rgba(230, 221, 221, 0)\",\"text-halo-width\":2,\"icon-color\":\"rgba(183, 18, 18, 1)\",\"icon-opacity\":.3,\"icon-halo-color\":\"rgba(183, 55, 55, 0)\"}},{id:\"highway-shield-us-interstate\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:7,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"in\",\"network\",\"us-interstate\"]],layout:{\"text-size\":10,\"icon-image\":\"{network}_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[7,\"point\"],[7,\"line\"],[8,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\"}},{id:\"highway-shield-us-other\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:9,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"in\",\"network\",\"us-highway\",\"us-state\"]],layout:{\"text-size\":10,\"icon-image\":\"{network}_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[10,\"point\"],[11,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\"}},{id:\"place-other\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:12,filter:[\"!in\",\"class\",\"city\",\"town\",\"village\",\"country\",\"continent\"],layout:{\"text-letter-spacing\":.1,\"text-size\":{base:1.2,stops:[[12,10],[15,14]]},\"text-font\":[\"Noto Sans Bold\"],\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-transform\":\"uppercase\",\"text-max-width\":9,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255,255,255,1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(57, 28, 28, 1)\"}},{id:\"place-village\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:10,filter:[\"==\",\"class\",\"village\"],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[10,12],[15,16]]},\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255, 255, 255, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(10, 9, 9, 0.8)\"}},{id:\"place-town\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"==\",\"class\",\"town\"],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[10,14],[15,24]]},\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255, 255, 255, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(22, 22, 22, 0.8)\"}},{id:\"place-city\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"!=\",\"capital\",2],[\"==\",\"class\",\"city\"]],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[7,14],[11,24]]},\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-city-capital\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"capital\",2],[\"==\",\"class\",\"city\"]],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[7,14],[11,24]]},\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":8,\"icon-image\":\"star_11\",\"text-offset\":[.4,0],\"icon-size\":.8,\"text-anchor\":\"left\",visibility:\"visible\"},paint:{\"text-color\":\"#333\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-other\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\">=\",\"rank\",3],[\"!has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[3,11],[7,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-3\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\">=\",\"rank\",3],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[3,11],[7,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-2\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\"==\",\"rank\",2],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[2,11],[5,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-1\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\"==\",\"rank\",1],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[1,11],[4,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-continent\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",maxzoom:1,filter:[\"==\",\"class\",\"continent\"],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":14,\"text-max-width\":6.25,\"text-transform\":\"uppercase\",visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}}],id:\"qebnlkra6\"}});var CHe=ye((cbr,kHe)=>{kHe.exports={version:8,name:\"orto\",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:\"raster\",tiles:[\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\"],tileSize:256,maxzoom:18,attribution:\"ESRI © ESRI\"},ortoInstaMaps:{type:\"raster\",tiles:[\"https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png\"],tileSize:256,maxzoom:13},ortoICGC:{type:\"raster\",tiles:[\"https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg\"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:\"vector\",url:\"https://geoserveis.icgc.cat/contextmaps/basemap.json\"}},sprite:\"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1\",glyphs:\"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf\",layers:[{id:\"background\",type:\"background\",paint:{\"background-color\":\"#F4F9F4\"}},{id:\"ortoEsri\",type:\"raster\",source:\"ortoEsri\",maxzoom:16,layout:{visibility:\"visible\"}},{id:\"ortoICGC\",type:\"raster\",source:\"ortoICGC\",minzoom:13.1,maxzoom:19,layout:{visibility:\"visible\"}},{id:\"ortoInstaMaps\",type:\"raster\",source:\"ortoInstaMaps\",maxzoom:13,layout:{visibility:\"visible\"}}]}});var Px=ye((fbr,DHe)=>{\"use strict\";var YWt=t_(),KWt=EHe(),JWt=CHe(),$Wt='\\xA9 OpenStreetMap contributors',LHe=\"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",PHe=\"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",s7=\"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",QWt=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\",eXt=\"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json\",tXt=\"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json\",RHe={basic:s7,streets:s7,outdoors:s7,light:LHe,dark:PHe,satellite:JWt,\"satellite-streets\":KWt,\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:$Wt,tiles:[\"https://tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":LHe,\"carto-darkmatter\":PHe,\"carto-voyager\":s7,\"carto-positron-nolabels\":QWt,\"carto-darkmatter-nolabels\":eXt,\"carto-voyager-nolabels\":tXt},IHe=YWt(RHe);DHe.exports={styleValueDflt:\"basic\",stylesMap:RHe,styleValuesMap:IHe,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",missingStyleErrorMsg:[\"No valid maplibre style found, please set `map.style` to one of:\",IHe.join(\", \"),\"or use a tile service.\"].join(`\n", + "`),mapOnErrorMsg:\"Map error.\"}});var Qk=ye((hbr,BHe)=>{\"use strict\";var FHe=Pr(),zHe=ka().defaultLine,rXt=Cc().attributes,iXt=ec(),nXt=pf().textposition,aXt=mc().overrideAll,oXt=vl().templatedArray,qHe=Px(),OHe=iXt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});OHe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var sXt=BHe.exports=aXt({_arrayAttrRegexps:[FHe.counterRegex(\"map\",\".layers\",!0)],domain:rXt({name:\"map\"}),style:{valType:\"any\",values:qHe.styleValuesMap,dflt:qHe.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:oXt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:zHe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:zHe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:OHe,textposition:FHe.extendFlat({},nXt,{arrayOk:!1})}})},\"plot\",\"from-root\");sXt.uirevision={valType:\"any\",editType:\"none\"}});var l7=ye((dbr,GHe)=>{\"use strict\";var{hovertemplateAttrs:lXt,texttemplateAttrs:uXt,templatefallbackAttrs:NHe}=Ll(),cXt=Pg(),eC=ew(),P5=pf(),UHe=Qk(),fXt=Gl(),hXt=Tu(),vw=Ao().extendFlat,dXt=mc().overrideAll,vXt=Qk(),VHe=eC.line,I5=eC.marker;GHe.exports=dXt({lon:eC.lon,lat:eC.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:vw({},vXt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:vw({},I5.opacity,{dflt:1})},mode:vw({},P5.mode,{dflt:\"markers\"}),text:vw({},P5.text,{}),texttemplate:uXt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),texttemplatefallback:NHe({editType:\"plot\"}),hovertext:vw({},P5.hovertext,{}),line:{color:VHe.color,width:VHe.width},connectgaps:P5.connectgaps,marker:vw({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:I5.opacity,size:I5.size,sizeref:I5.sizeref,sizemin:I5.sizemin,sizemode:I5.sizemode},hXt(\"marker\")),fill:eC.fill,fillcolor:cXt(),textfont:UHe.layers.symbol.textfont,textposition:UHe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:P5.selected.marker},unselected:{marker:P5.unselected.marker},hoverinfo:vw({},fXt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:lXt(),hovertemplatefallback:NHe()},\"calc\",\"nested\")});var CJ=ye((vbr,HHe)=>{\"use strict\";var pXt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];HHe.exports={isSupportedFont:function(e){return pXt.indexOf(e)!==-1}}});var XHe=ye((pbr,WHe)=>{\"use strict\";var tC=Pr(),LJ=Ru(),gXt=$p(),mXt=D0(),yXt=F0(),_Xt=Fg(),jHe=l7(),xXt=CJ().isSupportedFont;WHe.exports=function(t,r,n,i){function a(p,k){return tC.coerce(t,r,jHe,p,k)}function o(p,k){return tC.coerce2(t,r,jHe,p,k)}var s=bXt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"texttemplatefallback\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"mode\"),a(\"below\"),LJ.hasMarkers(r)){gXt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(tC.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),tC.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}LJ.hasLines(r)&&(mXt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,m=a(\"cluster.enabled\",v);if(m||LJ.hasText(r)){var b=i.font.family;yXt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:xXt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&_Xt(t,r,n,a),tC.coerceSelectionMarkerOpacity(r,a)};function bXt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var PJ=ye((gbr,YHe)=>{\"use strict\";var ZHe=ho();YHe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=ZHe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=ZHe.tickText(o,o.c2l(s[1]),!0).text,i}});var IJ=ye((mbr,JHe)=>{\"use strict\";var KHe=Pr();JHe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=KHe.isArrayOrTypedArray(r)?KHe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var ije=ye((ybr,rje)=>{\"use strict\";var eje=Eo(),ov=Pr(),wXt=fs().BADNUM,c7=cx(),$He=tc(),TXt=So(),AXt=O3(),f7=Ru(),SXt=CJ().isSupportedFont,MXt=IJ(),EXt=ip().appendArrayPointValue,kXt=Zl().NEWLINES,CXt=Zl().BR_TAG_ALL;rje.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=f7.hasLines(n),s=f7.hasMarkers(n),l=f7.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=u7(\"fill\"),d=u7(\"line\"),v=u7(\"circle\"),m=u7(\"symbol\"),b={fill:h,line:d,circle:v,symbol:m};if(!i)return b;var p;if((a||o)&&(p=c7.calcTraceToLineCoords(r)),a&&(h.geojson=c7.makePolygon(p),h.layout.visibility=\"visible\",ov.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=c7.makeLine(p),d.layout.visibility=\"visible\",ov.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var k=LXt(r);v.geojson=k.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":DJ(n.cluster.color,n.cluster.step),\"circle-radius\":DJ(n.cluster.size,n.cluster.step),\"circle-opacity\":DJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":QHe(n),\"text-size\":12}}),ov.extendFlat(v.paint,{\"circle-color\":k.mcc,\"circle-radius\":k.mrc,\"circle-opacity\":k.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(m.geojson=PXt(r,t),ov.extendFlat(m.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(ov.extendFlat(m.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&ov.extendFlat(m.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),m.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,ov.extendFlat(m.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var M=(n.marker||{}).size,T=MXt(n.textposition,M);ov.extendFlat(m.layout,{\"text-size\":n.textfont.size,\"text-anchor\":T.anchor,\"text-offset\":T.offset,\"text-font\":QHe(n)}),ov.extendFlat(m.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function u7(e){return{type:e,geojson:c7.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function LXt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=ov.isArrayOrTypedArray(r.color),a=ov.isArrayOrTypedArray(r.size),o=ov.isArrayOrTypedArray(r.opacity),s;function l(M){return t.opacity*M}function u(M){return M/2}var c;i&&($He.hasColorscale(t,\"marker\")?c=$He.makeColorScaleFuncFromTrace(r):c=ov.identity);var f;a&&(f=AXt(t));var h;o&&(h=function(M){var T=eje(M)?+ov.constrain(M,0,1):0;return l(T)});var d=[];for(s=0;s850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),SXt(s)||(s=r);var l=s.split(\", \");return l}});var sje=ye((_br,oje)=>{\"use strict\";var IXt=Pr(),nje=ije(),R5=Px().traceLayerPrefix,og={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function aje(e,t,r,n){this.type=\"scattermap\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:R5+t+\"-fill\",line:R5+t+\"-line\",circle:R5+t+\"-circle\",symbol:R5+t+\"-symbol\",cluster:R5+t+\"-cluster\",clusterCount:R5+t+\"-cluster-count\"},this.below=null}var rC=aje.prototype;rC.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&IXt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};rC.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};rC.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s=0;L--){var x=T[L];i.removeLayer(u.layerIds[x])}M||i.removeSource(u.sourceIds.circle)}function h(M){for(var T=og.nonCluster,L=0;L=0;L--){var x=T[L];i.removeLayer(u.layerIds[x]),M||i.removeSource(u.sourceIds[x])}}function v(M){l?f(M):d(M)}function m(M){s?c(M):h(M)}function b(){for(var M=s?og.cluster:og.nonCluster,T=0;T=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};oje.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new aje(t,n.uid,i,a),s=nje(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u{\"use strict\";var RXt=vf(),FJ=Pr(),DXt=mT(),FXt=FJ.fillText,zXt=fs().BADNUM,qXt=Px().traceLayerPrefix;function OXt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=qXt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(S){return S.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function m(S){var g=S.lonlat;if(g[0]===zXt||c&&l.indexOf(S.i+1)===-1)return 1/0;var P=FJ.modHalf(g[0],360),E=g[1],z=s.project([P,E]),q=z.x-a.c2p([v,E]),U=z.y-o.c2p([P,r]),G=Math.max(3,S.mrc||0);return Math.max(Math.sqrt(q*q+U*U)-G,1-3/G)}if(RXt.getClosest(n,m,e),e.index!==!1){var b=n[e.index],p=b.lonlat,k=[FJ.modHalf(p[0],360)+d,p[1]],M=a.c2p(k),T=o.c2p(k),L=b.mrc||1;e.x0=M-L,e.x1=M+L,e.y0=T-L,e.y1=T+L;var x={};x[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,x);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=DXt(i,b),e.extraText=lje(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function lje(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&FXt(t,e,u),u.join(\"
\")}uje.exports={hoverPoints:OXt,getExtraText:lje}});var fje=ye((bbr,cje)=>{\"use strict\";cje.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var dje=ye((wbr,hje)=>{\"use strict\";var BXt=Pr(),NXt=Ru(),UXt=fs().BADNUM;hje.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!NXt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof zJ==\"object\"&&typeof qJ!=\"undefined\"?qJ.exports=t():(e=typeof globalThis!=\"undefined\"?globalThis:e||self,e.maplibregl=t())})(zJ,function(){\"use strict\";var e={},t={};function r(i,a,o){if(t[i]=o,i===\"index\"){var s=\"var sharedModule = {}; (\"+t.shared+\")(sharedModule); (\"+t.worker+\")(sharedModule);\",l={};return t.shared(l),t.index(e,l),typeof window!=\"undefined\"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:\"text/javascript\"}))),e}}r(\"shared\",[\"exports\"],function(i){\"use strict\";function a(R,A,F,W){return new(F||(F=Promise))(function(te,fe){function pe(ft){try{Ke(W.next(ft))}catch(Rt){fe(Rt)}}function Re(ft){try{Ke(W.throw(ft))}catch(Rt){fe(Rt)}}function Ke(ft){var Rt;ft.done?te(ft.value):(Rt=ft.value,Rt instanceof F?Rt:new F(function(tr){tr(Rt)})).then(pe,Re)}Ke((W=W.apply(R,A||[])).next())})}function o(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}typeof SuppressedError==\"function\"&&SuppressedError;var s=l;function l(R,A){this.x=R,this.y=A}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(R){return this.clone()._add(R)},sub:function(R){return this.clone()._sub(R)},multByPoint:function(R){return this.clone()._multByPoint(R)},divByPoint:function(R){return this.clone()._divByPoint(R)},mult:function(R){return this.clone()._mult(R)},div:function(R){return this.clone()._div(R)},rotate:function(R){return this.clone()._rotate(R)},rotateAround:function(R,A){return this.clone()._rotateAround(R,A)},matMult:function(R){return this.clone()._matMult(R)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(R){return this.x===R.x&&this.y===R.y},dist:function(R){return Math.sqrt(this.distSqr(R))},distSqr:function(R){var A=R.x-this.x,F=R.y-this.y;return A*A+F*F},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(R){return Math.atan2(this.y-R.y,this.x-R.x)},angleWith:function(R){return this.angleWithSep(R.x,R.y)},angleWithSep:function(R,A){return Math.atan2(this.x*A-this.y*R,this.x*R+this.y*A)},_matMult:function(R){var A=R[2]*this.x+R[3]*this.y;return this.x=R[0]*this.x+R[1]*this.y,this.y=A,this},_add:function(R){return this.x+=R.x,this.y+=R.y,this},_sub:function(R){return this.x-=R.x,this.y-=R.y,this},_mult:function(R){return this.x*=R,this.y*=R,this},_div:function(R){return this.x/=R,this.y/=R,this},_multByPoint:function(R){return this.x*=R.x,this.y*=R.y,this},_divByPoint:function(R){return this.x/=R.x,this.y/=R.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var R=this.y;return this.y=this.x,this.x=-R,this},_rotate:function(R){var A=Math.cos(R),F=Math.sin(R),W=F*this.x+A*this.y;return this.x=A*this.x-F*this.y,this.y=W,this},_rotateAround:function(R,A){var F=Math.cos(R),W=Math.sin(R),te=A.y+W*(this.x-A.x)+F*(this.y-A.y);return this.x=A.x+F*(this.x-A.x)-W*(this.y-A.y),this.y=te,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(R){return R instanceof l?R:Array.isArray(R)?new l(R[0],R[1]):R};var u=o(s),c=f;function f(R,A,F,W){this.cx=3*R,this.bx=3*(F-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*A,this.by=3*(W-A)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=A,this.p2x=F,this.p2y=W}f.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,A){if(A===void 0&&(A=1e-6),R<0)return 0;if(R>1)return 1;for(var F=R,W=0;W<8;W++){var te=this.sampleCurveX(F)-R;if(Math.abs(te)te?pe=F:Re=F,F=.5*(Re-pe)+pe;return F},solve:function(R,A){return this.sampleCurveY(this.solveCurveX(R,A))}};var h=o(c);let d,v;function m(){return d==null&&(d=typeof OffscreenCanvas!=\"undefined\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),d}function b(){if(v==null&&(v=!1,m())){let A=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(A){for(let W=0;W<5*5;W++){let te=4*W;A.fillStyle=`rgb(${te},${te+1},${te+2})`,A.fillRect(W%5,Math.floor(W/5),1,1)}let F=A.getImageData(0,0,5,5).data;for(let W=0;W<5*5*4;W++)if(W%4!=3&&F[W]!==W){v=!0;break}}}return v||!1}function p(R,A,F,W){let te=new h(R,A,F,W);return fe=>te.solve(fe)}let k=p(.25,.1,.25,1);function M(R,A,F){return Math.min(F,Math.max(A,R))}function T(R,A,F){let W=F-A,te=((R-A)%W+W)%W+A;return te===A?F:te}function L(R,...A){for(let F of A)for(let W in F)R[W]=F[W];return R}let x=1;function C(R,A,F){let W={};for(let te in R)W[te]=A.call(this,R[te],te,R);return W}function S(R,A,F){let W={};for(let te in R)A.call(this,R[te],te,R)&&(W[te]=R[te]);return W}function g(R){return Array.isArray(R)?R.map(g):typeof R==\"object\"&&R?C(R,g):R}let P={};function E(R){P[R]||(typeof console!=\"undefined\"&&console.warn(R),P[R]=!0)}function z(R,A,F){return(F.y-R.y)*(A.x-R.x)>(A.y-R.y)*(F.x-R.x)}function q(R){return typeof WorkerGlobalScope!=\"undefined\"&&R!==void 0&&R instanceof WorkerGlobalScope}let U=null;function G(R){return typeof ImageBitmap!=\"undefined\"&&R instanceof ImageBitmap}let Z=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function j(R,A,F,W,te){return a(this,void 0,void 0,function*(){if(typeof VideoFrame==\"undefined\")throw new Error(\"VideoFrame not supported\");let fe=new VideoFrame(R,{timestamp:0});try{let pe=fe==null?void 0:fe.format;if(!pe||!pe.startsWith(\"BGR\")&&!pe.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${pe}`);let Re=pe.startsWith(\"BGR\"),Ke=new Uint8ClampedArray(W*te*4);if(yield fe.copyTo(Ke,function(ft,Rt,tr,ur,vr){let kr=4*Math.max(-Rt,0),Dr=(Math.max(0,tr)-tr)*ur*4+kr,li=4*ur,pi=Math.max(0,Rt),vn=Math.max(0,tr);return{rect:{x:pi,y:vn,width:Math.min(ft.width,Rt+ur)-pi,height:Math.min(ft.height,tr+vr)-vn},layout:[{offset:Dr,stride:li}]}}(R,A,F,W,te)),Re)for(let ft=0;ftq(self)?self.worker&&self.worker.referrer:(window.location.protocol===\"blob:\"?window.parent:window).location.href,Se=function(R,A){if(/:\\/\\//.test(R.url)&&!/^https?:|^file:/.test(R.url)){let W=ke(R.url);if(W)return W(R,A);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,targetMapId:Ce},A)}if(!(/^file:/.test(F=R.url)||/^file:/.test(ie())&&!/^\\w+:/.test(F))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(W,te){return a(this,void 0,void 0,function*(){let fe=new Request(W.url,{method:W.method||\"GET\",body:W.body,credentials:W.credentials,headers:W.headers,cache:W.cache,referrer:ie(),signal:te.signal});W.type!==\"json\"||fe.headers.has(\"Accept\")||fe.headers.set(\"Accept\",\"application/json\");let pe=yield fetch(fe);if(!pe.ok){let ft=yield pe.blob();throw new ge(pe.status,pe.statusText,W.url,ft)}let Re;Re=W.type===\"arrayBuffer\"||W.type===\"image\"?pe.arrayBuffer():W.type===\"json\"?pe.json():pe.text();let Ke=yield Re;if(te.signal.aborted)throw oe();return{data:Ke,cacheControl:pe.headers.get(\"Cache-Control\"),expires:pe.headers.get(\"Expires\")}})}(R,A);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,mustQueue:!0,targetMapId:Ce},A)}var F;return function(W,te){return new Promise((fe,pe)=>{var Re;let Ke=new XMLHttpRequest;Ke.open(W.method||\"GET\",W.url,!0),W.type!==\"arrayBuffer\"&&W.type!==\"image\"||(Ke.responseType=\"arraybuffer\");for(let ft in W.headers)Ke.setRequestHeader(ft,W.headers[ft]);W.type===\"json\"&&(Ke.responseType=\"text\",!((Re=W.headers)===null||Re===void 0)&&Re.Accept||Ke.setRequestHeader(\"Accept\",\"application/json\")),Ke.withCredentials=W.credentials===\"include\",Ke.onerror=()=>{pe(new Error(Ke.statusText))},Ke.onload=()=>{if(!te.signal.aborted)if((Ke.status>=200&&Ke.status<300||Ke.status===0)&&Ke.response!==null){let ft=Ke.response;if(W.type===\"json\")try{ft=JSON.parse(Ke.response)}catch(Rt){return void pe(Rt)}fe({data:ft,cacheControl:Ke.getResponseHeader(\"Cache-Control\"),expires:Ke.getResponseHeader(\"Expires\")})}else{let ft=new Blob([Ke.response],{type:Ke.getResponseHeader(\"Content-Type\")});pe(new ge(Ke.status,Ke.statusText,W.url,ft))}},te.signal.addEventListener(\"abort\",()=>{Ke.abort(),pe(oe())}),Ke.send(W.body)})}(R,A)};function Ee(R){if(!R||R.indexOf(\"://\")<=0||R.indexOf(\"data:image/\")===0||R.indexOf(\"blob:\")===0)return!0;let A=new URL(R),F=window.location;return A.protocol===F.protocol&&A.host===F.host}function we(R,A,F){F[R]&&F[R].indexOf(A)!==-1||(F[R]=F[R]||[],F[R].push(A))}function De(R,A,F){if(F&&F[R]){let W=F[R].indexOf(A);W!==-1&&F[R].splice(W,1)}}class Le{constructor(A,F={}){L(this,F),this.type=A}}class me extends Le{constructor(A,F={}){super(\"error\",L({error:A},F))}}class Pe{on(A,F){return this._listeners=this._listeners||{},we(A,F,this._listeners),this}off(A,F){return De(A,F,this._listeners),De(A,F,this._oneTimeListeners),this}once(A,F){return F?(this._oneTimeListeners=this._oneTimeListeners||{},we(A,F,this._oneTimeListeners),this):new Promise(W=>this.once(A,W))}fire(A,F){typeof A==\"string\"&&(A=new Le(A,F||{}));let W=A.type;if(this.listens(W)){A.target=this;let te=this._listeners&&this._listeners[W]?this._listeners[W].slice():[];for(let Re of te)Re.call(this,A);let fe=this._oneTimeListeners&&this._oneTimeListeners[W]?this._oneTimeListeners[W].slice():[];for(let Re of fe)De(W,Re,this._oneTimeListeners),Re.call(this,A);let pe=this._eventedParent;pe&&(L(A,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),pe.fire(A))}else A instanceof me&&console.error(A.error);return this}listens(A){return this._listeners&&this._listeners[A]&&this._listeners[A].length>0||this._oneTimeListeners&&this._oneTimeListeners[A]&&this._oneTimeListeners[A].length>0||this._eventedParent&&this._eventedParent.listens(A)}setEventedParent(A,F){return this._eventedParent=A,this._eventedParentData=F,this}}var ce={$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\"},sky:{type:\"sky\"},projection:{type:\"projection\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{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\"},volatile:{type:\"boolean\",default:!1},\"*\":{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:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"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:{},\"viewport-glyph\":{},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-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},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:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},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}},sky:{\"sky-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#88C6FC\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-ground-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-fog-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"sky-horizon-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"atmosphere-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},projection:{type:{type:\"enum\",default:\"mercator\",values:{mercator:{},globe:{}}}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};let He=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function lt(R,A){let F={};for(let W in R)W!==\"ref\"&&(F[W]=R[W]);return He.forEach(W=>{W in A&&(F[W]=A[W])}),F}function mt(R,A){if(Array.isArray(R)){if(!Array.isArray(A)||R.length!==A.length)return!1;for(let F=0;F`:R.itemType.kind===\"value\"?\"array\":`array<${A}>`}return R.kind}let We=[Tt,dt,Et,pt,Xt,ei,or,Ge(_r),qr,jr,gt];function et(R,A){if(A.kind===\"error\")return null;if(R.kind===\"array\"){if(A.kind===\"array\"&&(A.N===0&&A.itemType.kind===\"value\"||!et(R.itemType,A.itemType))&&(typeof R.N!=\"number\"||R.N===A.N))return null}else{if(R.kind===A.kind)return null;if(R.kind===\"value\"){for(let F of We)if(!et(F,A))return null}}return`Expected ${Je(R)} but found ${Je(A)} instead.`}function xt(R,A){return A.some(F=>F.kind===R.kind)}function At(R,A){return A.some(F=>F===\"null\"?R===null:F===\"array\"?Array.isArray(R):F===\"object\"?R&&!Array.isArray(R)&&typeof R==\"object\":F===typeof R)}function Kt(R,A){return R.kind===\"array\"&&A.kind===\"array\"?R.itemType.kind===A.itemType.kind&&typeof R.N==\"number\":R.kind===A.kind}let er=.96422,Sr=.82521,Gr=4/29,Ir=6/29,Yr=3*Ir*Ir,_i=Ir*Ir*Ir,Pi=Math.PI/180,ai=180/Math.PI;function mi(R){return(R%=360)<0&&(R+=360),R}function un([R,A,F,W]){let te,fe,pe=An((.2225045*(R=Fn(R))+.7168786*(A=Fn(A))+.0606169*(F=Fn(F)))/1);R===A&&A===F?te=fe=pe:(te=An((.4360747*R+.3850649*A+.1430804*F)/er),fe=An((.0139322*R+.0971045*A+.7141733*F)/Sr));let Re=116*pe-16;return[Re<0?0:Re,500*(te-pe),200*(pe-fe),W]}function Fn(R){return R<=.04045?R/12.92:Math.pow((R+.055)/1.055,2.4)}function An(R){return R>_i?Math.pow(R,1/3):R/Yr+Gr}function Hn([R,A,F,W]){let te=(R+16)/116,fe=isNaN(A)?te:te+A/500,pe=isNaN(F)?te:te-F/200;return te=1*Vi(te),fe=er*Vi(fe),pe=Sr*Vi(pe),[Qn(3.1338561*fe-1.6168667*te-.4906146*pe),Qn(-.9787684*fe+1.9161415*te+.033454*pe),Qn(.0719453*fe-.2289914*te+1.4052427*pe),W]}function Qn(R){return(R=R<=.00304?12.92*R:1.055*Math.pow(R,1/2.4)-.055)<0?0:R>1?1:R}function Vi(R){return R>Ir?R*R*R:Yr*(R-Gr)}function Kn(R){return parseInt(R.padEnd(2,R),16)/255}function Jn(R,A){return Gt(A?R/100:R,0,1)}function Gt(R,A,F){return Math.min(Math.max(A,R),F)}function wt(R){return!R.some(Number.isNaN)}let rr={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]};class ir{constructor(A,F,W,te=1,fe=!0){this.r=A,this.g=F,this.b=W,this.a=te,fe||(this.r*=te,this.g*=te,this.b*=te,te||this.overwriteGetter(\"rgb\",[A,F,W,te]))}static parse(A){if(A instanceof ir)return A;if(typeof A!=\"string\")return;let F=function(W){if((W=W.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let te=rr[W];if(te){let[pe,Re,Ke]=te;return[pe/255,Re/255,Ke/255,1]}if(W.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(W)){let pe=W.length<6?1:2,Re=1;return[Kn(W.slice(Re,Re+=pe)),Kn(W.slice(Re,Re+=pe)),Kn(W.slice(Re,Re+=pe)),Kn(W.slice(Re,Re+pe)||\"ff\")]}if(W.startsWith(\"rgb\")){let pe=W.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(pe){let[Re,Ke,ft,Rt,tr,ur,vr,kr,Dr,li,pi,vn]=pe,zi=[Rt||\" \",vr||\" \",li].join(\"\");if(zi===\" \"||zi===\" /\"||zi===\",,\"||zi===\",,,\"){let ln=[ft,ur,Dr].join(\"\"),Tn=ln===\"%%%\"?100:ln===\"\"?255:0;if(Tn){let pa=[Gt(+Ke/Tn,0,1),Gt(+tr/Tn,0,1),Gt(+kr/Tn,0,1),pi?Jn(+pi,vn):1];if(wt(pa))return pa}}return}}let fe=W.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(fe){let[pe,Re,Ke,ft,Rt,tr,ur,vr,kr]=fe,Dr=[Ke||\" \",Rt||\" \",ur].join(\"\");if(Dr===\" \"||Dr===\" /\"||Dr===\",,\"||Dr===\",,,\"){let li=[+Re,Gt(+ft,0,100),Gt(+tr,0,100),vr?Jn(+vr,kr):1];if(wt(li))return function([pi,vn,zi,ln]){function Tn(pa){let ro=(pa+pi/30)%12,Vo=vn*Math.min(zi,1-zi);return zi-Vo*Math.max(-1,Math.min(ro-3,9-ro,1))}return pi=mi(pi),vn/=100,zi/=100,[Tn(0),Tn(8),Tn(4),ln]}(li)}}}(A);return F?new ir(...F,!1):void 0}get rgb(){let{r:A,g:F,b:W,a:te}=this,fe=te||1/0;return this.overwriteGetter(\"rgb\",[A/fe,F/fe,W/fe,te])}get hcl(){return this.overwriteGetter(\"hcl\",function(A){let[F,W,te,fe]=un(A),pe=Math.sqrt(W*W+te*te);return[Math.round(1e4*pe)?mi(Math.atan2(te,W)*ai):NaN,pe,F,fe]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",un(this.rgb))}overwriteGetter(A,F){return Object.defineProperty(this,A,{value:F}),F}toString(){let[A,F,W,te]=this.rgb;return`rgba(${[A,F,W].map(fe=>Math.round(255*fe)).join(\",\")},${te})`}}ir.black=new ir(0,0,0,1),ir.white=new ir(1,1,1,1),ir.transparent=new ir(0,0,0,0),ir.red=new ir(1,0,0,1);class wr{constructor(A,F,W){this.sensitivity=A?F?\"variant\":\"case\":F?\"accent\":\"base\",this.locale=W,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(A,F){return this.collator.compare(A,F)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Xr{constructor(A,F,W,te,fe){this.text=A,this.image=F,this.scale=W,this.fontStack=te,this.textColor=fe}}class ti{constructor(A){this.sections=A}static fromString(A){return new ti([new Xr(A,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(A=>A.text.length!==0||A.image&&A.image.name.length!==0)}static factory(A){return A instanceof ti?A:ti.fromString(A)}toString(){return this.sections.length===0?\"\":this.sections.map(A=>A.text).join(\"\")}}class $r{constructor(A){this.values=A.slice()}static parse(A){if(A instanceof $r)return A;if(typeof A==\"number\")return new $r([A,A,A,A]);if(Array.isArray(A)&&!(A.length<1||A.length>4)){for(let F of A)if(typeof F!=\"number\")return;switch(A.length){case 1:A=[A[0],A[0],A[0],A[0]];break;case 2:A=[A[0],A[1],A[0],A[1]];break;case 3:A=[A[0],A[1],A[2],A[1]]}return new $r(A)}}toString(){return JSON.stringify(this.values)}}let Ri=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Zi{constructor(A){this.values=A.slice()}static parse(A){if(A instanceof Zi)return A;if(Array.isArray(A)&&!(A.length<1)&&A.length%2==0){for(let F=0;F=0&&R<=255&&typeof A==\"number\"&&A>=0&&A<=255&&typeof F==\"number\"&&F>=0&&F<=255?W===void 0||typeof W==\"number\"&&W>=0&&W<=1?null:`Invalid rgba value [${[R,A,F,W].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof W==\"number\"?[R,A,F,W]:[R,A,F]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function yn(R){if(R===null||typeof R==\"string\"||typeof R==\"boolean\"||typeof R==\"number\"||R instanceof ir||R instanceof wr||R instanceof ti||R instanceof $r||R instanceof Zi||R instanceof en)return!0;if(Array.isArray(R)){for(let A of R)if(!yn(A))return!1;return!0}if(typeof R==\"object\"){for(let A in R)if(!yn(R[A]))return!1;return!0}return!1}function Mn(R){if(R===null)return Tt;if(typeof R==\"string\")return Et;if(typeof R==\"boolean\")return pt;if(typeof R==\"number\")return dt;if(R instanceof ir)return Xt;if(R instanceof wr)return Er;if(R instanceof ti)return ei;if(R instanceof $r)return qr;if(R instanceof Zi)return gt;if(R instanceof en)return jr;if(Array.isArray(R)){let A=R.length,F;for(let W of R){let te=Mn(W);if(F){if(F===te)continue;F=_r;break}F=te}return Ge(F||_r,A)}return or}function Ba(R){let A=typeof R;return R===null?\"\":A===\"string\"||A===\"number\"||A===\"boolean\"?String(R):R instanceof ir||R instanceof ti||R instanceof $r||R instanceof Zi||R instanceof en?R.toString():JSON.stringify(R)}class ua{constructor(A,F){this.type=A,this.value=F}static parse(A,F){if(A.length!==2)return F.error(`'literal' expression requires exactly one argument, but found ${A.length-1} instead.`);if(!yn(A[1]))return F.error(\"invalid value\");let W=A[1],te=Mn(W),fe=F.expectedType;return te.kind!==\"array\"||te.N!==0||!fe||fe.kind!==\"array\"||typeof fe.N==\"number\"&&fe.N!==0||(te=fe),new ua(te,W)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class ma{constructor(A){this.name=\"ExpressionEvaluationError\",this.message=A}toJSON(){return this.message}}let Wa={string:Et,number:dt,boolean:pt,object:or};class Fa{constructor(A,F){this.type=A,this.args=F}static parse(A,F){if(A.length<2)return F.error(\"Expected at least one argument.\");let W,te=1,fe=A[0];if(fe===\"array\"){let Re,Ke;if(A.length>2){let ft=A[1];if(typeof ft!=\"string\"||!(ft in Wa)||ft===\"object\")return F.error('The item type argument of \"array\" must be one of string, number, boolean',1);Re=Wa[ft],te++}else Re=_r;if(A.length>3){if(A[2]!==null&&(typeof A[2]!=\"number\"||A[2]<0||A[2]!==Math.floor(A[2])))return F.error('The length argument to \"array\" must be a positive integer literal',2);Ke=A[2],te++}W=Ge(Re,Ke)}else{if(!Wa[fe])throw new Error(`Types doesn't contain name = ${fe}`);W=Wa[fe]}let pe=[];for(;teA.outputDefined())}}let Xo={\"to-boolean\":pt,\"to-color\":Xt,\"to-number\":dt,\"to-string\":Et};class da{constructor(A,F){this.type=A,this.args=F}static parse(A,F){if(A.length<2)return F.error(\"Expected at least one argument.\");let W=A[0];if(!Xo[W])throw new Error(`Can't parse ${W} as it is not part of the known types`);if((W===\"to-boolean\"||W===\"to-string\")&&A.length!==2)return F.error(\"Expected one argument.\");let te=Xo[W],fe=[];for(let pe=1;pe4?`Invalid rbga value ${JSON.stringify(F)}: expected an array containing either three or four numeric values.`:fn(F[0],F[1],F[2],F[3]),!W))return new ir(F[0]/255,F[1]/255,F[2]/255,F[3])}throw new ma(W||`Could not parse color from value '${typeof F==\"string\"?F:JSON.stringify(F)}'`)}case\"padding\":{let F;for(let W of this.args){F=W.evaluate(A);let te=$r.parse(F);if(te)return te}throw new ma(`Could not parse padding from value '${typeof F==\"string\"?F:JSON.stringify(F)}'`)}case\"variableAnchorOffsetCollection\":{let F;for(let W of this.args){F=W.evaluate(A);let te=Zi.parse(F);if(te)return te}throw new ma(`Could not parse variableAnchorOffsetCollection from value '${typeof F==\"string\"?F:JSON.stringify(F)}'`)}case\"number\":{let F=null;for(let W of this.args){if(F=W.evaluate(A),F===null)return 0;let te=Number(F);if(!isNaN(te))return te}throw new ma(`Could not convert ${JSON.stringify(F)} to number.`)}case\"formatted\":return ti.fromString(Ba(this.args[0].evaluate(A)));case\"resolvedImage\":return en.fromString(Ba(this.args[0].evaluate(A)));default:return Ba(this.args[0].evaluate(A))}}eachChild(A){this.args.forEach(A)}outputDefined(){return this.args.every(A=>A.outputDefined())}}let jn=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Ha{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==\"number\"?jn[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(A){let F=this._parseColorCache[A];return F||(F=this._parseColorCache[A]=ir.parse(A)),F}}class vo{constructor(A,F,W=[],te,fe=new St,pe=[]){this.registry=A,this.path=W,this.key=W.map(Re=>`[${Re}]`).join(\"\"),this.scope=fe,this.errors=pe,this.expectedType=te,this._isConstant=F}parse(A,F,W,te,fe={}){return F?this.concat(F,W,te)._parse(A,fe):this._parse(A,fe)}_parse(A,F){function W(te,fe,pe){return pe===\"assert\"?new Fa(fe,[te]):pe===\"coerce\"?new da(fe,[te]):te}if(A!==null&&typeof A!=\"string\"&&typeof A!=\"boolean\"&&typeof A!=\"number\"||(A=[\"literal\",A]),Array.isArray(A)){if(A.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let te=A[0];if(typeof te!=\"string\")return this.error(`Expression name must be a string, but found ${typeof te} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let fe=this.registry[te];if(fe){let pe=fe.parse(A,this);if(!pe)return null;if(this.expectedType){let Re=this.expectedType,Ke=pe.type;if(Re.kind!==\"string\"&&Re.kind!==\"number\"&&Re.kind!==\"boolean\"&&Re.kind!==\"object\"&&Re.kind!==\"array\"||Ke.kind!==\"value\")if(Re.kind!==\"color\"&&Re.kind!==\"formatted\"&&Re.kind!==\"resolvedImage\"||Ke.kind!==\"value\"&&Ke.kind!==\"string\")if(Re.kind!==\"padding\"||Ke.kind!==\"value\"&&Ke.kind!==\"number\"&&Ke.kind!==\"array\")if(Re.kind!==\"variableAnchorOffsetCollection\"||Ke.kind!==\"value\"&&Ke.kind!==\"array\"){if(this.checkSubtype(Re,Ke))return null}else pe=W(pe,Re,F.typeAnnotation||\"coerce\");else pe=W(pe,Re,F.typeAnnotation||\"coerce\");else pe=W(pe,Re,F.typeAnnotation||\"coerce\");else pe=W(pe,Re,F.typeAnnotation||\"assert\")}if(!(pe instanceof ua)&&pe.type.kind!==\"resolvedImage\"&&this._isConstant(pe)){let Re=new Ha;try{pe=new ua(pe.type,pe.evaluate(Re))}catch(Ke){return this.error(Ke.message),null}}return pe}return this.error(`Unknown expression \"${te}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(A===void 0?\"'undefined' value invalid. Use null instead.\":typeof A==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof A} instead.`)}concat(A,F,W){let te=typeof A==\"number\"?this.path.concat(A):this.path,fe=W?this.scope.concat(W):this.scope;return new vo(this.registry,this._isConstant,te,F||null,fe,this.errors)}error(A,...F){let W=`${this.key}${F.map(te=>`[${te}]`).join(\"\")}`;this.errors.push(new rt(W,A))}checkSubtype(A,F){let W=et(A,F);return W&&this.error(W),W}}class Gn{constructor(A,F){this.type=F.type,this.bindings=[].concat(A),this.result=F}evaluate(A){return this.result.evaluate(A)}eachChild(A){for(let F of this.bindings)A(F[1]);A(this.result)}static parse(A,F){if(A.length<4)return F.error(`Expected at least 3 arguments, but found ${A.length-1} instead.`);let W=[];for(let fe=1;fe=W.length)throw new ma(`Array index out of bounds: ${F} > ${W.length-1}.`);if(F!==Math.floor(F))throw new ma(`Array index must be an integer, but found ${F} instead.`);return W[F]}eachChild(A){A(this.index),A(this.input)}outputDefined(){return!1}}class Jr{constructor(A,F){this.type=pt,this.needle=A,this.haystack=F}static parse(A,F){if(A.length!==3)return F.error(`Expected 2 arguments, but found ${A.length-1} instead.`);let W=F.parse(A[1],1,_r),te=F.parse(A[2],2,_r);return W&&te?xt(W.type,[pt,Et,dt,Tt,_r])?new Jr(W,te):F.error(`Expected first argument to be of type boolean, string, number or null, but found ${Je(W.type)} instead`):null}evaluate(A){let F=this.needle.evaluate(A),W=this.haystack.evaluate(A);if(!W)return!1;if(!At(F,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ma(`Expected first argument to be of type boolean, string, number or null, but found ${Je(Mn(F))} instead.`);if(!At(W,[\"string\",\"array\"]))throw new ma(`Expected second argument to be of type array or string, but found ${Je(Mn(W))} instead.`);return W.indexOf(F)>=0}eachChild(A){A(this.needle),A(this.haystack)}outputDefined(){return!0}}class hi{constructor(A,F,W){this.type=dt,this.needle=A,this.haystack=F,this.fromIndex=W}static parse(A,F){if(A.length<=2||A.length>=5)return F.error(`Expected 3 or 4 arguments, but found ${A.length-1} instead.`);let W=F.parse(A[1],1,_r),te=F.parse(A[2],2,_r);if(!W||!te)return null;if(!xt(W.type,[pt,Et,dt,Tt,_r]))return F.error(`Expected first argument to be of type boolean, string, number or null, but found ${Je(W.type)} instead`);if(A.length===4){let fe=F.parse(A[3],3,dt);return fe?new hi(W,te,fe):null}return new hi(W,te)}evaluate(A){let F=this.needle.evaluate(A),W=this.haystack.evaluate(A);if(!At(F,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ma(`Expected first argument to be of type boolean, string, number or null, but found ${Je(Mn(F))} instead.`);let te;if(this.fromIndex&&(te=this.fromIndex.evaluate(A)),At(W,[\"string\"])){let fe=W.indexOf(F,te);return fe===-1?-1:[...W.slice(0,fe)].length}if(At(W,[\"array\"]))return W.indexOf(F,te);throw new ma(`Expected second argument to be of type array or string, but found ${Je(Mn(W))} instead.`)}eachChild(A){A(this.needle),A(this.haystack),this.fromIndex&&A(this.fromIndex)}outputDefined(){return!1}}class hn{constructor(A,F,W,te,fe,pe){this.inputType=A,this.type=F,this.input=W,this.cases=te,this.outputs=fe,this.otherwise=pe}static parse(A,F){if(A.length<5)return F.error(`Expected at least 4 arguments, but found only ${A.length-1}.`);if(A.length%2!=1)return F.error(\"Expected an even number of arguments.\");let W,te;F.expectedType&&F.expectedType.kind!==\"value\"&&(te=F.expectedType);let fe={},pe=[];for(let ft=2;ftNumber.MAX_SAFE_INTEGER)return ur.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof kr==\"number\"&&Math.floor(kr)!==kr)return ur.error(\"Numeric branch labels must be integer values.\");if(W){if(ur.checkSubtype(W,Mn(kr)))return null}else W=Mn(kr);if(fe[String(kr)]!==void 0)return ur.error(\"Branch labels must be unique.\");fe[String(kr)]=pe.length}let vr=F.parse(tr,ft,te);if(!vr)return null;te=te||vr.type,pe.push(vr)}let Re=F.parse(A[1],1,_r);if(!Re)return null;let Ke=F.parse(A[A.length-1],A.length-1,te);return Ke?Re.type.kind!==\"value\"&&F.concat(1).checkSubtype(W,Re.type)?null:new hn(W,te,Re,fe,pe,Ke):null}evaluate(A){let F=this.input.evaluate(A);return(Mn(F)===this.inputType&&this.outputs[this.cases[F]]||this.otherwise).evaluate(A)}eachChild(A){A(this.input),this.outputs.forEach(A),A(this.otherwise)}outputDefined(){return this.outputs.every(A=>A.outputDefined())&&this.otherwise.outputDefined()}}class Sn{constructor(A,F,W){this.type=A,this.branches=F,this.otherwise=W}static parse(A,F){if(A.length<4)return F.error(`Expected at least 3 arguments, but found only ${A.length-1}.`);if(A.length%2!=0)return F.error(\"Expected an odd number of arguments.\");let W;F.expectedType&&F.expectedType.kind!==\"value\"&&(W=F.expectedType);let te=[];for(let pe=1;peF.outputDefined())&&this.otherwise.outputDefined()}}class En{constructor(A,F,W,te){this.type=A,this.input=F,this.beginIndex=W,this.endIndex=te}static parse(A,F){if(A.length<=2||A.length>=5)return F.error(`Expected 3 or 4 arguments, but found ${A.length-1} instead.`);let W=F.parse(A[1],1,_r),te=F.parse(A[2],2,dt);if(!W||!te)return null;if(!xt(W.type,[Ge(_r),Et,_r]))return F.error(`Expected first argument to be of type array or string, but found ${Je(W.type)} instead`);if(A.length===4){let fe=F.parse(A[3],3,dt);return fe?new En(W.type,W,te,fe):null}return new En(W.type,W,te)}evaluate(A){let F=this.input.evaluate(A),W=this.beginIndex.evaluate(A),te;if(this.endIndex&&(te=this.endIndex.evaluate(A)),At(F,[\"string\"]))return[...F].slice(W,te).join(\"\");if(At(F,[\"array\"]))return F.slice(W,te);throw new ma(`Expected first argument to be of type array or string, but found ${Je(Mn(F))} instead.`)}eachChild(A){A(this.input),A(this.beginIndex),this.endIndex&&A(this.endIndex)}outputDefined(){return!1}}function ki(R,A){let F=R.length-1,W,te,fe=0,pe=F,Re=0;for(;fe<=pe;)if(Re=Math.floor((fe+pe)/2),W=R[Re],te=R[Re+1],W<=A){if(Re===F||AA))throw new ma(\"Input is not a number.\");pe=Re-1}return 0}class _n{constructor(A,F,W){this.type=A,this.input=F,this.labels=[],this.outputs=[];for(let[te,fe]of W)this.labels.push(te),this.outputs.push(fe)}static parse(A,F){if(A.length-1<4)return F.error(`Expected at least 4 arguments, but found only ${A.length-1}.`);if((A.length-1)%2!=0)return F.error(\"Expected an even number of arguments.\");let W=F.parse(A[1],1,dt);if(!W)return null;let te=[],fe=null;F.expectedType&&F.expectedType.kind!==\"value\"&&(fe=F.expectedType);for(let pe=1;pe=Re)return F.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',ft);let tr=F.parse(Ke,Rt,fe);if(!tr)return null;fe=fe||tr.type,te.push([Re,tr])}return new _n(fe,W,te)}evaluate(A){let F=this.labels,W=this.outputs;if(F.length===1)return W[0].evaluate(A);let te=this.input.evaluate(A);if(te<=F[0])return W[0].evaluate(A);let fe=F.length;return te>=F[fe-1]?W[fe-1].evaluate(A):W[ki(F,te)].evaluate(A)}eachChild(A){A(this.input);for(let F of this.outputs)A(F)}outputDefined(){return this.outputs.every(A=>A.outputDefined())}}function ya(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}var ea=Ma;function Ma(R,A,F,W){this.cx=3*R,this.bx=3*(F-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*A,this.by=3*(W-A)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=A,this.p2x=F,this.p2y=W}Ma.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,A){if(A===void 0&&(A=1e-6),R<0)return 0;if(R>1)return 1;for(var F=R,W=0;W<8;W++){var te=this.sampleCurveX(F)-R;if(Math.abs(te)te?pe=F:Re=F,F=.5*(Re-pe)+pe;return F},solve:function(R,A){return this.sampleCurveY(this.solveCurveX(R,A))}};var _o=ya(ea);function No(R,A,F){return R+F*(A-R)}function po(R,A,F){return R.map((W,te)=>No(W,A[te],F))}let Lo={number:No,color:function(R,A,F,W=\"rgb\"){switch(W){case\"rgb\":{let[te,fe,pe,Re]=po(R.rgb,A.rgb,F);return new ir(te,fe,pe,Re,!1)}case\"hcl\":{let[te,fe,pe,Re]=R.hcl,[Ke,ft,Rt,tr]=A.hcl,ur,vr;if(isNaN(te)||isNaN(Ke))isNaN(te)?isNaN(Ke)?ur=NaN:(ur=Ke,pe!==1&&pe!==0||(vr=ft)):(ur=te,Rt!==1&&Rt!==0||(vr=fe));else{let vn=Ke-te;Ke>te&&vn>180?vn-=360:Ke180&&(vn+=360),ur=te+F*vn}let[kr,Dr,li,pi]=function([vn,zi,ln,Tn]){return vn=isNaN(vn)?0:vn*Pi,Hn([ln,Math.cos(vn)*zi,Math.sin(vn)*zi,Tn])}([ur,vr!=null?vr:No(fe,ft,F),No(pe,Rt,F),No(Re,tr,F)]);return new ir(kr,Dr,li,pi,!1)}case\"lab\":{let[te,fe,pe,Re]=Hn(po(R.lab,A.lab,F));return new ir(te,fe,pe,Re,!1)}}},array:po,padding:function(R,A,F){return new $r(po(R.values,A.values,F))},variableAnchorOffsetCollection:function(R,A,F){let W=R.values,te=A.values;if(W.length!==te.length)throw new ma(`Cannot interpolate values of different length. from: ${R.toString()}, to: ${A.toString()}`);let fe=[];for(let pe=0;petypeof Rt!=\"number\"||Rt<0||Rt>1))return F.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);te={name:\"cubic-bezier\",controlPoints:ft}}}if(A.length-1<4)return F.error(`Expected at least 4 arguments, but found only ${A.length-1}.`);if((A.length-1)%2!=0)return F.error(\"Expected an even number of arguments.\");if(fe=F.parse(fe,2,dt),!fe)return null;let Re=[],Ke=null;W===\"interpolate-hcl\"||W===\"interpolate-lab\"?Ke=Xt:F.expectedType&&F.expectedType.kind!==\"value\"&&(Ke=F.expectedType);for(let ft=0;ft=Rt)return F.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',ur);let kr=F.parse(tr,vr,Ke);if(!kr)return null;Ke=Ke||kr.type,Re.push([Rt,kr])}return Kt(Ke,dt)||Kt(Ke,Xt)||Kt(Ke,qr)||Kt(Ke,gt)||Kt(Ke,Ge(dt))?new ko(Ke,W,te,fe,Re):F.error(`Type ${Je(Ke)} is not interpolatable.`)}evaluate(A){let F=this.labels,W=this.outputs;if(F.length===1)return W[0].evaluate(A);let te=this.input.evaluate(A);if(te<=F[0])return W[0].evaluate(A);let fe=F.length;if(te>=F[fe-1])return W[fe-1].evaluate(A);let pe=ki(F,te),Re=ko.interpolationFactor(this.interpolation,te,F[pe],F[pe+1]),Ke=W[pe].evaluate(A),ft=W[pe+1].evaluate(A);switch(this.operator){case\"interpolate\":return Lo[this.type.kind](Ke,ft,Re);case\"interpolate-hcl\":return Lo.color(Ke,ft,Re,\"hcl\");case\"interpolate-lab\":return Lo.color(Ke,ft,Re,\"lab\")}}eachChild(A){A(this.input);for(let F of this.outputs)A(F)}outputDefined(){return this.outputs.every(A=>A.outputDefined())}}function Ds(R,A,F,W){let te=W-F,fe=R-F;return te===0?0:A===1?fe/te:(Math.pow(A,fe)-1)/(Math.pow(A,te)-1)}class Fs{constructor(A,F){this.type=A,this.args=F}static parse(A,F){if(A.length<2)return F.error(\"Expectected at least one argument.\");let W=null,te=F.expectedType;te&&te.kind!==\"value\"&&(W=te);let fe=[];for(let Re of A.slice(1)){let Ke=F.parse(Re,1+fe.length,W,void 0,{typeAnnotation:\"omit\"});if(!Ke)return null;W=W||Ke.type,fe.push(Ke)}if(!W)throw new Error(\"No output type\");let pe=te&&fe.some(Re=>et(te,Re.type));return new Fs(pe?_r:W,fe)}evaluate(A){let F,W=null,te=0;for(let fe of this.args)if(te++,W=fe.evaluate(A),W&&W instanceof en&&!W.available&&(F||(F=W.name),W=null,te===this.args.length&&(W=F)),W!==null)break;return W}eachChild(A){this.args.forEach(A)}outputDefined(){return this.args.every(A=>A.outputDefined())}}function ll(R,A){return R===\"==\"||R===\"!=\"?A.kind===\"boolean\"||A.kind===\"string\"||A.kind===\"number\"||A.kind===\"null\"||A.kind===\"value\":A.kind===\"string\"||A.kind===\"number\"||A.kind===\"value\"}function ul(R,A,F,W){return W.compare(A,F)===0}function zl(R,A,F){let W=R!==\"==\"&&R!==\"!=\";return class vje{constructor(fe,pe,Re){this.type=pt,this.lhs=fe,this.rhs=pe,this.collator=Re,this.hasUntypedArgument=fe.type.kind===\"value\"||pe.type.kind===\"value\"}static parse(fe,pe){if(fe.length!==3&&fe.length!==4)return pe.error(\"Expected two or three arguments.\");let Re=fe[0],Ke=pe.parse(fe[1],1,_r);if(!Ke)return null;if(!ll(Re,Ke.type))return pe.concat(1).error(`\"${Re}\" comparisons are not supported for type '${Je(Ke.type)}'.`);let ft=pe.parse(fe[2],2,_r);if(!ft)return null;if(!ll(Re,ft.type))return pe.concat(2).error(`\"${Re}\" comparisons are not supported for type '${Je(ft.type)}'.`);if(Ke.type.kind!==ft.type.kind&&Ke.type.kind!==\"value\"&&ft.type.kind!==\"value\")return pe.error(`Cannot compare types '${Je(Ke.type)}' and '${Je(ft.type)}'.`);W&&(Ke.type.kind===\"value\"&&ft.type.kind!==\"value\"?Ke=new Fa(ft.type,[Ke]):Ke.type.kind!==\"value\"&&ft.type.kind===\"value\"&&(ft=new Fa(Ke.type,[ft])));let Rt=null;if(fe.length===4){if(Ke.type.kind!==\"string\"&&ft.type.kind!==\"string\"&&Ke.type.kind!==\"value\"&&ft.type.kind!==\"value\")return pe.error(\"Cannot use collator to compare non-string types.\");if(Rt=pe.parse(fe[3],3,Er),!Rt)return null}return new vje(Ke,ft,Rt)}evaluate(fe){let pe=this.lhs.evaluate(fe),Re=this.rhs.evaluate(fe);if(W&&this.hasUntypedArgument){let Ke=Mn(pe),ft=Mn(Re);if(Ke.kind!==ft.kind||Ke.kind!==\"string\"&&Ke.kind!==\"number\")throw new ma(`Expected arguments for \"${R}\" to be (string, string) or (number, number), but found (${Ke.kind}, ${ft.kind}) instead.`)}if(this.collator&&!W&&this.hasUntypedArgument){let Ke=Mn(pe),ft=Mn(Re);if(Ke.kind!==\"string\"||ft.kind!==\"string\")return A(fe,pe,Re)}return this.collator?F(fe,pe,Re,this.collator.evaluate(fe)):A(fe,pe,Re)}eachChild(fe){fe(this.lhs),fe(this.rhs),this.collator&&fe(this.collator)}outputDefined(){return!0}}}let us=zl(\"==\",function(R,A,F){return A===F},ul),il=zl(\"!=\",function(R,A,F){return A!==F},function(R,A,F,W){return!ul(0,A,F,W)}),As=zl(\"<\",function(R,A,F){return A\",function(R,A,F){return A>F},function(R,A,F,W){return W.compare(A,F)>0}),Ks=zl(\"<=\",function(R,A,F){return A<=F},function(R,A,F,W){return W.compare(A,F)<=0}),zs=zl(\">=\",function(R,A,F){return A>=F},function(R,A,F,W){return W.compare(A,F)>=0});class Io{constructor(A,F,W){this.type=Er,this.locale=W,this.caseSensitive=A,this.diacriticSensitive=F}static parse(A,F){if(A.length!==2)return F.error(\"Expected one argument.\");let W=A[1];if(typeof W!=\"object\"||Array.isArray(W))return F.error(\"Collator options argument must be an object.\");let te=F.parse(W[\"case-sensitive\"]!==void 0&&W[\"case-sensitive\"],1,pt);if(!te)return null;let fe=F.parse(W[\"diacritic-sensitive\"]!==void 0&&W[\"diacritic-sensitive\"],1,pt);if(!fe)return null;let pe=null;return W.locale&&(pe=F.parse(W.locale,1,Et),!pe)?null:new Io(te,fe,pe)}evaluate(A){return new wr(this.caseSensitive.evaluate(A),this.diacriticSensitive.evaluate(A),this.locale?this.locale.evaluate(A):null)}eachChild(A){A(this.caseSensitive),A(this.diacriticSensitive),this.locale&&A(this.locale)}outputDefined(){return!1}}class ls{constructor(A,F,W,te,fe){this.type=Et,this.number=A,this.locale=F,this.currency=W,this.minFractionDigits=te,this.maxFractionDigits=fe}static parse(A,F){if(A.length!==3)return F.error(\"Expected two arguments.\");let W=F.parse(A[1],1,dt);if(!W)return null;let te=A[2];if(typeof te!=\"object\"||Array.isArray(te))return F.error(\"NumberFormat options argument must be an object.\");let fe=null;if(te.locale&&(fe=F.parse(te.locale,1,Et),!fe))return null;let pe=null;if(te.currency&&(pe=F.parse(te.currency,1,Et),!pe))return null;let Re=null;if(te[\"min-fraction-digits\"]&&(Re=F.parse(te[\"min-fraction-digits\"],1,dt),!Re))return null;let Ke=null;return te[\"max-fraction-digits\"]&&(Ke=F.parse(te[\"max-fraction-digits\"],1,dt),!Ke)?null:new ls(W,fe,pe,Re,Ke)}evaluate(A){return new Intl.NumberFormat(this.locale?this.locale.evaluate(A):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(A):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(A):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(A):void 0}).format(this.number.evaluate(A))}eachChild(A){A(this.number),this.locale&&A(this.locale),this.currency&&A(this.currency),this.minFractionDigits&&A(this.minFractionDigits),this.maxFractionDigits&&A(this.maxFractionDigits)}outputDefined(){return!1}}class Yl{constructor(A){this.type=ei,this.sections=A}static parse(A,F){if(A.length<2)return F.error(\"Expected at least one argument.\");let W=A[1];if(!Array.isArray(W)&&typeof W==\"object\")return F.error(\"First argument must be an image or text section.\");let te=[],fe=!1;for(let pe=1;pe<=A.length-1;++pe){let Re=A[pe];if(fe&&typeof Re==\"object\"&&!Array.isArray(Re)){fe=!1;let Ke=null;if(Re[\"font-scale\"]&&(Ke=F.parse(Re[\"font-scale\"],1,dt),!Ke))return null;let ft=null;if(Re[\"text-font\"]&&(ft=F.parse(Re[\"text-font\"],1,Ge(Et)),!ft))return null;let Rt=null;if(Re[\"text-color\"]&&(Rt=F.parse(Re[\"text-color\"],1,Xt),!Rt))return null;let tr=te[te.length-1];tr.scale=Ke,tr.font=ft,tr.textColor=Rt}else{let Ke=F.parse(A[pe],1,_r);if(!Ke)return null;let ft=Ke.type.kind;if(ft!==\"string\"&&ft!==\"value\"&&ft!==\"null\"&&ft!==\"resolvedImage\")return F.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");fe=!0,te.push({content:Ke,scale:null,font:null,textColor:null})}}return new Yl(te)}evaluate(A){return new ti(this.sections.map(F=>{let W=F.content.evaluate(A);return Mn(W)===jr?new Xr(\"\",W,null,null,null):new Xr(Ba(W),null,F.scale?F.scale.evaluate(A):null,F.font?F.font.evaluate(A).join(\",\"):null,F.textColor?F.textColor.evaluate(A):null)}))}eachChild(A){for(let F of this.sections)A(F.content),F.scale&&A(F.scale),F.font&&A(F.font),F.textColor&&A(F.textColor)}outputDefined(){return!1}}class Su{constructor(A){this.type=jr,this.input=A}static parse(A,F){if(A.length!==2)return F.error(\"Expected two arguments.\");let W=F.parse(A[1],1,Et);return W?new Su(W):F.error(\"No image name provided.\")}evaluate(A){let F=this.input.evaluate(A),W=en.fromString(F);return W&&A.availableImages&&(W.available=A.availableImages.indexOf(F)>-1),W}eachChild(A){A(this.input)}outputDefined(){return!1}}class nc{constructor(A){this.type=dt,this.input=A}static parse(A,F){if(A.length!==2)return F.error(`Expected 1 argument, but found ${A.length-1} instead.`);let W=F.parse(A[1],1);return W?W.type.kind!==\"array\"&&W.type.kind!==\"string\"&&W.type.kind!==\"value\"?F.error(`Expected argument of type string or array, but found ${Je(W.type)} instead.`):new nc(W):null}evaluate(A){let F=this.input.evaluate(A);if(typeof F==\"string\")return[...F].length;if(Array.isArray(F))return F.length;throw new ma(`Expected value to be of type string or array, but found ${Je(Mn(F))} instead.`)}eachChild(A){A(this.input)}outputDefined(){return!1}}let bs=8192;function Rn(R,A){let F=(180+R[0])/360,W=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R[1]*Math.PI/360)))/360,te=Math.pow(2,A.z);return[Math.round(F*te*bs),Math.round(W*te*bs)]}function _a(R,A){let F=Math.pow(2,A.z);return[(te=(R[0]/bs+A.x)/F,360*te-180),(W=(R[1]/bs+A.y)/F,360/Math.PI*Math.atan(Math.exp((180-360*W)*Math.PI/180))-90)];var W,te}function Vu(R,A){R[0]=Math.min(R[0],A[0]),R[1]=Math.min(R[1],A[1]),R[2]=Math.max(R[2],A[0]),R[3]=Math.max(R[3],A[1])}function ql(R,A){return!(R[0]<=A[0]||R[2]>=A[2]||R[1]<=A[1]||R[3]>=A[3])}function xo(R,A,F){let W=R[0]-A[0],te=R[1]-A[1],fe=R[0]-F[0],pe=R[1]-F[1];return W*pe-fe*te==0&&W*fe<=0&&te*pe<=0}function Kl(R,A,F,W){return(te=[W[0]-F[0],W[1]-F[1]])[0]*(fe=[A[0]-R[0],A[1]-R[1]])[1]-te[1]*fe[0]!=0&&!(!Oo(R,A,F,W)||!Oo(F,W,R,A));var te,fe}function Ns(R,A,F){for(let W of F)for(let te=0;te(te=R)[1]!=(pe=Re[Ke+1])[1]>te[1]&&te[0]<(pe[0]-fe[0])*(te[1]-fe[1])/(pe[1]-fe[1])+fe[0]&&(W=!W)}var te,fe,pe;return W}function ac(R,A){for(let F of A)if(Hl(R,F))return!0;return!1}function oa(R,A){for(let F of R)if(!Hl(F,A))return!1;for(let F=0;F0&&Re<0||pe<0&&Re>0}function Ol(R,A,F){let W=[];for(let te=0;teF[2]){let te=.5*W,fe=R[0]-F[0]>te?-W:F[0]-R[0]>te?W:0;fe===0&&(fe=R[0]-F[2]>te?-W:F[2]-R[0]>te?W:0),R[0]+=fe}Vu(A,R)}function rf(R,A,F,W){let te=Math.pow(2,W.z)*bs,fe=[W.x*bs,W.y*bs],pe=[];for(let Re of R)for(let Ke of Re){let ft=[Ke.x+fe[0],Ke.y+fe[1]];Do(ft,A,F,te),pe.push(ft)}return pe}function Vf(R,A,F,W){let te=Math.pow(2,W.z)*bs,fe=[W.x*bs,W.y*bs],pe=[];for(let Ke of R){let ft=[];for(let Rt of Ke){let tr=[Rt.x+fe[0],Rt.y+fe[1]];Vu(A,tr),ft.push(tr)}pe.push(ft)}if(A[2]-A[0]<=te/2){(Re=A)[0]=Re[1]=1/0,Re[2]=Re[3]=-1/0;for(let Ke of pe)for(let ft of Ke)Do(ft,A,F,te)}var Re;return pe}class pl{constructor(A,F){this.type=pt,this.geojson=A,this.geometries=F}static parse(A,F){if(A.length!==2)return F.error(`'within' expression requires exactly one argument, but found ${A.length-1} instead.`);if(yn(A[1])){let W=A[1];if(W.type===\"FeatureCollection\"){let te=[];for(let fe of W.features){let{type:pe,coordinates:Re}=fe.geometry;pe===\"Polygon\"&&te.push(Re),pe===\"MultiPolygon\"&&te.push(...Re)}if(te.length)return new pl(W,{type:\"MultiPolygon\",coordinates:te})}else if(W.type===\"Feature\"){let te=W.geometry.type;if(te===\"Polygon\"||te===\"MultiPolygon\")return new pl(W,W.geometry)}else if(W.type===\"Polygon\"||W.type===\"MultiPolygon\")return new pl(W,W)}return F.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(A){if(A.geometry()!=null&&A.canonicalID()!=null){if(A.geometryType()===\"Point\")return function(F,W){let te=[1/0,1/0,-1/0,-1/0],fe=[1/0,1/0,-1/0,-1/0],pe=F.canonicalID();if(W.type===\"Polygon\"){let Re=Ol(W.coordinates,fe,pe),Ke=rf(F.geometry(),te,fe,pe);if(!ql(te,fe))return!1;for(let ft of Ke)if(!Hl(ft,Re))return!1}if(W.type===\"MultiPolygon\"){let Re=Pc(W.coordinates,fe,pe),Ke=rf(F.geometry(),te,fe,pe);if(!ql(te,fe))return!1;for(let ft of Ke)if(!ac(ft,Re))return!1}return!0}(A,this.geometries);if(A.geometryType()===\"LineString\")return function(F,W){let te=[1/0,1/0,-1/0,-1/0],fe=[1/0,1/0,-1/0,-1/0],pe=F.canonicalID();if(W.type===\"Polygon\"){let Re=Ol(W.coordinates,fe,pe),Ke=Vf(F.geometry(),te,fe,pe);if(!ql(te,fe))return!1;for(let ft of Ke)if(!oa(ft,Re))return!1}if(W.type===\"MultiPolygon\"){let Re=Pc(W.coordinates,fe,pe),Ke=Vf(F.geometry(),te,fe,pe);if(!ql(te,fe))return!1;for(let ft of Ke)if(!qo(ft,Re))return!1}return!0}(A,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Zc=class{constructor(R=[],A=(F,W)=>FW?1:0){if(this.data=R,this.length=this.data.length,this.compare=A,this.length>0)for(let F=(this.length>>1)-1;F>=0;F--)this._down(F)}push(R){this.data.push(R),this._up(this.length++)}pop(){if(this.length===0)return;let R=this.data[0],A=this.data.pop();return--this.length>0&&(this.data[0]=A,this._down(0)),R}peek(){return this.data[0]}_up(R){let{data:A,compare:F}=this,W=A[R];for(;R>0;){let te=R-1>>1,fe=A[te];if(F(W,fe)>=0)break;A[R]=fe,R=te}A[R]=W}_down(R){let{data:A,compare:F}=this,W=this.length>>1,te=A[R];for(;R=0)break;A[R]=A[fe],R=fe}A[R]=te}};function Jl(R,A,F,W,te){qs(R,A,F,W||R.length-1,te||oc)}function qs(R,A,F,W,te){for(;W>F;){if(W-F>600){var fe=W-F+1,pe=A-F+1,Re=Math.log(fe),Ke=.5*Math.exp(2*Re/3),ft=.5*Math.sqrt(Re*Ke*(fe-Ke)/fe)*(pe-fe/2<0?-1:1);qs(R,A,Math.max(F,Math.floor(A-pe*Ke/fe+ft)),Math.min(W,Math.floor(A+(fe-pe)*Ke/fe+ft)),te)}var Rt=R[A],tr=F,ur=W;for(yu(R,F,A),te(R[W],Rt)>0&&yu(R,F,W);tr0;)ur--}te(R[F],Rt)===0?yu(R,F,ur):yu(R,++ur,W),ur<=A&&(F=ur+1),A<=ur&&(W=ur-1)}}function yu(R,A,F){var W=R[A];R[A]=R[F],R[F]=W}function oc(R,A){return RA?1:0}function Cf(R,A){if(R.length<=1)return[R];let F=[],W,te;for(let fe of R){let pe=jh(fe);pe!==0&&(fe.area=Math.abs(pe),te===void 0&&(te=pe<0),te===pe<0?(W&&F.push(W),W=[fe]):W.push(fe))}if(W&&F.push(W),A>1)for(let fe=0;fe1?(ft=A[Ke+1][0],Rt=A[Ke+1][1]):vr>0&&(ft+=tr/this.kx*vr,Rt+=ur/this.ky*vr)),tr=this.wrap(F[0]-ft)*this.kx,ur=(F[1]-Rt)*this.ky;let kr=tr*tr+ur*ur;kr180;)A-=360;return A}}function $l(R,A){return A[0]-R[0]}function fl(R){return R[1]-R[0]+1}function lc(R,A){return R[1]>=R[0]&&R[1]R[1])return[null,null];let F=fl(R);if(A){if(F===2)return[R,null];let te=Math.floor(F/2);return[[R[0],R[0]+te],[R[0]+te,R[1]]]}if(F===1)return[R,null];let W=Math.floor(F/2)-1;return[[R[0],R[0]+W],[R[0]+W+1,R[1]]]}function Es(R,A){if(!lc(A,R.length))return[1/0,1/0,-1/0,-1/0];let F=[1/0,1/0,-1/0,-1/0];for(let W=A[0];W<=A[1];++W)Vu(F,R[W]);return F}function Hs(R){let A=[1/0,1/0,-1/0,-1/0];for(let F of R)for(let W of F)Vu(A,W);return A}function Go(R){return R[0]!==-1/0&&R[1]!==-1/0&&R[2]!==1/0&&R[3]!==1/0}function ps(R,A,F){if(!Go(R)||!Go(A))return NaN;let W=0,te=0;return R[2]A[2]&&(W=R[0]-A[2]),R[1]>A[3]&&(te=R[1]-A[3]),R[3]=W)return W;if(ql(te,fe)){if(sd(R,A))return 0}else if(sd(A,R))return 0;let pe=1/0;for(let Re of R)for(let Ke=0,ft=Re.length,Rt=ft-1;Ke0;){let Ke=pe.pop();if(Ke[0]>=fe)continue;let ft=Ke[1],Rt=A?50:100;if(fl(ft)<=Rt){if(!lc(ft,R.length))return NaN;if(A){let tr=Po(R,ft,F,W);if(isNaN(tr)||tr===0)return tr;fe=Math.min(fe,tr)}else for(let tr=ft[0];tr<=ft[1];++tr){let ur=od(R[tr],F,W);if(fe=Math.min(fe,ur),fe===0)return 0}}else{let tr=Fu(ft,A);Pa(pe,fe,W,R,Re,tr[0]),Pa(pe,fe,W,R,Re,tr[1])}}return fe}function bl(R,A,F,W,te,fe=1/0){let pe=Math.min(fe,te.distance(R[0],F[0]));if(pe===0)return pe;let Re=new Zc([[0,[0,R.length-1],[0,F.length-1]]],$l);for(;Re.length>0;){let Ke=Re.pop();if(Ke[0]>=pe)continue;let ft=Ke[1],Rt=Ke[2],tr=A?50:100,ur=W?50:100;if(fl(ft)<=tr&&fl(Rt)<=ur){if(!lc(ft,R.length)&&lc(Rt,F.length))return NaN;let vr;if(A&&W)vr=Gu(R,ft,F,Rt,te),pe=Math.min(pe,vr);else if(A&&!W){let kr=R.slice(ft[0],ft[1]+1);for(let Dr=Rt[0];Dr<=Rt[1];++Dr)if(vr=uc(F[Dr],kr,te),pe=Math.min(pe,vr),pe===0)return pe}else if(!A&&W){let kr=F.slice(Rt[0],Rt[1]+1);for(let Dr=ft[0];Dr<=ft[1];++Dr)if(vr=uc(R[Dr],kr,te),pe=Math.min(pe,vr),pe===0)return pe}else vr=Os(R,ft,F,Rt,te),pe=Math.min(pe,vr)}else{let vr=Fu(ft,A),kr=Fu(Rt,W);af(Re,pe,te,R,F,vr[0],kr[0]),af(Re,pe,te,R,F,vr[0],kr[1]),af(Re,pe,te,R,F,vr[1],kr[0]),af(Re,pe,te,R,F,vr[1],kr[1])}}return pe}function Hf(R){return R.type===\"MultiPolygon\"?R.coordinates.map(A=>({type:\"Polygon\",coordinates:A})):R.type===\"MultiLineString\"?R.coordinates.map(A=>({type:\"LineString\",coordinates:A})):R.type===\"MultiPoint\"?R.coordinates.map(A=>({type:\"Point\",coordinates:A})):[R]}class Ic{constructor(A,F){this.type=dt,this.geojson=A,this.geometries=F}static parse(A,F){if(A.length!==2)return F.error(`'distance' expression requires exactly one argument, but found ${A.length-1} instead.`);if(yn(A[1])){let W=A[1];if(W.type===\"FeatureCollection\")return new Ic(W,W.features.map(te=>Hf(te.geometry)).flat());if(W.type===\"Feature\")return new Ic(W,Hf(W.geometry));if(\"type\"in W&&\"coordinates\"in W)return new Ic(W,Hf(W))}return F.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(A){if(A.geometry()!=null&&A.canonicalID()!=null){if(A.geometryType()===\"Point\")return function(F,W){let te=F.geometry(),fe=te.flat().map(Ke=>_a([Ke.x,Ke.y],F.canonical));if(te.length===0)return NaN;let pe=new Gf(fe[0][1]),Re=1/0;for(let Ke of W){switch(Ke.type){case\"Point\":Re=Math.min(Re,bl(fe,!1,[Ke.coordinates],!1,pe,Re));break;case\"LineString\":Re=Math.min(Re,bl(fe,!1,Ke.coordinates,!0,pe,Re));break;case\"Polygon\":Re=Math.min(Re,Hu(fe,!1,Ke.coordinates,pe,Re))}if(Re===0)return Re}return Re}(A,this.geometries);if(A.geometryType()===\"LineString\")return function(F,W){let te=F.geometry(),fe=te.flat().map(Ke=>_a([Ke.x,Ke.y],F.canonical));if(te.length===0)return NaN;let pe=new Gf(fe[0][1]),Re=1/0;for(let Ke of W){switch(Ke.type){case\"Point\":Re=Math.min(Re,bl(fe,!0,[Ke.coordinates],!1,pe,Re));break;case\"LineString\":Re=Math.min(Re,bl(fe,!0,Ke.coordinates,!0,pe,Re));break;case\"Polygon\":Re=Math.min(Re,Hu(fe,!0,Ke.coordinates,pe,Re))}if(Re===0)return Re}return Re}(A,this.geometries);if(A.geometryType()===\"Polygon\")return function(F,W){let te=F.geometry();if(te.length===0||te[0].length===0)return NaN;let fe=Cf(te,0).map(Ke=>Ke.map(ft=>ft.map(Rt=>_a([Rt.x,Rt.y],F.canonical)))),pe=new Gf(fe[0][0][0][1]),Re=1/0;for(let Ke of W)for(let ft of fe){switch(Ke.type){case\"Point\":Re=Math.min(Re,Hu([Ke.coordinates],!1,ft,pe,Re));break;case\"LineString\":Re=Math.min(Re,Hu(Ke.coordinates,!0,ft,pe,Re));break;case\"Polygon\":Re=Math.min(Re,Ko(ft,Ke.coordinates,pe,Re))}if(Re===0)return Re}return Re}(A,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let yf={\"==\":us,\"!=\":il,\">\":cl,\"<\":As,\">=\":zs,\"<=\":Ks,array:Fa,at:Ar,boolean:Fa,case:Sn,coalesce:Fs,collator:Io,format:Yl,image:Su,in:Jr,\"index-of\":hi,interpolate:ko,\"interpolate-hcl\":ko,\"interpolate-lab\":ko,length:nc,let:Gn,literal:ua,match:hn,number:Fa,\"number-format\":ls,object:Fa,slice:En,step:_n,string:Fa,\"to-boolean\":da,\"to-color\":da,\"to-number\":da,\"to-string\":da,var:Ct,within:pl,distance:Ic};class Bl{constructor(A,F,W,te){this.name=A,this.type=F,this._evaluate=W,this.args=te}evaluate(A){return this._evaluate(A,this.args)}eachChild(A){this.args.forEach(A)}outputDefined(){return!1}static parse(A,F){let W=A[0],te=Bl.definitions[W];if(!te)return F.error(`Unknown expression \"${W}\". If you wanted a literal array, use [\"literal\", [...]].`,0);let fe=Array.isArray(te)?te[0]:te.type,pe=Array.isArray(te)?[[te[1],te[2]]]:te.overloads,Re=pe.filter(([ft])=>!Array.isArray(ft)||ft.length===A.length-1),Ke=null;for(let[ft,Rt]of Re){Ke=new vo(F.registry,eh,F.path,null,F.scope);let tr=[],ur=!1;for(let vr=1;vr{return ur=tr,Array.isArray(ur)?`(${ur.map(Je).join(\", \")})`:`(${Je(ur.type)}...)`;var ur}).join(\" | \"),Rt=[];for(let tr=1;tr{F=A?F&&eh(W):F&&W instanceof ua}),!!F&&th(R)&&jf(R,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function th(R){if(R instanceof Bl&&(R.name===\"get\"&&R.args.length===1||R.name===\"feature-state\"||R.name===\"has\"&&R.args.length===1||R.name===\"properties\"||R.name===\"geometry-type\"||R.name===\"id\"||/^filter-/.test(R.name))||R instanceof pl||R instanceof Ic)return!1;let A=!0;return R.eachChild(F=>{A&&!th(F)&&(A=!1)}),A}function ju(R){if(R instanceof Bl&&R.name===\"feature-state\")return!1;let A=!0;return R.eachChild(F=>{A&&!ju(F)&&(A=!1)}),A}function jf(R,A){if(R instanceof Bl&&A.indexOf(R.name)>=0)return!1;let F=!0;return R.eachChild(W=>{F&&!jf(W,A)&&(F=!1)}),F}function cc(R){return{result:\"success\",value:R}}function of(R){return{result:\"error\",value:R}}function Nl(R){return R[\"property-type\"]===\"data-driven\"||R[\"property-type\"]===\"cross-faded-data-driven\"}function Kc(R){return!!R.expression&&R.expression.parameters.indexOf(\"zoom\")>-1}function Rc(R){return!!R.expression&&R.expression.interpolated}function gs(R){return R instanceof Number?\"number\":R instanceof String?\"string\":R instanceof Boolean?\"boolean\":Array.isArray(R)?\"array\":R===null?\"null\":typeof R}function Wf(R){return typeof R==\"object\"&&R!==null&&!Array.isArray(R)}function Wh(R){return R}function rh(R,A){let F=A.type===\"color\",W=R.stops&&typeof R.stops[0][0]==\"object\",te=W||!(W||R.property!==void 0),fe=R.type||(Rc(A)?\"exponential\":\"interval\");if(F||A.type===\"padding\"){let Rt=F?ir.parse:$r.parse;(R=Ae({},R)).stops&&(R.stops=R.stops.map(tr=>[tr[0],Rt(tr[1])])),R.default=Rt(R.default?R.default:A.default)}if(R.colorSpace&&(pe=R.colorSpace)!==\"rgb\"&&pe!==\"hcl\"&&pe!==\"lab\")throw new Error(`Unknown color space: \"${R.colorSpace}\"`);var pe;let Re,Ke,ft;if(fe===\"exponential\")Re=ih;else if(fe===\"interval\")Re=Mu;else if(fe===\"categorical\"){Re=Sh,Ke=Object.create(null);for(let Rt of R.stops)Ke[Rt[0]]=Rt[1];ft=typeof R.stops[0][0]}else{if(fe!==\"identity\")throw new Error(`Unknown function type \"${fe}\"`);Re=js}if(W){let Rt={},tr=[];for(let kr=0;krkr[0]),evaluate:({zoom:kr},Dr)=>ih({stops:ur,base:R.base},A,kr).evaluate(kr,Dr)}}if(te){let Rt=fe===\"exponential\"?{name:\"exponential\",base:R.base!==void 0?R.base:1}:null;return{kind:\"camera\",interpolationType:Rt,interpolationFactor:ko.interpolationFactor.bind(void 0,Rt),zoomStops:R.stops.map(tr=>tr[0]),evaluate:({zoom:tr})=>Re(R,A,tr,Ke,ft)}}return{kind:\"source\",evaluate(Rt,tr){let ur=tr&&tr.properties?tr.properties[R.property]:void 0;return ur===void 0?sf(R.default,A.default):Re(R,A,ur,Ke,ft)}}}function sf(R,A,F){return R!==void 0?R:A!==void 0?A:F!==void 0?F:void 0}function Sh(R,A,F,W,te){return sf(typeof F===te?W[F]:void 0,R.default,A.default)}function Mu(R,A,F){if(gs(F)!==\"number\")return sf(R.default,A.default);let W=R.stops.length;if(W===1||F<=R.stops[0][0])return R.stops[0][1];if(F>=R.stops[W-1][0])return R.stops[W-1][1];let te=ki(R.stops.map(fe=>fe[0]),F);return R.stops[te][1]}function ih(R,A,F){let W=R.base!==void 0?R.base:1;if(gs(F)!==\"number\")return sf(R.default,A.default);let te=R.stops.length;if(te===1||F<=R.stops[0][0])return R.stops[0][1];if(F>=R.stops[te-1][0])return R.stops[te-1][1];let fe=ki(R.stops.map(Rt=>Rt[0]),F),pe=function(Rt,tr,ur,vr){let kr=vr-ur,Dr=Rt-ur;return kr===0?0:tr===1?Dr/kr:(Math.pow(tr,Dr)-1)/(Math.pow(tr,kr)-1)}(F,W,R.stops[fe][0],R.stops[fe+1][0]),Re=R.stops[fe][1],Ke=R.stops[fe+1][1],ft=Lo[A.type]||Wh;return typeof Re.evaluate==\"function\"?{evaluate(...Rt){let tr=Re.evaluate.apply(void 0,Rt),ur=Ke.evaluate.apply(void 0,Rt);if(tr!==void 0&&ur!==void 0)return ft(tr,ur,pe,R.colorSpace)}}:ft(Re,Ke,pe,R.colorSpace)}function js(R,A,F){switch(A.type){case\"color\":F=ir.parse(F);break;case\"formatted\":F=ti.fromString(F.toString());break;case\"resolvedImage\":F=en.fromString(F.toString());break;case\"padding\":F=$r.parse(F);break;default:gs(F)===A.type||A.type===\"enum\"&&A.values[F]||(F=void 0)}return sf(F,R.default,A.default)}Bl.register(yf,{error:[{kind:\"error\"},[Et],(R,[A])=>{throw new ma(A.evaluate(R))}],typeof:[Et,[_r],(R,[A])=>Je(Mn(A.evaluate(R)))],\"to-rgba\":[Ge(dt,4),[Xt],(R,[A])=>{let[F,W,te,fe]=A.evaluate(R).rgb;return[255*F,255*W,255*te,fe]}],rgb:[Xt,[dt,dt,dt],Ah],rgba:[Xt,[dt,dt,dt,dt],Ah],has:{type:pt,overloads:[[[Et],(R,[A])=>Qf(A.evaluate(R),R.properties())],[[Et,or],(R,[A,F])=>Qf(A.evaluate(R),F.evaluate(R))]]},get:{type:_r,overloads:[[[Et],(R,[A])=>_f(A.evaluate(R),R.properties())],[[Et,or],(R,[A,F])=>_f(A.evaluate(R),F.evaluate(R))]]},\"feature-state\":[_r,[Et],(R,[A])=>_f(A.evaluate(R),R.featureState||{})],properties:[or,[],R=>R.properties()],\"geometry-type\":[Et,[],R=>R.geometryType()],id:[_r,[],R=>R.id()],zoom:[dt,[],R=>R.globals.zoom],\"heatmap-density\":[dt,[],R=>R.globals.heatmapDensity||0],\"line-progress\":[dt,[],R=>R.globals.lineProgress||0],accumulated:[_r,[],R=>R.globals.accumulated===void 0?null:R.globals.accumulated],\"+\":[dt,Yc(dt),(R,A)=>{let F=0;for(let W of A)F+=W.evaluate(R);return F}],\"*\":[dt,Yc(dt),(R,A)=>{let F=1;for(let W of A)F*=W.evaluate(R);return F}],\"-\":{type:dt,overloads:[[[dt,dt],(R,[A,F])=>A.evaluate(R)-F.evaluate(R)],[[dt],(R,[A])=>-A.evaluate(R)]]},\"/\":[dt,[dt,dt],(R,[A,F])=>A.evaluate(R)/F.evaluate(R)],\"%\":[dt,[dt,dt],(R,[A,F])=>A.evaluate(R)%F.evaluate(R)],ln2:[dt,[],()=>Math.LN2],pi:[dt,[],()=>Math.PI],e:[dt,[],()=>Math.E],\"^\":[dt,[dt,dt],(R,[A,F])=>Math.pow(A.evaluate(R),F.evaluate(R))],sqrt:[dt,[dt],(R,[A])=>Math.sqrt(A.evaluate(R))],log10:[dt,[dt],(R,[A])=>Math.log(A.evaluate(R))/Math.LN10],ln:[dt,[dt],(R,[A])=>Math.log(A.evaluate(R))],log2:[dt,[dt],(R,[A])=>Math.log(A.evaluate(R))/Math.LN2],sin:[dt,[dt],(R,[A])=>Math.sin(A.evaluate(R))],cos:[dt,[dt],(R,[A])=>Math.cos(A.evaluate(R))],tan:[dt,[dt],(R,[A])=>Math.tan(A.evaluate(R))],asin:[dt,[dt],(R,[A])=>Math.asin(A.evaluate(R))],acos:[dt,[dt],(R,[A])=>Math.acos(A.evaluate(R))],atan:[dt,[dt],(R,[A])=>Math.atan(A.evaluate(R))],min:[dt,Yc(dt),(R,A)=>Math.min(...A.map(F=>F.evaluate(R)))],max:[dt,Yc(dt),(R,A)=>Math.max(...A.map(F=>F.evaluate(R)))],abs:[dt,[dt],(R,[A])=>Math.abs(A.evaluate(R))],round:[dt,[dt],(R,[A])=>{let F=A.evaluate(R);return F<0?-Math.round(-F):Math.round(F)}],floor:[dt,[dt],(R,[A])=>Math.floor(A.evaluate(R))],ceil:[dt,[dt],(R,[A])=>Math.ceil(A.evaluate(R))],\"filter-==\":[pt,[Et,_r],(R,[A,F])=>R.properties()[A.value]===F.value],\"filter-id-==\":[pt,[_r],(R,[A])=>R.id()===A.value],\"filter-type-==\":[pt,[Et],(R,[A])=>R.geometryType()===A.value],\"filter-<\":[pt,[Et,_r],(R,[A,F])=>{let W=R.properties()[A.value],te=F.value;return typeof W==typeof te&&W{let F=R.id(),W=A.value;return typeof F==typeof W&&F\":[pt,[Et,_r],(R,[A,F])=>{let W=R.properties()[A.value],te=F.value;return typeof W==typeof te&&W>te}],\"filter-id->\":[pt,[_r],(R,[A])=>{let F=R.id(),W=A.value;return typeof F==typeof W&&F>W}],\"filter-<=\":[pt,[Et,_r],(R,[A,F])=>{let W=R.properties()[A.value],te=F.value;return typeof W==typeof te&&W<=te}],\"filter-id-<=\":[pt,[_r],(R,[A])=>{let F=R.id(),W=A.value;return typeof F==typeof W&&F<=W}],\"filter->=\":[pt,[Et,_r],(R,[A,F])=>{let W=R.properties()[A.value],te=F.value;return typeof W==typeof te&&W>=te}],\"filter-id->=\":[pt,[_r],(R,[A])=>{let F=R.id(),W=A.value;return typeof F==typeof W&&F>=W}],\"filter-has\":[pt,[_r],(R,[A])=>A.value in R.properties()],\"filter-has-id\":[pt,[],R=>R.id()!==null&&R.id()!==void 0],\"filter-type-in\":[pt,[Ge(Et)],(R,[A])=>A.value.indexOf(R.geometryType())>=0],\"filter-id-in\":[pt,[Ge(_r)],(R,[A])=>A.value.indexOf(R.id())>=0],\"filter-in-small\":[pt,[Et,Ge(_r)],(R,[A,F])=>F.value.indexOf(R.properties()[A.value])>=0],\"filter-in-large\":[pt,[Et,Ge(_r)],(R,[A,F])=>function(W,te,fe,pe){for(;fe<=pe;){let Re=fe+pe>>1;if(te[Re]===W)return!0;te[Re]>W?pe=Re-1:fe=Re+1}return!1}(R.properties()[A.value],F.value,0,F.value.length-1)],all:{type:pt,overloads:[[[pt,pt],(R,[A,F])=>A.evaluate(R)&&F.evaluate(R)],[Yc(pt),(R,A)=>{for(let F of A)if(!F.evaluate(R))return!1;return!0}]]},any:{type:pt,overloads:[[[pt,pt],(R,[A,F])=>A.evaluate(R)||F.evaluate(R)],[Yc(pt),(R,A)=>{for(let F of A)if(F.evaluate(R))return!0;return!1}]]},\"!\":[pt,[pt],(R,[A])=>!A.evaluate(R)],\"is-supported-script\":[pt,[Et],(R,[A])=>{let F=R.globals&&R.globals.isSupportedScript;return!F||F(A.evaluate(R))}],upcase:[Et,[Et],(R,[A])=>A.evaluate(R).toUpperCase()],downcase:[Et,[Et],(R,[A])=>A.evaluate(R).toLowerCase()],concat:[Et,Yc(_r),(R,A)=>A.map(F=>Ba(F.evaluate(R))).join(\"\")],\"resolved-locale\":[Et,[Er],(R,[A])=>A.evaluate(R).resolvedLocale()]});class Eu{constructor(A,F){var W;this.expression=A,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=F?(W=F).type===\"color\"&&Wf(W.default)?new ir(0,0,0,0):W.type===\"color\"?ir.parse(W.default)||null:W.type===\"padding\"?$r.parse(W.default)||null:W.type===\"variableAnchorOffsetCollection\"?Zi.parse(W.default)||null:W.default===void 0?null:W.default:null,this._enumValues=F&&F.type===\"enum\"?F.values:null}evaluateWithoutErrorHandling(A,F,W,te,fe,pe){return this._evaluator.globals=A,this._evaluator.feature=F,this._evaluator.featureState=W,this._evaluator.canonical=te,this._evaluator.availableImages=fe||null,this._evaluator.formattedSection=pe,this.expression.evaluate(this._evaluator)}evaluate(A,F,W,te,fe,pe){this._evaluator.globals=A,this._evaluator.feature=F||null,this._evaluator.featureState=W||null,this._evaluator.canonical=te,this._evaluator.availableImages=fe||null,this._evaluator.formattedSection=pe||null;try{let Re=this.expression.evaluate(this._evaluator);if(Re==null||typeof Re==\"number\"&&Re!=Re)return this._defaultValue;if(this._enumValues&&!(Re in this._enumValues))throw new ma(`Expected value to be one of ${Object.keys(this._enumValues).map(Ke=>JSON.stringify(Ke)).join(\", \")}, but found ${JSON.stringify(Re)} instead.`);return Re}catch(Re){return this._warningHistory[Re.message]||(this._warningHistory[Re.message]=!0,typeof console!=\"undefined\"&&console.warn(Re.message)),this._defaultValue}}}function Dc(R){return Array.isArray(R)&&R.length>0&&typeof R[0]==\"string\"&&R[0]in yf}function ks(R,A){let F=new vo(yf,eh,[],A?function(te){let fe={color:Xt,string:Et,number:dt,enum:Et,boolean:pt,formatted:ei,padding:qr,resolvedImage:jr,variableAnchorOffsetCollection:gt};return te.type===\"array\"?Ge(fe[te.value]||_r,te.length):fe[te.type]}(A):void 0),W=F.parse(R,void 0,void 0,void 0,A&&A.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return W?cc(new Eu(W,A)):of(F.errors)}class bc{constructor(A,F){this.kind=A,this._styleExpression=F,this.isStateDependent=A!==\"constant\"&&!ju(F.expression)}evaluateWithoutErrorHandling(A,F,W,te,fe,pe){return this._styleExpression.evaluateWithoutErrorHandling(A,F,W,te,fe,pe)}evaluate(A,F,W,te,fe,pe){return this._styleExpression.evaluate(A,F,W,te,fe,pe)}}class hu{constructor(A,F,W,te){this.kind=A,this.zoomStops=W,this._styleExpression=F,this.isStateDependent=A!==\"camera\"&&!ju(F.expression),this.interpolationType=te}evaluateWithoutErrorHandling(A,F,W,te,fe,pe){return this._styleExpression.evaluateWithoutErrorHandling(A,F,W,te,fe,pe)}evaluate(A,F,W,te,fe,pe){return this._styleExpression.evaluate(A,F,W,te,fe,pe)}interpolationFactor(A,F,W){return this.interpolationType?ko.interpolationFactor(this.interpolationType,A,F,W):0}}function _u(R,A){let F=ks(R,A);if(F.result===\"error\")return F;let W=F.value.expression,te=th(W);if(!te&&!Nl(A))return of([new rt(\"\",\"data expressions not supported\")]);let fe=jf(W,[\"zoom\"]);if(!fe&&!Kc(A))return of([new rt(\"\",\"zoom expressions not supported\")]);let pe=nh(W);return pe||fe?pe instanceof rt?of([pe]):pe instanceof ko&&!Rc(A)?of([new rt(\"\",'\"interpolate\" expressions cannot be used with this property')]):cc(pe?new hu(te?\"camera\":\"composite\",F.value,pe.labels,pe instanceof ko?pe.interpolation:void 0):new bc(te?\"constant\":\"source\",F.value)):of([new rt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class nl{constructor(A,F){this._parameters=A,this._specification=F,Ae(this,rh(this._parameters,this._specification))}static deserialize(A){return new nl(A._parameters,A._specification)}static serialize(A){return{_parameters:A._parameters,_specification:A._specification}}}function nh(R){let A=null;if(R instanceof Gn)A=nh(R.result);else if(R instanceof Fs){for(let F of R.args)if(A=nh(F),A)break}else(R instanceof _n||R instanceof ko)&&R.input instanceof Bl&&R.input.name===\"zoom\"&&(A=R);return A instanceof rt||R.eachChild(F=>{let W=nh(F);W instanceof rt?A=W:!A&&W?A=new rt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):A&&W&&A!==W&&(A=new rt(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),A}function Mh(R){if(R===!0||R===!1)return!0;if(!Array.isArray(R)||R.length===0)return!1;switch(R[0]){case\"has\":return R.length>=2&&R[1]!==\"$id\"&&R[1]!==\"$type\";case\"in\":return R.length>=3&&(typeof R[1]!=\"string\"||Array.isArray(R[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return R.length!==3||Array.isArray(R[1])||Array.isArray(R[2]);case\"any\":case\"all\":for(let A of R.slice(1))if(!Mh(A)&&typeof A!=\"boolean\")return!1;return!0;default:return!0}}let zu={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Fc(R){if(R==null)return{filter:()=>!0,needGeometry:!1};Mh(R)||(R=xf(R));let A=ks(R,zu);if(A.result===\"error\")throw new Error(A.value.map(F=>`${F.key}: ${F.message}`).join(\", \"));return{filter:(F,W,te)=>A.value.evaluate(F,W,{},te),needGeometry:bd(R)}}function wc(R,A){return RA?1:0}function bd(R){if(!Array.isArray(R))return!1;if(R[0]===\"within\"||R[0]===\"distance\")return!0;for(let A=1;A\"||A===\"<=\"||A===\">=\"?Pf(R[1],R[2],A):A===\"any\"?(F=R.slice(1),[\"any\"].concat(F.map(xf))):A===\"all\"?[\"all\"].concat(R.slice(1).map(xf)):A===\"none\"?[\"all\"].concat(R.slice(1).map(xf).map(jl)):A===\"in\"?qu(R[1],R.slice(2)):A===\"!in\"?jl(qu(R[1],R.slice(2))):A===\"has\"?bf(R[1]):A!==\"!has\"||jl(bf(R[1]));var F}function Pf(R,A,F){switch(R){case\"$type\":return[`filter-type-${F}`,A];case\"$id\":return[`filter-id-${F}`,A];default:return[`filter-${F}`,R,A]}}function qu(R,A){if(A.length===0)return!1;switch(R){case\"$type\":return[\"filter-type-in\",[\"literal\",A]];case\"$id\":return[\"filter-id-in\",[\"literal\",A]];default:return A.length>200&&!A.some(F=>typeof F!=typeof A[0])?[\"filter-in-large\",R,[\"literal\",A.sort(wc)]]:[\"filter-in-small\",R,[\"literal\",A]]}}function bf(R){switch(R){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",R]}}function jl(R){return[\"!\",R]}function lf(R){let A=typeof R;if(A===\"number\"||A===\"boolean\"||A===\"string\"||R==null)return JSON.stringify(R);if(Array.isArray(R)){let te=\"[\";for(let fe of R)te+=`${lf(fe)},`;return`${te}]`}let F=Object.keys(R).sort(),W=\"{\";for(let te=0;teW.maximum?[new Ue(A,F,`${F} is greater than the maximum value ${W.maximum}`)]:[]}function wf(R){let A=R.valueSpec,F=Cs(R.value.type),W,te,fe,pe={},Re=F!==\"categorical\"&&R.value.property===void 0,Ke=!Re,ft=gs(R.value.stops)===\"array\"&&gs(R.value.stops[0])===\"array\"&&gs(R.value.stops[0][0])===\"object\",Rt=ku({key:R.key,value:R.value,valueSpec:R.styleSpec.function,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{stops:function(vr){if(F===\"identity\")return[new Ue(vr.key,vr.value,'identity function may not have a \"stops\" property')];let kr=[],Dr=vr.value;return kr=kr.concat(Xf({key:vr.key,value:Dr,valueSpec:vr.valueSpec,validateSpec:vr.validateSpec,style:vr.style,styleSpec:vr.styleSpec,arrayElementValidator:tr})),gs(Dr)===\"array\"&&Dr.length===0&&kr.push(new Ue(vr.key,Dr,\"array must have at least one stop\")),kr},default:function(vr){return vr.validateSpec({key:vr.key,value:vr.value,valueSpec:A,validateSpec:vr.validateSpec,style:vr.style,styleSpec:vr.styleSpec})}}});return F===\"identity\"&&Re&&Rt.push(new Ue(R.key,R.value,'missing required property \"property\"')),F===\"identity\"||R.value.stops||Rt.push(new Ue(R.key,R.value,'missing required property \"stops\"')),F===\"exponential\"&&R.valueSpec.expression&&!Rc(R.valueSpec)&&Rt.push(new Ue(R.key,R.value,\"exponential functions not supported\")),R.styleSpec.$version>=8&&(Ke&&!Nl(R.valueSpec)?Rt.push(new Ue(R.key,R.value,\"property functions not supported\")):Re&&!Kc(R.valueSpec)&&Rt.push(new Ue(R.key,R.value,\"zoom functions not supported\"))),F!==\"categorical\"&&!ft||R.value.property!==void 0||Rt.push(new Ue(R.key,R.value,'\"property\" property is required')),Rt;function tr(vr){let kr=[],Dr=vr.value,li=vr.key;if(gs(Dr)!==\"array\")return[new Ue(li,Dr,`array expected, ${gs(Dr)} found`)];if(Dr.length!==2)return[new Ue(li,Dr,`array length 2 expected, length ${Dr.length} found`)];if(ft){if(gs(Dr[0])!==\"object\")return[new Ue(li,Dr,`object expected, ${gs(Dr[0])} found`)];if(Dr[0].zoom===void 0)return[new Ue(li,Dr,\"object stop key must have zoom\")];if(Dr[0].value===void 0)return[new Ue(li,Dr,\"object stop key must have value\")];if(fe&&fe>Cs(Dr[0].zoom))return[new Ue(li,Dr[0].zoom,\"stop zoom values must appear in ascending order\")];Cs(Dr[0].zoom)!==fe&&(fe=Cs(Dr[0].zoom),te=void 0,pe={}),kr=kr.concat(ku({key:`${li}[0]`,value:Dr[0],valueSpec:{zoom:{}},validateSpec:vr.validateSpec,style:vr.style,styleSpec:vr.styleSpec,objectElementValidators:{zoom:Us,value:ur}}))}else kr=kr.concat(ur({key:`${li}[0]`,value:Dr[0],valueSpec:{},validateSpec:vr.validateSpec,style:vr.style,styleSpec:vr.styleSpec},Dr));return Dc(du(Dr[1]))?kr.concat([new Ue(`${li}[1]`,Dr[1],\"expressions are not allowed in function stops.\")]):kr.concat(vr.validateSpec({key:`${li}[1]`,value:Dr[1],valueSpec:A,validateSpec:vr.validateSpec,style:vr.style,styleSpec:vr.styleSpec}))}function ur(vr,kr){let Dr=gs(vr.value),li=Cs(vr.value),pi=vr.value!==null?vr.value:kr;if(W){if(Dr!==W)return[new Ue(vr.key,pi,`${Dr} stop domain type must match previous stop domain type ${W}`)]}else W=Dr;if(Dr!==\"number\"&&Dr!==\"string\"&&Dr!==\"boolean\")return[new Ue(vr.key,pi,\"stop domain value must be a number, string, or boolean\")];if(Dr!==\"number\"&&F!==\"categorical\"){let vn=`number expected, ${Dr} found`;return Nl(A)&&F===void 0&&(vn+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Ue(vr.key,pi,vn)]}return F!==\"categorical\"||Dr!==\"number\"||isFinite(li)&&Math.floor(li)===li?F!==\"categorical\"&&Dr===\"number\"&&te!==void 0&&linew Ue(`${R.key}${W.key}`,R.value,W.message));let F=A.value.expression||A.value._styleExpression.expression;if(R.expressionContext===\"property\"&&R.propertyKey===\"text-font\"&&!F.outputDefined())return[new Ue(R.key,R.value,`Invalid data expression for \"${R.propertyKey}\". Output values must be contained as literals within the expression.`)];if(R.expressionContext===\"property\"&&R.propertyType===\"layout\"&&!ju(F))return[new Ue(R.key,R.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(R.expressionContext===\"filter\"&&!ju(F))return[new Ue(R.key,R.value,'\"feature-state\" data expressions are not supported with filters.')];if(R.expressionContext&&R.expressionContext.indexOf(\"cluster\")===0){if(!jf(F,[\"zoom\",\"feature-state\"]))return[new Ue(R.key,R.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(R.expressionContext===\"cluster-initial\"&&!th(F))return[new Ue(R.key,R.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Wu(R){let A=R.key,F=R.value,W=R.valueSpec,te=[];return Array.isArray(W.values)?W.values.indexOf(Cs(F))===-1&&te.push(new Ue(A,F,`expected one of [${W.values.join(\", \")}], ${JSON.stringify(F)} found`)):Object.keys(W.values).indexOf(Cs(F))===-1&&te.push(new Ue(A,F,`expected one of [${Object.keys(W.values).join(\", \")}], ${JSON.stringify(F)} found`)),te}function Rf(R){return Mh(du(R.value))?zc(Ae({},R,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Xu(R)}function Xu(R){let A=R.value,F=R.key;if(gs(A)!==\"array\")return[new Ue(F,A,`array expected, ${gs(A)} found`)];let W=R.styleSpec,te,fe=[];if(A.length<1)return[new Ue(F,A,\"filter array must have at least 1 element\")];switch(fe=fe.concat(Wu({key:`${F}[0]`,value:A[0],valueSpec:W.filter_operator,style:R.style,styleSpec:R.styleSpec})),Cs(A[0])){case\"<\":case\"<=\":case\">\":case\">=\":A.length>=2&&Cs(A[1])===\"$type\"&&fe.push(new Ue(F,A,`\"$type\" cannot be use with operator \"${A[0]}\"`));case\"==\":case\"!=\":A.length!==3&&fe.push(new Ue(F,A,`filter array for operator \"${A[0]}\" must have 3 elements`));case\"in\":case\"!in\":A.length>=2&&(te=gs(A[1]),te!==\"string\"&&fe.push(new Ue(`${F}[1]`,A[1],`string expected, ${te} found`)));for(let pe=2;pe{ft in F&&A.push(new Ue(W,F[ft],`\"${ft}\" is prohibited for ref layers`))}),te.layers.forEach(ft=>{Cs(ft.id)===Re&&(Ke=ft)}),Ke?Ke.ref?A.push(new Ue(W,F.ref,\"ref cannot reference another ref layer\")):pe=Cs(Ke.type):A.push(new Ue(W,F.ref,`ref layer \"${Re}\" not found`))}else if(pe!==\"background\")if(F.source){let Ke=te.sources&&te.sources[F.source],ft=Ke&&Cs(Ke.type);Ke?ft===\"vector\"&&pe===\"raster\"?A.push(new Ue(W,F.source,`layer \"${F.id}\" requires a raster source`)):ft!==\"raster-dem\"&&pe===\"hillshade\"?A.push(new Ue(W,F.source,`layer \"${F.id}\" requires a raster-dem source`)):ft===\"raster\"&&pe!==\"raster\"?A.push(new Ue(W,F.source,`layer \"${F.id}\" requires a vector source`)):ft!==\"vector\"||F[\"source-layer\"]?ft===\"raster-dem\"&&pe!==\"hillshade\"?A.push(new Ue(W,F.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):pe!==\"line\"||!F.paint||!F.paint[\"line-gradient\"]||ft===\"geojson\"&&Ke.lineMetrics||A.push(new Ue(W,F,`layer \"${F.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):A.push(new Ue(W,F,`layer \"${F.id}\" must specify a \"source-layer\"`)):A.push(new Ue(W,F.source,`source \"${F.source}\" not found`))}else A.push(new Ue(W,F,'missing required property \"source\"'));return A=A.concat(ku({key:W,value:F,valueSpec:fe.layer,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>R.validateSpec({key:`${W}.type`,value:F.type,valueSpec:fe.layer.type,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,object:F,objectKey:\"type\"}),filter:Rf,layout:Ke=>ku({layer:F,key:Ke.key,value:Ke.value,style:Ke.style,styleSpec:Ke.styleSpec,validateSpec:Ke.validateSpec,objectElementValidators:{\"*\":ft=>Wl(Ae({layerType:pe},ft))}}),paint:Ke=>ku({layer:F,key:Ke.key,value:Ke.value,style:Ke.style,styleSpec:Ke.styleSpec,validateSpec:Ke.validateSpec,objectElementValidators:{\"*\":ft=>Zf(Ae({layerType:pe},ft))}})}})),A}function Zu(R){let A=R.value,F=R.key,W=gs(A);return W!==\"string\"?[new Ue(F,A,`string expected, ${W} found`)]:[]}let qc={promoteId:function({key:R,value:A}){if(gs(A)===\"string\")return Zu({key:R,value:A});{let F=[];for(let W in A)F.push(...Zu({key:`${R}.${W}`,value:A[W]}));return F}}};function Tc(R){let A=R.value,F=R.key,W=R.styleSpec,te=R.style,fe=R.validateSpec;if(!A.type)return[new Ue(F,A,'\"type\" is required')];let pe=Cs(A.type),Re;switch(pe){case\"vector\":case\"raster\":return Re=ku({key:F,value:A,valueSpec:W[`source_${pe.replace(\"-\",\"_\")}`],style:R.style,styleSpec:W,objectElementValidators:qc,validateSpec:fe}),Re;case\"raster-dem\":return Re=function(Ke){var ft;let Rt=(ft=Ke.sourceName)!==null&&ft!==void 0?ft:\"\",tr=Ke.value,ur=Ke.styleSpec,vr=ur.source_raster_dem,kr=Ke.style,Dr=[],li=gs(tr);if(tr===void 0)return Dr;if(li!==\"object\")return Dr.push(new Ue(\"source_raster_dem\",tr,`object expected, ${li} found`)),Dr;let pi=Cs(tr.encoding)===\"custom\",vn=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],zi=Ke.value.encoding?`\"${Ke.value.encoding}\"`:\"Default\";for(let ln in tr)!pi&&vn.includes(ln)?Dr.push(new Ue(ln,tr[ln],`In \"${Rt}\": \"${ln}\" is only valid when \"encoding\" is set to \"custom\". ${zi} encoding found`)):vr[ln]?Dr=Dr.concat(Ke.validateSpec({key:ln,value:tr[ln],valueSpec:vr[ln],validateSpec:Ke.validateSpec,style:kr,styleSpec:ur})):Dr.push(new Ue(ln,tr[ln],`unknown property \"${ln}\"`));return Dr}({sourceName:F,value:A,style:R.style,styleSpec:W,validateSpec:fe}),Re;case\"geojson\":if(Re=ku({key:F,value:A,valueSpec:W.source_geojson,style:te,styleSpec:W,validateSpec:fe,objectElementValidators:qc}),A.cluster)for(let Ke in A.clusterProperties){let[ft,Rt]=A.clusterProperties[Ke],tr=typeof ft==\"string\"?[ft,[\"accumulated\"],[\"get\",Ke]]:ft;Re.push(...zc({key:`${F}.${Ke}.map`,value:Rt,validateSpec:fe,expressionContext:\"cluster-map\"})),Re.push(...zc({key:`${F}.${Ke}.reduce`,value:tr,validateSpec:fe,expressionContext:\"cluster-reduce\"}))}return Re;case\"video\":return ku({key:F,value:A,valueSpec:W.source_video,style:te,validateSpec:fe,styleSpec:W});case\"image\":return ku({key:F,value:A,valueSpec:W.source_image,style:te,validateSpec:fe,styleSpec:W});case\"canvas\":return[new Ue(F,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Wu({key:`${F}.type`,value:A.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:te,validateSpec:fe,styleSpec:W})}}function wl(R){let A=R.value,F=R.styleSpec,W=F.light,te=R.style,fe=[],pe=gs(A);if(A===void 0)return fe;if(pe!==\"object\")return fe=fe.concat([new Ue(\"light\",A,`object expected, ${pe} found`)]),fe;for(let Re in A){let Ke=Re.match(/^(.*)-transition$/);fe=fe.concat(Ke&&W[Ke[1]]&&W[Ke[1]].transition?R.validateSpec({key:Re,value:A[Re],valueSpec:F.transition,validateSpec:R.validateSpec,style:te,styleSpec:F}):W[Re]?R.validateSpec({key:Re,value:A[Re],valueSpec:W[Re],validateSpec:R.validateSpec,style:te,styleSpec:F}):[new Ue(Re,A[Re],`unknown property \"${Re}\"`)])}return fe}function vu(R){let A=R.value,F=R.styleSpec,W=F.sky,te=R.style,fe=gs(A);if(A===void 0)return[];if(fe!==\"object\")return[new Ue(\"sky\",A,`object expected, ${fe} found`)];let pe=[];for(let Re in A)pe=pe.concat(W[Re]?R.validateSpec({key:Re,value:A[Re],valueSpec:W[Re],style:te,styleSpec:F}):[new Ue(Re,A[Re],`unknown property \"${Re}\"`)]);return pe}function Oc(R){let A=R.value,F=R.styleSpec,W=F.terrain,te=R.style,fe=[],pe=gs(A);if(A===void 0)return fe;if(pe!==\"object\")return fe=fe.concat([new Ue(\"terrain\",A,`object expected, ${pe} found`)]),fe;for(let Re in A)fe=fe.concat(W[Re]?R.validateSpec({key:Re,value:A[Re],valueSpec:W[Re],validateSpec:R.validateSpec,style:te,styleSpec:F}):[new Ue(Re,A[Re],`unknown property \"${Re}\"`)]);return fe}function cf(R){let A=[],F=R.value,W=R.key;if(Array.isArray(F)){let te=[],fe=[];for(let pe in F)F[pe].id&&te.includes(F[pe].id)&&A.push(new Ue(W,F,`all the sprites' ids must be unique, but ${F[pe].id} is duplicated`)),te.push(F[pe].id),F[pe].url&&fe.includes(F[pe].url)&&A.push(new Ue(W,F,`all the sprites' URLs must be unique, but ${F[pe].url} is duplicated`)),fe.push(F[pe].url),A=A.concat(ku({key:`${W}[${pe}]`,value:F[pe],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:R.validateSpec}));return A}return Zu({key:W,value:F})}let fc={\"*\":()=>[],array:Xf,boolean:function(R){let A=R.value,F=R.key,W=gs(A);return W!==\"boolean\"?[new Ue(F,A,`boolean expected, ${W} found`)]:[]},number:Us,color:function(R){let A=R.key,F=R.value,W=gs(F);return W!==\"string\"?[new Ue(A,F,`color expected, ${W} found`)]:ir.parse(String(F))?[]:[new Ue(A,F,`color expected, \"${F}\" found`)]},constants:If,enum:Wu,filter:Rf,function:wf,layer:ah,object:ku,source:Tc,light:wl,sky:vu,terrain:Oc,projection:function(R){let A=R.value,F=R.styleSpec,W=F.projection,te=R.style,fe=gs(A);if(A===void 0)return[];if(fe!==\"object\")return[new Ue(\"projection\",A,`object expected, ${fe} found`)];let pe=[];for(let Re in A)pe=pe.concat(W[Re]?R.validateSpec({key:Re,value:A[Re],valueSpec:W[Re],style:te,styleSpec:F}):[new Ue(Re,A[Re],`unknown property \"${Re}\"`)]);return pe},string:Zu,formatted:function(R){return Zu(R).length===0?[]:zc(R)},resolvedImage:function(R){return Zu(R).length===0?[]:zc(R)},padding:function(R){let A=R.key,F=R.value;if(gs(F)===\"array\"){if(F.length<1||F.length>4)return[new Ue(A,F,`padding requires 1 to 4 values; ${F.length} values found`)];let W={type:\"number\"},te=[];for(let fe=0;fe[]}})),R.constants&&(F=F.concat(If({key:\"constants\",value:R.constants,style:R,styleSpec:A,validateSpec:Bc}))),xr(F)}function Mr(R){return function(A){return R(j1(_g({},A),{validateSpec:Bc}))}}function xr(R){return[].concat(R).sort((A,F)=>A.line-F.line)}function Kr(R){return function(...A){return xr(R.apply(this,A))}}Zt.source=Kr(Mr(Tc)),Zt.sprite=Kr(Mr(cf)),Zt.glyphs=Kr(Mr(kt)),Zt.light=Kr(Mr(wl)),Zt.sky=Kr(Mr(vu)),Zt.terrain=Kr(Mr(Oc)),Zt.layer=Kr(Mr(ah)),Zt.filter=Kr(Mr(Rf)),Zt.paintProperty=Kr(Mr(Zf)),Zt.layoutProperty=Kr(Mr(Wl));let Mi=Zt,Wi=Mi.light,dn=Mi.sky,wn=Mi.paintProperty,On=Mi.layoutProperty;function Yi(R,A){let F=!1;if(A&&A.length)for(let W of A)R.fire(new me(new Error(W.message))),F=!0;return F}class $i{constructor(A,F,W){let te=this.cells=[];if(A instanceof ArrayBuffer){this.arrayBuffer=A;let pe=new Int32Array(this.arrayBuffer);A=pe[0],this.d=(F=pe[1])+2*(W=pe[2]);for(let Ke=0;Ke=tr[kr+0]&&te>=tr[kr+1])?(Re[vr]=!0,pe.push(Rt[vr])):Re[vr]=!1}}}}_forEachCell(A,F,W,te,fe,pe,Re,Ke){let ft=this._convertToCellCoord(A),Rt=this._convertToCellCoord(F),tr=this._convertToCellCoord(W),ur=this._convertToCellCoord(te);for(let vr=ft;vr<=tr;vr++)for(let kr=Rt;kr<=ur;kr++){let Dr=this.d*kr+vr;if((!Ke||Ke(this._convertFromCellCoord(vr),this._convertFromCellCoord(kr),this._convertFromCellCoord(vr+1),this._convertFromCellCoord(kr+1)))&&fe.call(this,A,F,W,te,Dr,pe,Re,Ke))return}}_convertFromCellCoord(A){return(A-this.padding)/this.scale}_convertToCellCoord(A){return Math.max(0,Math.min(this.d-1,Math.floor(A*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let A=this.cells,F=3+this.cells.length+1+1,W=0;for(let pe=0;pe=0)continue;let pe=R[fe];te[fe]=an[F].shallow.indexOf(fe)>=0?pe:La(pe,A)}R instanceof Error&&(te.message=R.message)}if(te.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return F!==\"Object\"&&(te.$name=F),te}function Na(R){if(Ra(R))return R;if(Array.isArray(R))return R.map(Na);if(typeof R!=\"object\")throw new Error(\"can't deserialize object of type \"+typeof R);let A=Ca(R)||\"Object\";if(!an[A])throw new Error(`can't deserialize unregistered class ${A}`);let{klass:F}=an[A];if(!F)throw new Error(`can't deserialize unregistered class ${A}`);if(F.deserialize)return F.deserialize(R);let W=Object.create(F.prototype);for(let te of Object.keys(R)){if(te===\"$name\")continue;let fe=R[te];W[te]=an[A].shallow.indexOf(te)>=0?fe:Na(fe)}return W}class Zn{constructor(){this.first=!0}update(A,F){let W=Math.floor(A);return this.first?(this.first=!1,this.lastIntegerZoom=W,this.lastIntegerZoomTime=0,this.lastZoom=A,this.lastFloorZoom=W,!0):(this.lastFloorZoom>W?(this.lastIntegerZoom=W+1,this.lastIntegerZoomTime=F):this.lastFloorZoomR>=128&&R<=255,\"Hangul Jamo\":R=>R>=4352&&R<=4607,Khmer:R=>R>=6016&&R<=6143,\"General Punctuation\":R=>R>=8192&&R<=8303,\"Letterlike Symbols\":R=>R>=8448&&R<=8527,\"Number Forms\":R=>R>=8528&&R<=8591,\"Miscellaneous Technical\":R=>R>=8960&&R<=9215,\"Control Pictures\":R=>R>=9216&&R<=9279,\"Optical Character Recognition\":R=>R>=9280&&R<=9311,\"Enclosed Alphanumerics\":R=>R>=9312&&R<=9471,\"Geometric Shapes\":R=>R>=9632&&R<=9727,\"Miscellaneous Symbols\":R=>R>=9728&&R<=9983,\"Miscellaneous Symbols and Arrows\":R=>R>=11008&&R<=11263,\"Ideographic Description Characters\":R=>R>=12272&&R<=12287,\"CJK Symbols and Punctuation\":R=>R>=12288&&R<=12351,Katakana:R=>R>=12448&&R<=12543,Kanbun:R=>R>=12688&&R<=12703,\"CJK Strokes\":R=>R>=12736&&R<=12783,\"Enclosed CJK Letters and Months\":R=>R>=12800&&R<=13055,\"CJK Compatibility\":R=>R>=13056&&R<=13311,\"Yijing Hexagram Symbols\":R=>R>=19904&&R<=19967,\"Private Use Area\":R=>R>=57344&&R<=63743,\"Vertical Forms\":R=>R>=65040&&R<=65055,\"CJK Compatibility Forms\":R=>R>=65072&&R<=65103,\"Small Form Variants\":R=>R>=65104&&R<=65135,\"Halfwidth and Fullwidth Forms\":R=>R>=65280&&R<=65519};function Ka(R){for(let A of R)if(Ho(A.charCodeAt(0)))return!0;return!1}function bo(R){for(let A of R)if(!as(A.charCodeAt(0)))return!1;return!0}function Zo(R){let A=R.map(F=>{try{return new RegExp(`\\\\p{sc=${F}}`,\"u\").source}catch(W){return null}}).filter(F=>F);return new RegExp(A.join(\"|\"),\"u\")}let Ss=Zo([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function as(R){return!Ss.test(String.fromCodePoint(R))}let ws=Zo([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function Ho(R){return!(R!==746&&R!==747&&(R<4352||!(Dn[\"CJK Compatibility Forms\"](R)&&!(R>=65097&&R<=65103)||Dn[\"CJK Compatibility\"](R)||Dn[\"CJK Strokes\"](R)||!(!Dn[\"CJK Symbols and Punctuation\"](R)||R>=12296&&R<=12305||R>=12308&&R<=12319||R===12336)||Dn[\"Enclosed CJK Letters and Months\"](R)||Dn[\"Ideographic Description Characters\"](R)||Dn.Kanbun(R)||Dn.Katakana(R)&&R!==12540||!(!Dn[\"Halfwidth and Fullwidth Forms\"](R)||R===65288||R===65289||R===65293||R>=65306&&R<=65310||R===65339||R===65341||R===65343||R>=65371&&R<=65503||R===65507||R>=65512&&R<=65519)||!(!Dn[\"Small Form Variants\"](R)||R>=65112&&R<=65118||R>=65123&&R<=65126)||Dn[\"Vertical Forms\"](R)||Dn[\"Yijing Hexagram Symbols\"](R)||new RegExp(\"\\\\p{sc=Cans}\",\"u\").test(String.fromCodePoint(R))||new RegExp(\"\\\\p{sc=Hang}\",\"u\").test(String.fromCodePoint(R))||ws.test(String.fromCodePoint(R)))))}function ml(R){return!(Ho(R)||function(A){return!!(Dn[\"Latin-1 Supplement\"](A)&&(A===167||A===169||A===174||A===177||A===188||A===189||A===190||A===215||A===247)||Dn[\"General Punctuation\"](A)&&(A===8214||A===8224||A===8225||A===8240||A===8241||A===8251||A===8252||A===8258||A===8263||A===8264||A===8265||A===8273)||Dn[\"Letterlike Symbols\"](A)||Dn[\"Number Forms\"](A)||Dn[\"Miscellaneous Technical\"](A)&&(A>=8960&&A<=8967||A>=8972&&A<=8991||A>=8996&&A<=9e3||A===9003||A>=9085&&A<=9114||A>=9150&&A<=9165||A===9167||A>=9169&&A<=9179||A>=9186&&A<=9215)||Dn[\"Control Pictures\"](A)&&A!==9251||Dn[\"Optical Character Recognition\"](A)||Dn[\"Enclosed Alphanumerics\"](A)||Dn[\"Geometric Shapes\"](A)||Dn[\"Miscellaneous Symbols\"](A)&&!(A>=9754&&A<=9759)||Dn[\"Miscellaneous Symbols and Arrows\"](A)&&(A>=11026&&A<=11055||A>=11088&&A<=11097||A>=11192&&A<=11243)||Dn[\"CJK Symbols and Punctuation\"](A)||Dn.Katakana(A)||Dn[\"Private Use Area\"](A)||Dn[\"CJK Compatibility Forms\"](A)||Dn[\"Small Form Variants\"](A)||Dn[\"Halfwidth and Fullwidth Forms\"](A)||A===8734||A===8756||A===8757||A>=9984&&A<=10087||A>=10102&&A<=10131||A===65532||A===65533)}(R))}let Ws=Zo([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function Ls(R){return Ws.test(String.fromCodePoint(R))}function va(R,A){return!(!A&&Ls(R)||R>=2304&&R<=3583||R>=3840&&R<=4255||Dn.Khmer(R))}function no(R){for(let A of R)if(Ls(A.charCodeAt(0)))return!0;return!1}let ys=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null}setState(R){this.pluginStatus=R.pluginStatus,this.pluginURL=R.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(R){this.applyArabicShaping=R.applyArabicShaping,this.processBidirectionalText=R.processBidirectionalText,this.processStyledBidirectionalText=R.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class rs{constructor(A,F){this.zoom=A,F?(this.now=F.now,this.fadeDuration=F.fadeDuration,this.zoomHistory=F.zoomHistory,this.transition=F.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Zn,this.transition={})}isSupportedScript(A){return function(F,W){for(let te of F)if(!va(te.charCodeAt(0),W))return!1;return!0}(A,ys.getRTLTextPluginStatus()===\"loaded\")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let A=this.zoom,F=A-Math.floor(A),W=this.crossFadingFactor();return A>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:F+(1-F)*W}:{fromScale:.5,toScale:1,t:1-(1-W)*F}}}class Ql{constructor(A,F){this.property=A,this.value=F,this.expression=function(W,te){if(Wf(W))return new nl(W,te);if(Dc(W)){let fe=_u(W,te);if(fe.result===\"error\")throw new Error(fe.value.map(pe=>`${pe.key}: ${pe.message}`).join(\", \"));return fe.value}{let fe=W;return te.type===\"color\"&&typeof W==\"string\"?fe=ir.parse(W):te.type!==\"padding\"||typeof W!=\"number\"&&!Array.isArray(W)?te.type===\"variableAnchorOffsetCollection\"&&Array.isArray(W)&&(fe=Zi.parse(W)):fe=$r.parse(W),{kind:\"constant\",evaluate:()=>fe}}}(F===void 0?A.specification.default:F,A.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(A,F,W){return this.property.possiblyEvaluate(this,A,F,W)}}class Cu{constructor(A){this.property=A,this.value=new Ql(A,void 0)}transitioned(A,F){return new Nc(this.property,this.value,F,L({},A.transition,this.transition),A.now)}untransitioned(){return new Nc(this.property,this.value,null,{},0)}}class Yu{constructor(A){this._properties=A,this._values=Object.create(A.defaultTransitionablePropertyValues)}getValue(A){return g(this._values[A].value.value)}setValue(A,F){Object.prototype.hasOwnProperty.call(this._values,A)||(this._values[A]=new Cu(this._values[A].property)),this._values[A].value=new Ql(this._values[A].property,F===null?void 0:g(F))}getTransition(A){return g(this._values[A].transition)}setTransition(A,F){Object.prototype.hasOwnProperty.call(this._values,A)||(this._values[A]=new Cu(this._values[A].property)),this._values[A].transition=g(F)||void 0}serialize(){let A={};for(let F of Object.keys(this._values)){let W=this.getValue(F);W!==void 0&&(A[F]=W);let te=this.getTransition(F);te!==void 0&&(A[`${F}-transition`]=te)}return A}transitioned(A,F){let W=new pu(this._properties);for(let te of Object.keys(this._values))W._values[te]=this._values[te].transitioned(A,F._values[te]);return W}untransitioned(){let A=new pu(this._properties);for(let F of Object.keys(this._values))A._values[F]=this._values[F].untransitioned();return A}}class Nc{constructor(A,F,W,te,fe){this.property=A,this.value=F,this.begin=fe+te.delay||0,this.end=this.begin+te.duration||0,A.specification.transition&&(te.delay||te.duration)&&(this.prior=W)}possiblyEvaluate(A,F,W){let te=A.now||0,fe=this.value.possiblyEvaluate(A,F,W),pe=this.prior;if(pe){if(te>this.end)return this.prior=null,fe;if(this.value.isDataDriven())return this.prior=null,fe;if(te=1)return 1;let ft=Ke*Ke,Rt=ft*Ke;return 4*(Ke<.5?Rt:3*(Ke-ft)+Rt-.75)}(Re))}}return fe}}class pu{constructor(A){this._properties=A,this._values=Object.create(A.defaultTransitioningPropertyValues)}possiblyEvaluate(A,F,W){let te=new Ac(this._properties);for(let fe of Object.keys(this._values))te._values[fe]=this._values[fe].possiblyEvaluate(A,F,W);return te}hasTransition(){for(let A of Object.keys(this._values))if(this._values[A].prior)return!0;return!1}}class Uc{constructor(A){this._properties=A,this._values=Object.create(A.defaultPropertyValues)}hasValue(A){return this._values[A].value!==void 0}getValue(A){return g(this._values[A].value)}setValue(A,F){this._values[A]=new Ql(this._values[A].property,F===null?void 0:g(F))}serialize(){let A={};for(let F of Object.keys(this._values)){let W=this.getValue(F);W!==void 0&&(A[F]=W)}return A}possiblyEvaluate(A,F,W){let te=new Ac(this._properties);for(let fe of Object.keys(this._values))te._values[fe]=this._values[fe].possiblyEvaluate(A,F,W);return te}}class xu{constructor(A,F,W){this.property=A,this.value=F,this.parameters=W}isConstant(){return this.value.kind===\"constant\"}constantOr(A){return this.value.kind===\"constant\"?this.value.value:A}evaluate(A,F,W,te){return this.property.evaluate(this.value,this.parameters,A,F,W,te)}}class Ac{constructor(A){this._properties=A,this._values=Object.create(A.defaultPossiblyEvaluatedValues)}get(A){return this._values[A]}}class Ua{constructor(A){this.specification=A}possiblyEvaluate(A,F){if(A.isDataDriven())throw new Error(\"Value should not be data driven\");return A.expression.evaluate(F)}interpolate(A,F,W){let te=Lo[this.specification.type];return te?te(A,F,W):A}}class oo{constructor(A,F){this.specification=A,this.overrides=F}possiblyEvaluate(A,F,W,te){return new xu(this,A.expression.kind===\"constant\"||A.expression.kind===\"camera\"?{kind:\"constant\",value:A.expression.evaluate(F,null,{},W,te)}:A.expression,F)}interpolate(A,F,W){if(A.value.kind!==\"constant\"||F.value.kind!==\"constant\")return A;if(A.value.value===void 0||F.value.value===void 0)return new xu(this,{kind:\"constant\",value:void 0},A.parameters);let te=Lo[this.specification.type];if(te){let fe=te(A.value.value,F.value.value,W);return new xu(this,{kind:\"constant\",value:fe},A.parameters)}return A}evaluate(A,F,W,te,fe,pe){return A.kind===\"constant\"?A.value:A.evaluate(F,W,te,fe,pe)}}class Vc extends oo{possiblyEvaluate(A,F,W,te){if(A.value===void 0)return new xu(this,{kind:\"constant\",value:void 0},F);if(A.expression.kind===\"constant\"){let fe=A.expression.evaluate(F,null,{},W,te),pe=A.property.specification.type===\"resolvedImage\"&&typeof fe!=\"string\"?fe.name:fe,Re=this._calculate(pe,pe,pe,F);return new xu(this,{kind:\"constant\",value:Re},F)}if(A.expression.kind===\"camera\"){let fe=this._calculate(A.expression.evaluate({zoom:F.zoom-1}),A.expression.evaluate({zoom:F.zoom}),A.expression.evaluate({zoom:F.zoom+1}),F);return new xu(this,{kind:\"constant\",value:fe},F)}return new xu(this,A.expression,F)}evaluate(A,F,W,te,fe,pe){if(A.kind===\"source\"){let Re=A.evaluate(F,W,te,fe,pe);return this._calculate(Re,Re,Re,F)}return A.kind===\"composite\"?this._calculate(A.evaluate({zoom:Math.floor(F.zoom)-1},W,te),A.evaluate({zoom:Math.floor(F.zoom)},W,te),A.evaluate({zoom:Math.floor(F.zoom)+1},W,te),F):A.value}_calculate(A,F,W,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:A,to:F}:{from:W,to:F}}interpolate(A){return A}}class hc{constructor(A){this.specification=A}possiblyEvaluate(A,F,W,te){if(A.value!==void 0){if(A.expression.kind===\"constant\"){let fe=A.expression.evaluate(F,null,{},W,te);return this._calculate(fe,fe,fe,F)}return this._calculate(A.expression.evaluate(new rs(Math.floor(F.zoom-1),F)),A.expression.evaluate(new rs(Math.floor(F.zoom),F)),A.expression.evaluate(new rs(Math.floor(F.zoom+1),F)),F)}}_calculate(A,F,W,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:A,to:F}:{from:W,to:F}}interpolate(A){return A}}class Ku{constructor(A){this.specification=A}possiblyEvaluate(A,F,W,te){return!!A.expression.evaluate(F,null,{},W,te)}interpolate(){return!1}}class ue{constructor(A){this.properties=A,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let F in A){let W=A[F];W.specification.overridable&&this.overridableProperties.push(F);let te=this.defaultPropertyValues[F]=new Ql(W,void 0),fe=this.defaultTransitionablePropertyValues[F]=new Cu(W);this.defaultTransitioningPropertyValues[F]=fe.untransitioned(),this.defaultPossiblyEvaluatedValues[F]=te.possiblyEvaluate({})}}}Fi(\"DataDrivenProperty\",oo),Fi(\"DataConstantProperty\",Ua),Fi(\"CrossFadedDataDrivenProperty\",Vc),Fi(\"CrossFadedProperty\",hc),Fi(\"ColorRampProperty\",Ku);let w=\"-transition\";class B extends Pe{constructor(A,F){if(super(),this.id=A.id,this.type=A.type,this._featureFilter={filter:()=>!0,needGeometry:!1},A.type!==\"custom\"&&(this.metadata=A.metadata,this.minzoom=A.minzoom,this.maxzoom=A.maxzoom,A.type!==\"background\"&&(this.source=A.source,this.sourceLayer=A[\"source-layer\"],this.filter=A.filter),F.layout&&(this._unevaluatedLayout=new Uc(F.layout)),F.paint)){this._transitionablePaint=new Yu(F.paint);for(let W in A.paint)this.setPaintProperty(W,A.paint[W],{validate:!1});for(let W in A.layout)this.setLayoutProperty(W,A.layout[W],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ac(F.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(A){return A===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(A)}setLayoutProperty(A,F,W={}){F!=null&&this._validate(On,`layers.${this.id}.layout.${A}`,A,F,W)||(A!==\"visibility\"?this._unevaluatedLayout.setValue(A,F):this.visibility=F)}getPaintProperty(A){return A.endsWith(w)?this._transitionablePaint.getTransition(A.slice(0,-11)):this._transitionablePaint.getValue(A)}setPaintProperty(A,F,W={}){if(F!=null&&this._validate(wn,`layers.${this.id}.paint.${A}`,A,F,W))return!1;if(A.endsWith(w))return this._transitionablePaint.setTransition(A.slice(0,-11),F||void 0),!1;{let te=this._transitionablePaint._values[A],fe=te.property.specification[\"property-type\"]===\"cross-faded-data-driven\",pe=te.value.isDataDriven(),Re=te.value;this._transitionablePaint.setValue(A,F),this._handleSpecialPaintPropertyUpdate(A);let Ke=this._transitionablePaint._values[A].value;return Ke.isDataDriven()||pe||fe||this._handleOverridablePaintPropertyUpdate(A,Re,Ke)}}_handleSpecialPaintPropertyUpdate(A){}_handleOverridablePaintPropertyUpdate(A,F,W){return!1}isHidden(A){return!!(this.minzoom&&A=this.maxzoom)||this.visibility===\"none\"}updateTransitions(A){this._transitioningPaint=this._transitionablePaint.transitioned(A,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(A,F){A.getCrossfadeParameters&&(this._crossfadeParameters=A.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(A,void 0,F)),this.paint=this._transitioningPaint.possiblyEvaluate(A,void 0,F)}serialize(){let A={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&&(A.layout=A.layout||{},A.layout.visibility=this.visibility),S(A,(F,W)=>!(F===void 0||W===\"layout\"&&!Object.keys(F).length||W===\"paint\"&&!Object.keys(F).length))}_validate(A,F,W,te,fe={}){return(!fe||fe.validate!==!1)&&Yi(this,A.call(Mi,{key:F,layerType:this.type,objectKey:W,value:te,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let A in this.paint._values){let F=this.paint.get(A);if(F instanceof xu&&Nl(F.property.specification)&&(F.value.kind===\"source\"||F.value.kind===\"composite\")&&F.value.isStateDependent)return!0}return!1}}let Q={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ee{constructor(A,F){this._structArray=A,this._pos1=F*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class le{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(A,F){return A._trim(),F&&(A.isTransferred=!0,F.push(A.arrayBuffer)),{length:A.length,arrayBuffer:A.arrayBuffer}}static deserialize(A){let F=Object.create(this.prototype);return F.arrayBuffer=A.arrayBuffer,F.length=A.length,F.capacity=A.arrayBuffer.byteLength/F.bytesPerElement,F._refreshViews(),F}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(A){this.reserve(A),this.length=A}reserve(A){if(A>this.capacity){this.capacity=Math.max(A,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let F=this.uint8;this._refreshViews(),F&&this.uint8.set(F)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function ze(R,A=1){let F=0,W=0;return{members:R.map(te=>{let fe=Q[te.type].BYTES_PER_ELEMENT,pe=F=Ze(F,Math.max(A,fe)),Re=te.components||1;return W=Math.max(W,fe),F+=fe*Re,{name:te.name,type:te.type,components:Re,offset:pe}}),size:Ze(F,Math.max(W,A)),alignment:A}}function Ze(R,A){return Math.ceil(R/A)*A}class ut extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F){let W=this.length;return this.resize(W+1),this.emplace(W,A,F)}emplace(A,F,W){let te=2*A;return this.int16[te+0]=F,this.int16[te+1]=W,A}}ut.prototype.bytesPerElement=4,Fi(\"StructArrayLayout2i4\",ut);class Mt extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W){let te=this.length;return this.resize(te+1),this.emplace(te,A,F,W)}emplace(A,F,W,te){let fe=3*A;return this.int16[fe+0]=F,this.int16[fe+1]=W,this.int16[fe+2]=te,A}}Mt.prototype.bytesPerElement=6,Fi(\"StructArrayLayout3i6\",Mt);class Jt extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te){let fe=this.length;return this.resize(fe+1),this.emplace(fe,A,F,W,te)}emplace(A,F,W,te,fe){let pe=4*A;return this.int16[pe+0]=F,this.int16[pe+1]=W,this.int16[pe+2]=te,this.int16[pe+3]=fe,A}}Jt.prototype.bytesPerElement=8,Fi(\"StructArrayLayout4i8\",Jt);class $t extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,F,W,te,fe,pe)}emplace(A,F,W,te,fe,pe,Re){let Ke=6*A;return this.int16[Ke+0]=F,this.int16[Ke+1]=W,this.int16[Ke+2]=te,this.int16[Ke+3]=fe,this.int16[Ke+4]=pe,this.int16[Ke+5]=Re,A}}$t.prototype.bytesPerElement=12,Fi(\"StructArrayLayout2i4i12\",$t);class mr extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,F,W,te,fe,pe)}emplace(A,F,W,te,fe,pe,Re){let Ke=4*A,ft=8*A;return this.int16[Ke+0]=F,this.int16[Ke+1]=W,this.uint8[ft+4]=te,this.uint8[ft+5]=fe,this.uint8[ft+6]=pe,this.uint8[ft+7]=Re,A}}mr.prototype.bytesPerElement=8,Fi(\"StructArrayLayout2i4ub8\",mr);class Cr extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,F){let W=this.length;return this.resize(W+1),this.emplace(W,A,F)}emplace(A,F,W){let te=2*A;return this.float32[te+0]=F,this.float32[te+1]=W,A}}Cr.prototype.bytesPerElement=8,Fi(\"StructArrayLayout2f8\",Cr);class ve extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe,Re,Ke,ft,Rt){let tr=this.length;return this.resize(tr+1),this.emplace(tr,A,F,W,te,fe,pe,Re,Ke,ft,Rt)}emplace(A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr){let ur=10*A;return this.uint16[ur+0]=F,this.uint16[ur+1]=W,this.uint16[ur+2]=te,this.uint16[ur+3]=fe,this.uint16[ur+4]=pe,this.uint16[ur+5]=Re,this.uint16[ur+6]=Ke,this.uint16[ur+7]=ft,this.uint16[ur+8]=Rt,this.uint16[ur+9]=tr,A}}ve.prototype.bytesPerElement=20,Fi(\"StructArrayLayout10ui20\",ve);class xe extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur){let vr=this.length;return this.resize(vr+1),this.emplace(vr,A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur)}emplace(A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur,vr){let kr=12*A;return this.int16[kr+0]=F,this.int16[kr+1]=W,this.int16[kr+2]=te,this.int16[kr+3]=fe,this.uint16[kr+4]=pe,this.uint16[kr+5]=Re,this.uint16[kr+6]=Ke,this.uint16[kr+7]=ft,this.int16[kr+8]=Rt,this.int16[kr+9]=tr,this.int16[kr+10]=ur,this.int16[kr+11]=vr,A}}xe.prototype.bytesPerElement=24,Fi(\"StructArrayLayout4i4ui4i24\",xe);class Ie extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,F,W){let te=this.length;return this.resize(te+1),this.emplace(te,A,F,W)}emplace(A,F,W,te){let fe=3*A;return this.float32[fe+0]=F,this.float32[fe+1]=W,this.float32[fe+2]=te,A}}Ie.prototype.bytesPerElement=12,Fi(\"StructArrayLayout3f12\",Ie);class qe extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(A){let F=this.length;return this.resize(F+1),this.emplace(F,A)}emplace(A,F){return this.uint32[1*A+0]=F,A}}qe.prototype.bytesPerElement=4,Fi(\"StructArrayLayout1ul4\",qe);class Qe extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe,Re,Ke,ft){let Rt=this.length;return this.resize(Rt+1),this.emplace(Rt,A,F,W,te,fe,pe,Re,Ke,ft)}emplace(A,F,W,te,fe,pe,Re,Ke,ft,Rt){let tr=10*A,ur=5*A;return this.int16[tr+0]=F,this.int16[tr+1]=W,this.int16[tr+2]=te,this.int16[tr+3]=fe,this.int16[tr+4]=pe,this.int16[tr+5]=Re,this.uint32[ur+3]=Ke,this.uint16[tr+8]=ft,this.uint16[tr+9]=Rt,A}}Qe.prototype.bytesPerElement=20,Fi(\"StructArrayLayout6i1ul2ui20\",Qe);class Xe extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,F,W,te,fe,pe)}emplace(A,F,W,te,fe,pe,Re){let Ke=6*A;return this.int16[Ke+0]=F,this.int16[Ke+1]=W,this.int16[Ke+2]=te,this.int16[Ke+3]=fe,this.int16[Ke+4]=pe,this.int16[Ke+5]=Re,A}}Xe.prototype.bytesPerElement=12,Fi(\"StructArrayLayout2i2i2i12\",Xe);class nt extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe){let pe=this.length;return this.resize(pe+1),this.emplace(pe,A,F,W,te,fe)}emplace(A,F,W,te,fe,pe){let Re=4*A,Ke=8*A;return this.float32[Re+0]=F,this.float32[Re+1]=W,this.float32[Re+2]=te,this.int16[Ke+6]=fe,this.int16[Ke+7]=pe,A}}nt.prototype.bytesPerElement=16,Fi(\"StructArrayLayout2f1f2i16\",nt);class qt extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,F,W,te,fe,pe)}emplace(A,F,W,te,fe,pe,Re){let Ke=16*A,ft=4*A,Rt=8*A;return this.uint8[Ke+0]=F,this.uint8[Ke+1]=W,this.float32[ft+1]=te,this.float32[ft+2]=fe,this.int16[Rt+6]=pe,this.int16[Rt+7]=Re,A}}qt.prototype.bytesPerElement=16,Fi(\"StructArrayLayout2ub2f2i16\",qt);class jt extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F,W){let te=this.length;return this.resize(te+1),this.emplace(te,A,F,W)}emplace(A,F,W,te){let fe=3*A;return this.uint16[fe+0]=F,this.uint16[fe+1]=W,this.uint16[fe+2]=te,A}}jt.prototype.bytesPerElement=6,Fi(\"StructArrayLayout3ui6\",jt);class ar extends le{_refreshViews(){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)}emplaceBack(A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur,vr,kr,Dr,li,pi){let vn=this.length;return this.resize(vn+1),this.emplace(vn,A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur,vr,kr,Dr,li,pi)}emplace(A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur,vr,kr,Dr,li,pi,vn){let zi=24*A,ln=12*A,Tn=48*A;return this.int16[zi+0]=F,this.int16[zi+1]=W,this.uint16[zi+2]=te,this.uint16[zi+3]=fe,this.uint32[ln+2]=pe,this.uint32[ln+3]=Re,this.uint32[ln+4]=Ke,this.uint16[zi+10]=ft,this.uint16[zi+11]=Rt,this.uint16[zi+12]=tr,this.float32[ln+7]=ur,this.float32[ln+8]=vr,this.uint8[Tn+36]=kr,this.uint8[Tn+37]=Dr,this.uint8[Tn+38]=li,this.uint32[ln+10]=pi,this.int16[zi+22]=vn,A}}ar.prototype.bytesPerElement=48,Fi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ar);class fr extends le{_refreshViews(){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)}emplaceBack(A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur,vr,kr,Dr,li,pi,vn,zi,ln,Tn,pa,ro,Vo,Xa,la,Mo,fo){let lo=this.length;return this.resize(lo+1),this.emplace(lo,A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur,vr,kr,Dr,li,pi,vn,zi,ln,Tn,pa,ro,Vo,Xa,la,Mo,fo)}emplace(A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur,vr,kr,Dr,li,pi,vn,zi,ln,Tn,pa,ro,Vo,Xa,la,Mo,fo,lo){let Wn=32*A,Ro=16*A;return this.int16[Wn+0]=F,this.int16[Wn+1]=W,this.int16[Wn+2]=te,this.int16[Wn+3]=fe,this.int16[Wn+4]=pe,this.int16[Wn+5]=Re,this.int16[Wn+6]=Ke,this.int16[Wn+7]=ft,this.uint16[Wn+8]=Rt,this.uint16[Wn+9]=tr,this.uint16[Wn+10]=ur,this.uint16[Wn+11]=vr,this.uint16[Wn+12]=kr,this.uint16[Wn+13]=Dr,this.uint16[Wn+14]=li,this.uint16[Wn+15]=pi,this.uint16[Wn+16]=vn,this.uint16[Wn+17]=zi,this.uint16[Wn+18]=ln,this.uint16[Wn+19]=Tn,this.uint16[Wn+20]=pa,this.uint16[Wn+21]=ro,this.uint16[Wn+22]=Vo,this.uint32[Ro+12]=Xa,this.float32[Ro+13]=la,this.float32[Ro+14]=Mo,this.uint16[Wn+30]=fo,this.uint16[Wn+31]=lo,A}}fr.prototype.bytesPerElement=64,Fi(\"StructArrayLayout8i15ui1ul2f2ui64\",fr);class br extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A){let F=this.length;return this.resize(F+1),this.emplace(F,A)}emplace(A,F){return this.float32[1*A+0]=F,A}}br.prototype.bytesPerElement=4,Fi(\"StructArrayLayout1f4\",br);class Fr extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,F,W){let te=this.length;return this.resize(te+1),this.emplace(te,A,F,W)}emplace(A,F,W,te){let fe=3*A;return this.uint16[6*A+0]=F,this.float32[fe+1]=W,this.float32[fe+2]=te,A}}Fr.prototype.bytesPerElement=12,Fi(\"StructArrayLayout1ui2f12\",Fr);class Hr extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F,W){let te=this.length;return this.resize(te+1),this.emplace(te,A,F,W)}emplace(A,F,W,te){let fe=4*A;return this.uint32[2*A+0]=F,this.uint16[fe+2]=W,this.uint16[fe+3]=te,A}}Hr.prototype.bytesPerElement=8,Fi(\"StructArrayLayout1ul2ui8\",Hr);class ri extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F){let W=this.length;return this.resize(W+1),this.emplace(W,A,F)}emplace(A,F,W){let te=2*A;return this.uint16[te+0]=F,this.uint16[te+1]=W,A}}ri.prototype.bytesPerElement=4,Fi(\"StructArrayLayout2ui4\",ri);class Ci extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A){let F=this.length;return this.resize(F+1),this.emplace(F,A)}emplace(A,F){return this.uint16[1*A+0]=F,A}}Ci.prototype.bytesPerElement=2,Fi(\"StructArrayLayout1ui2\",Ci);class cn extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,F,W,te){let fe=this.length;return this.resize(fe+1),this.emplace(fe,A,F,W,te)}emplace(A,F,W,te,fe){let pe=4*A;return this.float32[pe+0]=F,this.float32[pe+1]=W,this.float32[pe+2]=te,this.float32[pe+3]=fe,A}}cn.prototype.bytesPerElement=16,Fi(\"StructArrayLayout4f16\",cn);class sn extends ee{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new u(this.anchorPointX,this.anchorPointY)}}sn.prototype.size=20;class Ln extends Qe{get(A){return new sn(this,A)}}Fi(\"CollisionBoxArray\",Ln);class Yn extends ee{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(A){this._structArray.uint8[this._pos1+37]=A}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(A){this._structArray.uint8[this._pos1+38]=A}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(A){this._structArray.uint32[this._pos4+10]=A}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Yn.prototype.size=48;class Aa extends ar{get(A){return new Yn(this,A)}}Fi(\"PlacedSymbolArray\",Aa);class fa extends ee{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(A){this._structArray.uint32[this._pos4+12]=A}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}fa.prototype.size=64;class $a extends fr{get(A){return new fa(this,A)}}Fi(\"SymbolInstanceArray\",$a);class Co extends br{getoffsetX(A){return this.float32[1*A+0]}}Fi(\"GlyphOffsetArray\",Co);class Qa extends Mt{getx(A){return this.int16[3*A+0]}gety(A){return this.int16[3*A+1]}gettileUnitDistanceFromAnchor(A){return this.int16[3*A+2]}}Fi(\"SymbolLineVertexArray\",Qa);class mo extends ee{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}mo.prototype.size=12;class Bo extends Fr{get(A){return new mo(this,A)}}Fi(\"TextAnchorOffsetArray\",Bo);class Ps extends ee{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Ps.prototype.size=8;class Ts extends Hr{get(A){return new Ps(this,A)}}Fi(\"FeatureIndexArray\",Ts);class wo extends ut{}class To extends ut{}class hl extends ut{}class Ul extends $t{}class Lu extends mr{}class au extends Cr{}class Js extends ve{}class eu extends xe{}class dc extends Ie{}class Tl extends qe{}class Al extends Xe{}class X extends qt{}class se extends jt{}class Te extends ri{}let Oe=ze([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Ve}=Oe;class Ye{constructor(A=[]){this.segments=A}prepareSegment(A,F,W,te){let fe=this.segments[this.segments.length-1];return A>Ye.MAX_VERTEX_ARRAY_LENGTH&&E(`Max vertices per segment is ${Ye.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${A}`),(!fe||fe.vertexLength+A>Ye.MAX_VERTEX_ARRAY_LENGTH||fe.sortKey!==te)&&(fe={vertexOffset:F.length,primitiveOffset:W.length,vertexLength:0,primitiveLength:0},te!==void 0&&(fe.sortKey=te),this.segments.push(fe)),fe}get(){return this.segments}destroy(){for(let A of this.segments)for(let F in A.vaos)A.vaos[F].destroy()}static simpleSegment(A,F,W,te){return new Ye([{vertexOffset:A,primitiveOffset:F,vertexLength:W,primitiveLength:te,vaos:{},sortKey:0}])}}function Pt(R,A){return 256*(R=M(Math.floor(R),0,255))+M(Math.floor(A),0,255)}Ye.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Fi(\"SegmentVector\",Ye);let at=ze([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var Wt={exports:{}},dr={exports:{}};dr.exports=function(R,A){var F,W,te,fe,pe,Re,Ke,ft;for(W=R.length-(F=3&R.length),te=A,pe=3432918353,Re=461845907,ft=0;ft>>16)*pe&65535)<<16)&4294967295)<<15|Ke>>>17))*Re+(((Ke>>>16)*Re&65535)<<16)&4294967295)<<13|te>>>19))+((5*(te>>>16)&65535)<<16)&4294967295))+((58964+(fe>>>16)&65535)<<16);switch(Ke=0,F){case 3:Ke^=(255&R.charCodeAt(ft+2))<<16;case 2:Ke^=(255&R.charCodeAt(ft+1))<<8;case 1:te^=Ke=(65535&(Ke=(Ke=(65535&(Ke^=255&R.charCodeAt(ft)))*pe+(((Ke>>>16)*pe&65535)<<16)&4294967295)<<15|Ke>>>17))*Re+(((Ke>>>16)*Re&65535)<<16)&4294967295}return te^=R.length,te=2246822507*(65535&(te^=te>>>16))+((2246822507*(te>>>16)&65535)<<16)&4294967295,te=3266489909*(65535&(te^=te>>>13))+((3266489909*(te>>>16)&65535)<<16)&4294967295,(te^=te>>>16)>>>0};var pr=dr.exports,Ur={exports:{}};Ur.exports=function(R,A){for(var F,W=R.length,te=A^W,fe=0;W>=4;)F=1540483477*(65535&(F=255&R.charCodeAt(fe)|(255&R.charCodeAt(++fe))<<8|(255&R.charCodeAt(++fe))<<16|(255&R.charCodeAt(++fe))<<24))+((1540483477*(F>>>16)&65535)<<16),te=1540483477*(65535&te)+((1540483477*(te>>>16)&65535)<<16)^(F=1540483477*(65535&(F^=F>>>24))+((1540483477*(F>>>16)&65535)<<16)),W-=4,++fe;switch(W){case 3:te^=(255&R.charCodeAt(fe+2))<<16;case 2:te^=(255&R.charCodeAt(fe+1))<<8;case 1:te=1540483477*(65535&(te^=255&R.charCodeAt(fe)))+((1540483477*(te>>>16)&65535)<<16)}return te=1540483477*(65535&(te^=te>>>13))+((1540483477*(te>>>16)&65535)<<16),(te^=te>>>15)>>>0};var zr=pr,gi=Ur.exports;Wt.exports=zr,Wt.exports.murmur3=zr,Wt.exports.murmur2=gi;var xi=o(Wt.exports);class Wr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(A,F,W,te){this.ids.push(ii(A)),this.positions.push(F,W,te)}getPositions(A){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let F=ii(A),W=0,te=this.ids.length-1;for(;W>1;this.ids[pe]>=F?te=pe:W=pe+1}let fe=[];for(;this.ids[W]===F;)fe.push({index:this.positions[3*W],start:this.positions[3*W+1],end:this.positions[3*W+2]}),W++;return fe}static serialize(A,F){let W=new Float64Array(A.ids),te=new Uint32Array(A.positions);return di(W,te,0,W.length-1),F&&F.push(W.buffer,te.buffer),{ids:W,positions:te}}static deserialize(A){let F=new Wr;return F.ids=A.ids,F.positions=A.positions,F.indexed=!0,F}}function ii(R){let A=+R;return!isNaN(A)&&A<=Number.MAX_SAFE_INTEGER?A:xi(String(R))}function di(R,A,F,W){for(;F>1],fe=F-1,pe=W+1;for(;;){do fe++;while(R[fe]te);if(fe>=pe)break;Li(R,fe,pe),Li(A,3*fe,3*pe),Li(A,3*fe+1,3*pe+1),Li(A,3*fe+2,3*pe+2)}pe-F`u_${te}`),this.type=W}setUniform(A,F,W){A.set(W.constantOr(this.value))}getBinding(A,F,W){return this.type===\"color\"?new kn(A,F):new Qr(A,F)}}class Ia{constructor(A,F){this.uniformNames=F.map(W=>`u_${W}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(A,F){this.pixelRatioFrom=F.pixelRatio,this.pixelRatioTo=A.pixelRatio,this.patternFrom=F.tlbr,this.patternTo=A.tlbr}setUniform(A,F,W,te){let fe=te===\"u_pattern_to\"?this.patternTo:te===\"u_pattern_from\"?this.patternFrom:te===\"u_pixel_ratio_to\"?this.pixelRatioTo:te===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;fe&&A.set(fe)}getBinding(A,F,W){return W.substr(0,9)===\"u_pattern\"?new Pn(A,F):new Qr(A,F)}}class yo{constructor(A,F,W,te){this.expression=A,this.type=W,this.maxValue=0,this.paintVertexAttributes=F.map(fe=>({name:`a_${fe}`,type:\"Float32\",components:W===\"color\"?2:1,offset:0})),this.paintVertexArray=new te}populatePaintArray(A,F,W,te,fe){let pe=this.paintVertexArray.length,Re=this.expression.evaluate(new rs(0),F,{},te,[],fe);this.paintVertexArray.resize(A),this._setPaintValue(pe,A,Re)}updatePaintArray(A,F,W,te){let fe=this.expression.evaluate({zoom:0},W,te);this._setPaintValue(A,F,fe)}_setPaintValue(A,F,W){if(this.type===\"color\"){let te=na(W);for(let fe=A;fe`u_${Re}_t`),this.type=W,this.useIntegerZoom=te,this.zoom=fe,this.maxValue=0,this.paintVertexAttributes=F.map(Re=>({name:`a_${Re}`,type:\"Float32\",components:W===\"color\"?4:2,offset:0})),this.paintVertexArray=new pe}populatePaintArray(A,F,W,te,fe){let pe=this.expression.evaluate(new rs(this.zoom),F,{},te,[],fe),Re=this.expression.evaluate(new rs(this.zoom+1),F,{},te,[],fe),Ke=this.paintVertexArray.length;this.paintVertexArray.resize(A),this._setPaintValue(Ke,A,pe,Re)}updatePaintArray(A,F,W,te){let fe=this.expression.evaluate({zoom:this.zoom},W,te),pe=this.expression.evaluate({zoom:this.zoom+1},W,te);this._setPaintValue(A,F,fe,pe)}_setPaintValue(A,F,W,te){if(this.type===\"color\"){let fe=na(W),pe=na(te);for(let Re=A;Re`#define HAS_UNIFORM_${te}`))}return A}getBinderAttributes(){let A=[];for(let F in this.binders){let W=this.binders[F];if(W instanceof yo||W instanceof Da)for(let te=0;te!0){this.programConfigurations={};for(let te of A)this.programConfigurations[te.id]=new Is(te,F,W);this.needsUpload=!1,this._featureMap=new Wr,this._bufferOffset=0}populatePaintArrays(A,F,W,te,fe,pe){for(let Re in this.programConfigurations)this.programConfigurations[Re].populatePaintArrays(A,F,te,fe,pe);F.id!==void 0&&this._featureMap.add(F.id,W,this._bufferOffset,A),this._bufferOffset=A,this.needsUpload=!0}updatePaintArrays(A,F,W,te){for(let fe of W)this.needsUpload=this.programConfigurations[fe.id].updatePaintArrays(A,this._featureMap,F,fe,te)||this.needsUpload}get(A){return this.programConfigurations[A]}upload(A){if(this.needsUpload){for(let F in this.programConfigurations)this.programConfigurations[F].upload(A);this.needsUpload=!1}}destroy(){for(let A in this.programConfigurations)this.programConfigurations[A].destroy()}}function Xs(R,A){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[R]||[R.replace(`${A}-`,\"\").replace(/-/g,\"_\")]}function Un(R,A,F){let W={color:{source:Cr,composite:cn},number:{source:br,composite:Cr}},te=function(fe){return{\"line-pattern\":{source:Js,composite:Js},\"fill-pattern\":{source:Js,composite:Js},\"fill-extrusion-pattern\":{source:Js,composite:Js}}[fe]}(R);return te&&te[F]||W[A][F]}Fi(\"ConstantBinder\",Ea),Fi(\"CrossFadedConstantBinder\",Ia),Fi(\"SourceExpressionBinder\",yo),Fi(\"CrossFadedCompositeBinder\",go),Fi(\"CompositeExpressionBinder\",Da),Fi(\"ProgramConfiguration\",Is,{omit:[\"_buffers\"]}),Fi(\"ProgramConfigurationSet\",Ms);let ja=8192,Fo=Math.pow(2,14)-1,Uo=-Fo-1;function $s(R){let A=ja/R.extent,F=R.loadGeometry();for(let W=0;Wpe.x+1||Kepe.y+1)&&E(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return F}function Sl(R,A){return{type:R.type,id:R.id,properties:R.properties,geometry:A?$s(R):[]}}function bu(R,A,F,W,te){R.emplaceBack(2*A+(W+1)/2,2*F+(te+1)/2)}class dl{constructor(A){this.zoom=A.zoom,this.overscaling=A.overscaling,this.layers=A.layers,this.layerIds=this.layers.map(F=>F.id),this.index=A.index,this.hasPattern=!1,this.layoutVertexArray=new To,this.indexArray=new se,this.segments=new Ye,this.programConfigurations=new Ms(A.layers,A.zoom),this.stateDependentLayerIds=this.layers.filter(F=>F.isStateDependent()).map(F=>F.id)}populate(A,F,W){let te=this.layers[0],fe=[],pe=null,Re=!1;te.type===\"circle\"&&(pe=te.layout.get(\"circle-sort-key\"),Re=!pe.isConstant());for(let{feature:Ke,id:ft,index:Rt,sourceLayerIndex:tr}of A){let ur=this.layers[0]._featureFilter.needGeometry,vr=Sl(Ke,ur);if(!this.layers[0]._featureFilter.filter(new rs(this.zoom),vr,W))continue;let kr=Re?pe.evaluate(vr,{},W):void 0,Dr={id:ft,properties:Ke.properties,type:Ke.type,sourceLayerIndex:tr,index:Rt,geometry:ur?vr.geometry:$s(Ke),patterns:{},sortKey:kr};fe.push(Dr)}Re&&fe.sort((Ke,ft)=>Ke.sortKey-ft.sortKey);for(let Ke of fe){let{geometry:ft,index:Rt,sourceLayerIndex:tr}=Ke,ur=A[Rt].feature;this.addFeature(Ke,ft,Rt,W),F.featureIndex.insert(ur,ft,Rt,tr,this.index)}}update(A,F,W){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,F,this.stateDependentLayers,W)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,Ve),this.indexBuffer=A.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(A,F,W,te){for(let fe of F)for(let pe of fe){let Re=pe.x,Ke=pe.y;if(Re<0||Re>=ja||Ke<0||Ke>=ja)continue;let ft=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,A.sortKey),Rt=ft.vertexLength;bu(this.layoutVertexArray,Re,Ke,-1,-1),bu(this.layoutVertexArray,Re,Ke,1,-1),bu(this.layoutVertexArray,Re,Ke,1,1),bu(this.layoutVertexArray,Re,Ke,-1,1),this.indexArray.emplaceBack(Rt,Rt+1,Rt+2),this.indexArray.emplaceBack(Rt,Rt+3,Rt+2),ft.vertexLength+=4,ft.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,A,W,{},te)}}function Sc(R,A){for(let F=0;F1){if(Lr(R,A))return!0;for(let W=0;W1?F:F.sub(A)._mult(te)._add(A))}function vi(R,A){let F,W,te,fe=!1;for(let pe=0;peA.y!=te.y>A.y&&A.x<(te.x-W.x)*(A.y-W.y)/(te.y-W.y)+W.x&&(fe=!fe)}return fe}function Ni(R,A){let F=!1;for(let W=0,te=R.length-1;WA.y!=pe.y>A.y&&A.x<(pe.x-fe.x)*(A.y-fe.y)/(pe.y-fe.y)+fe.x&&(F=!F)}return F}function qi(R,A,F){let W=F[0],te=F[2];if(R.xte.x&&A.x>te.x||R.yte.y&&A.y>te.y)return!1;let fe=z(R,A,F[0]);return fe!==z(R,A,F[1])||fe!==z(R,A,F[2])||fe!==z(R,A,F[3])}function Si(R,A,F){let W=A.paint.get(R).value;return W.kind===\"constant\"?W.value:F.programConfigurations.get(A.id).getMaxValue(R)}function Vn(R){return Math.sqrt(R[0]*R[0]+R[1]*R[1])}function Qi(R,A,F,W,te){if(!A[0]&&!A[1])return R;let fe=u.convert(A)._mult(te);F===\"viewport\"&&fe._rotate(-W);let pe=[];for(let Re=0;Resi(li,Dr))}(ft,Ke),vr=tr?Rt*Re:Rt;for(let kr of te)for(let Dr of kr){let li=tr?Dr:si(Dr,Ke),pi=vr,vn=qn([],[Dr.x,Dr.y,0,1],Ke);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?pi*=vn[3]/pe.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(pi*=pe.cameraToCenterDistance/vn[3]),Me(ur,li,pi))return!0}return!1}}function si(R,A){let F=qn([],[R.x,R.y,0,1],A);return new u(F[0]/F[3],F[1]/F[3])}class mn extends dl{}let Ji;Fi(\"HeatmapBucket\",mn,{omit:[\"layers\"]});var Ui={get paint(){return Ji=Ji||new ue({\"heatmap-radius\":new oo(ce.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new oo(ce.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Ua(ce.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Ku(ce.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Ua(ce.paint_heatmap[\"heatmap-opacity\"])})}};function Bi(R,{width:A,height:F},W,te){if(te){if(te instanceof Uint8ClampedArray)te=new Uint8Array(te.buffer);else if(te.length!==A*F*W)throw new RangeError(`mismatched image size. expected: ${te.length} but got: ${A*F*W}`)}else te=new Uint8Array(A*F*W);return R.width=A,R.height=F,R.data=te,R}function pn(R,{width:A,height:F},W){if(A===R.width&&F===R.height)return;let te=Bi({},{width:A,height:F},W);Nn(R,te,{x:0,y:0},{x:0,y:0},{width:Math.min(R.width,A),height:Math.min(R.height,F)},W),R.width=A,R.height=F,R.data=te.data}function Nn(R,A,F,W,te,fe){if(te.width===0||te.height===0)return A;if(te.width>R.width||te.height>R.height||F.x>R.width-te.width||F.y>R.height-te.height)throw new RangeError(\"out of range source coordinates for image copy\");if(te.width>A.width||te.height>A.height||W.x>A.width-te.width||W.y>A.height-te.height)throw new RangeError(\"out of range destination coordinates for image copy\");let pe=R.data,Re=A.data;if(pe===Re)throw new Error(\"srcData equals dstData, so image is already copied\");for(let Ke=0;Ke{A[R.evaluationKey]=Ke;let ft=R.expression.evaluate(A);te.data[pe+Re+0]=Math.floor(255*ft.r/ft.a),te.data[pe+Re+1]=Math.floor(255*ft.g/ft.a),te.data[pe+Re+2]=Math.floor(255*ft.b/ft.a),te.data[pe+Re+3]=Math.floor(255*ft.a)};if(R.clips)for(let pe=0,Re=0;pe80*F){Re=1/0,Ke=1/0;let Rt=-1/0,tr=-1/0;for(let ur=F;urRt&&(Rt=vr),kr>tr&&(tr=kr)}ft=Math.max(Rt-Re,tr-Ke),ft=ft!==0?32767/ft:0}return Vl(fe,pe,F,Re,Ke,ft,0),pe}function Qs(R,A,F,W,te){let fe;if(te===function(pe,Re,Ke,ft){let Rt=0;for(let tr=Re,ur=Ke-ft;tr0)for(let pe=A;pe=A;pe-=W)fe=Nt(pe/W|0,R[pe],R[pe+1],fe);return fe&&ne(fe,fe.next)&&(Ne(fe),fe=fe.next),fe}function al(R,A){if(!R)return R;A||(A=R);let F,W=R;do if(F=!1,W.steiner||!ne(W,W.next)&&de(W.prev,W,W.next)!==0)W=W.next;else{if(Ne(W),W=A=W.prev,W===W.next)break;F=!0}while(F||W!==A);return A}function Vl(R,A,F,W,te,fe,pe){if(!R)return;!pe&&fe&&function(Ke,ft,Rt,tr){let ur=Ke;do ur.z===0&&(ur.z=D(ur.x,ur.y,ft,Rt,tr)),ur.prevZ=ur.prev,ur.nextZ=ur.next,ur=ur.next;while(ur!==Ke);ur.prevZ.nextZ=null,ur.prevZ=null,function(vr){let kr,Dr=1;do{let li,pi=vr;vr=null;let vn=null;for(kr=0;pi;){kr++;let zi=pi,ln=0;for(let pa=0;pa0||Tn>0&&zi;)ln!==0&&(Tn===0||!zi||pi.z<=zi.z)?(li=pi,pi=pi.nextZ,ln--):(li=zi,zi=zi.nextZ,Tn--),vn?vn.nextZ=li:vr=li,li.prevZ=vn,vn=li;pi=zi}vn.nextZ=null,Dr*=2}while(kr>1)}(ur)}(R,W,te,fe);let Re=R;for(;R.prev!==R.next;){let Ke=R.prev,ft=R.next;if(fe?Vs(R,W,te,fe):ss(R))A.push(Ke.i,R.i,ft.i),Ne(R),R=ft.next,Re=ft.next;else if((R=ft)===Re){pe?pe===1?Vl(R=Ys(al(R),A),A,F,W,te,fe,2):pe===2&&wa(R,A,F,W,te,fe):Vl(al(R),A,F,W,te,fe,1);break}}}function ss(R){let A=R.prev,F=R,W=R.next;if(de(A,F,W)>=0)return!1;let te=A.x,fe=F.x,pe=W.x,Re=A.y,Ke=F.y,ft=W.y,Rt=tefe?te>pe?te:pe:fe>pe?fe:pe,vr=Re>Ke?Re>ft?Re:ft:Ke>ft?Ke:ft,kr=W.next;for(;kr!==A;){if(kr.x>=Rt&&kr.x<=ur&&kr.y>=tr&&kr.y<=vr&&O(te,Re,fe,Ke,pe,ft,kr.x,kr.y)&&de(kr.prev,kr,kr.next)>=0)return!1;kr=kr.next}return!0}function Vs(R,A,F,W){let te=R.prev,fe=R,pe=R.next;if(de(te,fe,pe)>=0)return!1;let Re=te.x,Ke=fe.x,ft=pe.x,Rt=te.y,tr=fe.y,ur=pe.y,vr=ReKe?Re>ft?Re:ft:Ke>ft?Ke:ft,li=Rt>tr?Rt>ur?Rt:ur:tr>ur?tr:ur,pi=D(vr,kr,A,F,W),vn=D(Dr,li,A,F,W),zi=R.prevZ,ln=R.nextZ;for(;zi&&zi.z>=pi&&ln&&ln.z<=vn;){if(zi.x>=vr&&zi.x<=Dr&&zi.y>=kr&&zi.y<=li&&zi!==te&&zi!==pe&&O(Re,Rt,Ke,tr,ft,ur,zi.x,zi.y)&&de(zi.prev,zi,zi.next)>=0||(zi=zi.prevZ,ln.x>=vr&&ln.x<=Dr&&ln.y>=kr&&ln.y<=li&&ln!==te&&ln!==pe&&O(Re,Rt,Ke,tr,ft,ur,ln.x,ln.y)&&de(ln.prev,ln,ln.next)>=0))return!1;ln=ln.nextZ}for(;zi&&zi.z>=pi;){if(zi.x>=vr&&zi.x<=Dr&&zi.y>=kr&&zi.y<=li&&zi!==te&&zi!==pe&&O(Re,Rt,Ke,tr,ft,ur,zi.x,zi.y)&&de(zi.prev,zi,zi.next)>=0)return!1;zi=zi.prevZ}for(;ln&&ln.z<=vn;){if(ln.x>=vr&&ln.x<=Dr&&ln.y>=kr&&ln.y<=li&&ln!==te&&ln!==pe&&O(Re,Rt,Ke,tr,ft,ur,ln.x,ln.y)&&de(ln.prev,ln,ln.next)>=0)return!1;ln=ln.nextZ}return!0}function Ys(R,A){let F=R;do{let W=F.prev,te=F.next.next;!ne(W,te)&&be(W,F,F.next,te)&&Yt(W,te)&&Yt(te,W)&&(A.push(W.i,F.i,te.i),Ne(F),Ne(F.next),F=R=te),F=F.next}while(F!==R);return al(F)}function wa(R,A,F,W,te,fe){let pe=R;do{let Re=pe.next.next;for(;Re!==pe.prev;){if(pe.i!==Re.i&&K(pe,Re)){let Ke=cr(pe,Re);return pe=al(pe,pe.next),Ke=al(Ke,Ke.next),Vl(pe,A,F,W,te,fe,0),void Vl(Ke,A,F,W,te,fe,0)}Re=Re.next}pe=pe.next}while(pe!==R)}function ol(R,A){return R.x-A.x}function io(R,A){let F=function(te,fe){let pe=fe,Re=te.x,Ke=te.y,ft,Rt=-1/0;do{if(Ke<=pe.y&&Ke>=pe.next.y&&pe.next.y!==pe.y){let Dr=pe.x+(Ke-pe.y)*(pe.next.x-pe.x)/(pe.next.y-pe.y);if(Dr<=Re&&Dr>Rt&&(Rt=Dr,ft=pe.x=pe.x&&pe.x>=ur&&Re!==pe.x&&O(Keft.x||pe.x===ft.x&&Y(ft,pe)))&&(ft=pe,kr=Dr)}pe=pe.next}while(pe!==tr);return ft}(R,A);if(!F)return A;let W=cr(F,R);return al(W,W.next),al(F,F.next)}function Y(R,A){return de(R.prev,R,A.prev)<0&&de(A.next,R,R.next)<0}function D(R,A,F,W,te){return(R=1431655765&((R=858993459&((R=252645135&((R=16711935&((R=(R-F)*te|0)|R<<8))|R<<4))|R<<2))|R<<1))|(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=(A-W)*te|0)|A<<8))|A<<4))|A<<2))|A<<1))<<1}function J(R){let A=R,F=R;do(A.x=(R-pe)*(fe-Re)&&(R-pe)*(W-Re)>=(F-pe)*(A-Re)&&(F-pe)*(fe-Re)>=(te-pe)*(W-Re)}function K(R,A){return R.next.i!==A.i&&R.prev.i!==A.i&&!function(F,W){let te=F;do{if(te.i!==F.i&&te.next.i!==F.i&&te.i!==W.i&&te.next.i!==W.i&&be(te,te.next,F,W))return!0;te=te.next}while(te!==F);return!1}(R,A)&&(Yt(R,A)&&Yt(A,R)&&function(F,W){let te=F,fe=!1,pe=(F.x+W.x)/2,Re=(F.y+W.y)/2;do te.y>Re!=te.next.y>Re&&te.next.y!==te.y&&pe<(te.next.x-te.x)*(Re-te.y)/(te.next.y-te.y)+te.x&&(fe=!fe),te=te.next;while(te!==F);return fe}(R,A)&&(de(R.prev,R,A.prev)||de(R,A.prev,A))||ne(R,A)&&de(R.prev,R,R.next)>0&&de(A.prev,A,A.next)>0)}function de(R,A,F){return(A.y-R.y)*(F.x-A.x)-(A.x-R.x)*(F.y-A.y)}function ne(R,A){return R.x===A.x&&R.y===A.y}function be(R,A,F,W){let te=ht(de(R,A,F)),fe=ht(de(R,A,W)),pe=ht(de(F,W,R)),Re=ht(de(F,W,A));return te!==fe&&pe!==Re||!(te!==0||!Be(R,F,A))||!(fe!==0||!Be(R,W,A))||!(pe!==0||!Be(F,R,W))||!(Re!==0||!Be(F,A,W))}function Be(R,A,F){return A.x<=Math.max(R.x,F.x)&&A.x>=Math.min(R.x,F.x)&&A.y<=Math.max(R.y,F.y)&&A.y>=Math.min(R.y,F.y)}function ht(R){return R>0?1:R<0?-1:0}function Yt(R,A){return de(R.prev,R,R.next)<0?de(R,A,R.next)>=0&&de(R,R.prev,A)>=0:de(R,A,R.prev)<0||de(R,R.next,A)<0}function cr(R,A){let F=$e(R.i,R.x,R.y),W=$e(A.i,A.x,A.y),te=R.next,fe=A.prev;return R.next=A,A.prev=R,F.next=te,te.prev=F,W.next=F,F.prev=W,fe.next=W,W.prev=fe,W}function Nt(R,A,F,W){let te=$e(R,A,F);return W?(te.next=W.next,te.prev=W,W.next.prev=te,W.next=te):(te.prev=te,te.next=te),te}function Ne(R){R.next.prev=R.prev,R.prev.next=R.next,R.prevZ&&(R.prevZ.nextZ=R.nextZ),R.nextZ&&(R.nextZ.prevZ=R.prevZ)}function $e(R,A,F){return{i:R,x:A,y:F,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function ot(R,A,F){let W=F.patternDependencies,te=!1;for(let fe of A){let pe=fe.paint.get(`${R}-pattern`);pe.isConstant()||(te=!0);let Re=pe.constantOr(null);Re&&(te=!0,W[Re.to]=!0,W[Re.from]=!0)}return te}function It(R,A,F,W,te){let fe=te.patternDependencies;for(let pe of A){let Re=pe.paint.get(`${R}-pattern`).value;if(Re.kind!==\"constant\"){let Ke=Re.evaluate({zoom:W-1},F,{},te.availableImages),ft=Re.evaluate({zoom:W},F,{},te.availableImages),Rt=Re.evaluate({zoom:W+1},F,{},te.availableImages);Ke=Ke&&Ke.name?Ke.name:Ke,ft=ft&&ft.name?ft.name:ft,Rt=Rt&&Rt.name?Rt.name:Rt,fe[Ke]=!0,fe[ft]=!0,fe[Rt]=!0,F.patterns[pe.id]={min:Ke,mid:ft,max:Rt}}}return F}class Bt{constructor(A){this.zoom=A.zoom,this.overscaling=A.overscaling,this.layers=A.layers,this.layerIds=this.layers.map(F=>F.id),this.index=A.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new hl,this.indexArray=new se,this.indexArray2=new Te,this.programConfigurations=new Ms(A.layers,A.zoom),this.segments=new Ye,this.segments2=new Ye,this.stateDependentLayerIds=this.layers.filter(F=>F.isStateDependent()).map(F=>F.id)}populate(A,F,W){this.hasPattern=ot(\"fill\",this.layers,F);let te=this.layers[0].layout.get(\"fill-sort-key\"),fe=!te.isConstant(),pe=[];for(let{feature:Re,id:Ke,index:ft,sourceLayerIndex:Rt}of A){let tr=this.layers[0]._featureFilter.needGeometry,ur=Sl(Re,tr);if(!this.layers[0]._featureFilter.filter(new rs(this.zoom),ur,W))continue;let vr=fe?te.evaluate(ur,{},W,F.availableImages):void 0,kr={id:Ke,properties:Re.properties,type:Re.type,sourceLayerIndex:Rt,index:ft,geometry:tr?ur.geometry:$s(Re),patterns:{},sortKey:vr};pe.push(kr)}fe&&pe.sort((Re,Ke)=>Re.sortKey-Ke.sortKey);for(let Re of pe){let{geometry:Ke,index:ft,sourceLayerIndex:Rt}=Re;if(this.hasPattern){let tr=It(\"fill\",this.layers,Re,this.zoom,F);this.patternFeatures.push(tr)}else this.addFeature(Re,Ke,ft,W,{});F.featureIndex.insert(A[ft].feature,Ke,ft,Rt,this.index)}}update(A,F,W){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,F,this.stateDependentLayers,W)}addFeatures(A,F,W){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,F,W)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,Ml),this.indexBuffer=A.createIndexBuffer(this.indexArray),this.indexBuffer2=A.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(A,F,W,te,fe){for(let pe of Cf(F,500)){let Re=0;for(let vr of pe)Re+=vr.length;let Ke=this.segments.prepareSegment(Re,this.layoutVertexArray,this.indexArray),ft=Ke.vertexLength,Rt=[],tr=[];for(let vr of pe){if(vr.length===0)continue;vr!==pe[0]&&tr.push(Rt.length/2);let kr=this.segments2.prepareSegment(vr.length,this.layoutVertexArray,this.indexArray2),Dr=kr.vertexLength;this.layoutVertexArray.emplaceBack(vr[0].x,vr[0].y),this.indexArray2.emplaceBack(Dr+vr.length-1,Dr),Rt.push(vr[0].x),Rt.push(vr[0].y);for(let li=1;li>3}if(te--,W===1||W===2)fe+=R.readSVarint(),pe+=R.readSVarint(),W===1&&(A&&Re.push(A),A=[]),A.push(new Br(fe,pe));else{if(W!==7)throw new Error(\"unknown command \"+W);A&&A.push(A[0].clone())}}return A&&Re.push(A),Re},ci.prototype.bbox=function(){var R=this._pbf;R.pos=this._geometry;for(var A=R.readVarint()+R.pos,F=1,W=0,te=0,fe=0,pe=1/0,Re=-1/0,Ke=1/0,ft=-1/0;R.pos>3}if(W--,F===1||F===2)(te+=R.readSVarint())Re&&(Re=te),(fe+=R.readSVarint())ft&&(ft=fe);else if(F!==7)throw new Error(\"unknown command \"+F)}return[pe,Ke,Re,ft]},ci.prototype.toGeoJSON=function(R,A,F){var W,te,fe=this.extent*Math.pow(2,F),pe=this.extent*R,Re=this.extent*A,Ke=this.loadGeometry(),ft=ci.types[this.type];function Rt(vr){for(var kr=0;kr>3;te=pe===1?W.readString():pe===2?W.readFloat():pe===3?W.readDouble():pe===4?W.readVarint64():pe===5?W.readVarint():pe===6?W.readSVarint():pe===7?W.readBoolean():null}return te}(F))}Oi.prototype.feature=function(R){if(R<0||R>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[R];var A=this._pbf.readVarint()+this._pbf.pos;return new tn(this._pbf,A,this.extent,this._keys,this._values)};var on=Ei;function zn(R,A,F){if(R===3){var W=new on(F,F.readVarint()+F.pos);W.length&&(A[W.name]=W)}}yr.VectorTile=function(R,A){this.layers=R.readFields(zn,{},A)},yr.VectorTileFeature=Di,yr.VectorTileLayer=Ei;let Ja=yr.VectorTileFeature.types,co=Math.pow(2,13);function ts(R,A,F,W,te,fe,pe,Re){R.emplaceBack(A,F,2*Math.floor(W*co)+pe,te*co*2,fe*co*2,Math.round(Re))}class so{constructor(A){this.zoom=A.zoom,this.overscaling=A.overscaling,this.layers=A.layers,this.layerIds=this.layers.map(F=>F.id),this.index=A.index,this.hasPattern=!1,this.layoutVertexArray=new Ul,this.centroidVertexArray=new wo,this.indexArray=new se,this.programConfigurations=new Ms(A.layers,A.zoom),this.segments=new Ye,this.stateDependentLayerIds=this.layers.filter(F=>F.isStateDependent()).map(F=>F.id)}populate(A,F,W){this.features=[],this.hasPattern=ot(\"fill-extrusion\",this.layers,F);for(let{feature:te,id:fe,index:pe,sourceLayerIndex:Re}of A){let Ke=this.layers[0]._featureFilter.needGeometry,ft=Sl(te,Ke);if(!this.layers[0]._featureFilter.filter(new rs(this.zoom),ft,W))continue;let Rt={id:fe,sourceLayerIndex:Re,index:pe,geometry:Ke?ft.geometry:$s(te),properties:te.properties,type:te.type,patterns:{}};this.hasPattern?this.features.push(It(\"fill-extrusion\",this.layers,Rt,this.zoom,F)):this.addFeature(Rt,Rt.geometry,pe,W,{}),F.featureIndex.insert(te,Rt.geometry,pe,Re,this.index,!0)}}addFeatures(A,F,W){for(let te of this.features){let{geometry:fe}=te;this.addFeature(te,fe,te.index,F,W)}}update(A,F,W){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,F,this.stateDependentLayers,W)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,lr),this.centroidVertexBuffer=A.createVertexBuffer(this.centroidVertexArray,vt.members,!0),this.indexBuffer=A.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(A,F,W,te,fe){for(let pe of Cf(F,500)){let Re={x:0,y:0,vertexCount:0},Ke=0;for(let kr of pe)Ke+=kr.length;let ft=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let kr of pe){if(kr.length===0||ms(kr))continue;let Dr=0;for(let li=0;li=1){let vn=kr[li-1];if(!Yo(pi,vn)){ft.vertexLength+4>Ye.MAX_VERTEX_ARRAY_LENGTH&&(ft=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let zi=pi.sub(vn)._perp()._unit(),ln=vn.dist(pi);Dr+ln>32768&&(Dr=0),ts(this.layoutVertexArray,pi.x,pi.y,zi.x,zi.y,0,0,Dr),ts(this.layoutVertexArray,pi.x,pi.y,zi.x,zi.y,0,1,Dr),Re.x+=2*pi.x,Re.y+=2*pi.y,Re.vertexCount+=2,Dr+=ln,ts(this.layoutVertexArray,vn.x,vn.y,zi.x,zi.y,0,0,Dr),ts(this.layoutVertexArray,vn.x,vn.y,zi.x,zi.y,0,1,Dr),Re.x+=2*vn.x,Re.y+=2*vn.y,Re.vertexCount+=2;let Tn=ft.vertexLength;this.indexArray.emplaceBack(Tn,Tn+2,Tn+1),this.indexArray.emplaceBack(Tn+1,Tn+2,Tn+3),ft.vertexLength+=4,ft.primitiveLength+=2}}}}if(ft.vertexLength+Ke>Ye.MAX_VERTEX_ARRAY_LENGTH&&(ft=this.segments.prepareSegment(Ke,this.layoutVertexArray,this.indexArray)),Ja[A.type]!==\"Polygon\")continue;let Rt=[],tr=[],ur=ft.vertexLength;for(let kr of pe)if(kr.length!==0){kr!==pe[0]&&tr.push(Rt.length/2);for(let Dr=0;Drja)||R.y===A.y&&(R.y<0||R.y>ja)}function ms(R){return R.every(A=>A.x<0)||R.every(A=>A.x>ja)||R.every(A=>A.y<0)||R.every(A=>A.y>ja)}let ou;Fi(\"FillExtrusionBucket\",so,{omit:[\"layers\",\"features\"]});var Cv={get paint(){return ou=ou||new ue({\"fill-extrusion-opacity\":new Ua(ce[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new oo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Ua(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Ua(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Vc(ce[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new oo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new oo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Ua(ce[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Lv extends B{constructor(A){super(A,Cv)}createBucket(A){return new so(A)}queryRadius(){return Vn(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(A,F,W,te,fe,pe,Re,Ke){let ft=Qi(A,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),pe.angle,Re),Rt=this.paint.get(\"fill-extrusion-height\").evaluate(F,W),tr=this.paint.get(\"fill-extrusion-base\").evaluate(F,W),ur=function(kr,Dr,li,pi){let vn=[];for(let zi of kr){let ln=[zi.x,zi.y,0,1];qn(ln,ln,Dr),vn.push(new u(ln[0]/ln[3],ln[1]/ln[3]))}return vn}(ft,Ke),vr=function(kr,Dr,li,pi){let vn=[],zi=[],ln=pi[8]*Dr,Tn=pi[9]*Dr,pa=pi[10]*Dr,ro=pi[11]*Dr,Vo=pi[8]*li,Xa=pi[9]*li,la=pi[10]*li,Mo=pi[11]*li;for(let fo of kr){let lo=[],Wn=[];for(let Ro of fo){let uo=Ro.x,$o=Ro.y,Ju=pi[0]*uo+pi[4]*$o+pi[12],Ou=pi[1]*uo+pi[5]*$o+pi[13],kh=pi[2]*uo+pi[6]*$o+pi[14],Qv=pi[3]*uo+pi[7]*$o+pi[15],ud=kh+pa,Ch=Qv+ro,Vd=Ju+Vo,Gd=Ou+Xa,Hd=kh+la,Af=Qv+Mo,Lh=new u((Ju+ln)/Ch,(Ou+Tn)/Ch);Lh.z=ud/Ch,lo.push(Lh);let Ed=new u(Vd/Af,Gd/Af);Ed.z=Hd/Af,Wn.push(Ed)}vn.push(lo),zi.push(Wn)}return[vn,zi]}(te,tr,Rt,Ke);return function(kr,Dr,li){let pi=1/0;bt(li,Dr)&&(pi=Kv(li,Dr[0]));for(let vn=0;vnF.id),this.index=A.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(F=>{this.gradients[F.id]={}}),this.layoutVertexArray=new Lu,this.layoutVertexArray2=new au,this.indexArray=new se,this.programConfigurations=new Ms(A.layers,A.zoom),this.segments=new Ye,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(F=>F.isStateDependent()).map(F=>F.id)}populate(A,F,W){this.hasPattern=ot(\"line\",this.layers,F);let te=this.layers[0].layout.get(\"line-sort-key\"),fe=!te.isConstant(),pe=[];for(let{feature:Re,id:Ke,index:ft,sourceLayerIndex:Rt}of A){let tr=this.layers[0]._featureFilter.needGeometry,ur=Sl(Re,tr);if(!this.layers[0]._featureFilter.filter(new rs(this.zoom),ur,W))continue;let vr=fe?te.evaluate(ur,{},W):void 0,kr={id:Ke,properties:Re.properties,type:Re.type,sourceLayerIndex:Rt,index:ft,geometry:tr?ur.geometry:$s(Re),patterns:{},sortKey:vr};pe.push(kr)}fe&&pe.sort((Re,Ke)=>Re.sortKey-Ke.sortKey);for(let Re of pe){let{geometry:Ke,index:ft,sourceLayerIndex:Rt}=Re;if(this.hasPattern){let tr=It(\"line\",this.layers,Re,this.zoom,F);this.patternFeatures.push(tr)}else this.addFeature(Re,Ke,ft,W,{});F.featureIndex.insert(A[ft].feature,Ke,ft,Rt,this.index)}}update(A,F,W){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,F,this.stateDependentLayers,W)}addFeatures(A,F,W){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,F,W)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=A.createVertexBuffer(this.layoutVertexArray2,mp)),this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,gp),this.indexBuffer=A.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(A){if(A.properties&&Object.prototype.hasOwnProperty.call(A.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(A.properties,\"mapbox_clip_end\"))return{start:+A.properties.mapbox_clip_start,end:+A.properties.mapbox_clip_end}}addFeature(A,F,W,te,fe){let pe=this.layers[0].layout,Re=pe.get(\"line-join\").evaluate(A,{}),Ke=pe.get(\"line-cap\"),ft=pe.get(\"line-miter-limit\"),Rt=pe.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(A);for(let tr of F)this.addLine(tr,A,Re,Ke,ft,Rt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,A,W,fe,te)}addLine(A,F,W,te,fe,pe){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let pi=0;pi=2&&A[Ke-1].equals(A[Ke-2]);)Ke--;let ft=0;for(;ft0;if(ro&&pi>ft){let Mo=ur.dist(vr);if(Mo>2*Rt){let fo=ur.sub(ur.sub(vr)._mult(Rt/Mo)._round());this.updateDistance(vr,fo),this.addCurrentVertex(fo,Dr,0,0,tr),vr=fo}}let Xa=vr&&kr,la=Xa?W:Re?\"butt\":te;if(Xa&&la===\"round\"&&(Tnfe&&(la=\"bevel\"),la===\"bevel\"&&(Tn>2&&(la=\"flipbevel\"),Tn100)vn=li.mult(-1);else{let Mo=Tn*Dr.add(li).mag()/Dr.sub(li).mag();vn._perp()._mult(Mo*(Vo?-1:1))}this.addCurrentVertex(ur,vn,0,0,tr),this.addCurrentVertex(ur,vn.mult(-1),0,0,tr)}else if(la===\"bevel\"||la===\"fakeround\"){let Mo=-Math.sqrt(Tn*Tn-1),fo=Vo?Mo:0,lo=Vo?0:Mo;if(vr&&this.addCurrentVertex(ur,Dr,fo,lo,tr),la===\"fakeround\"){let Wn=Math.round(180*pa/Math.PI/20);for(let Ro=1;Ro2*Rt){let fo=ur.add(kr.sub(ur)._mult(Rt/Mo)._round());this.updateDistance(ur,fo),this.addCurrentVertex(fo,li,0,0,tr),ur=fo}}}}addCurrentVertex(A,F,W,te,fe,pe=!1){let Re=F.y*te-F.x,Ke=-F.y-F.x*te;this.addHalfVertex(A,F.x+F.y*W,F.y-F.x*W,pe,!1,W,fe),this.addHalfVertex(A,Re,Ke,pe,!0,-te,fe),this.distance>Pv/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(A,F,W,te,fe,pe))}addHalfVertex({x:A,y:F},W,te,fe,pe,Re,Ke){let ft=.5*(this.lineClips?this.scaledDistance*(Pv-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((A<<1)+(fe?1:0),(F<<1)+(pe?1:0),Math.round(63*W)+128,Math.round(63*te)+128,1+(Re===0?0:Re<0?-1:1)|(63&ft)<<2,ft>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Rt=Ke.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Rt),Ke.primitiveLength++),pe?this.e2=Rt:this.e1=Rt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(A,F){this.distance+=A.dist(F),this.updateScaledDistance()}}let Iv,fy;Fi(\"LineBucket\",Jv,{omit:[\"layers\",\"patternFeatures\"]});var dg={get paint(){return fy=fy||new ue({\"line-opacity\":new oo(ce.paint_line[\"line-opacity\"]),\"line-color\":new oo(ce.paint_line[\"line-color\"]),\"line-translate\":new Ua(ce.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Ua(ce.paint_line[\"line-translate-anchor\"]),\"line-width\":new oo(ce.paint_line[\"line-width\"]),\"line-gap-width\":new oo(ce.paint_line[\"line-gap-width\"]),\"line-offset\":new oo(ce.paint_line[\"line-offset\"]),\"line-blur\":new oo(ce.paint_line[\"line-blur\"]),\"line-dasharray\":new hc(ce.paint_line[\"line-dasharray\"]),\"line-pattern\":new Vc(ce.paint_line[\"line-pattern\"]),\"line-gradient\":new Ku(ce.paint_line[\"line-gradient\"])})},get layout(){return Iv=Iv||new ue({\"line-cap\":new Ua(ce.layout_line[\"line-cap\"]),\"line-join\":new oo(ce.layout_line[\"line-join\"]),\"line-miter-limit\":new Ua(ce.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Ua(ce.layout_line[\"line-round-limit\"]),\"line-sort-key\":new oo(ce.layout_line[\"line-sort-key\"])})}};class oh extends oo{possiblyEvaluate(A,F){return F=new rs(Math.floor(F.zoom),{now:F.now,fadeDuration:F.fadeDuration,zoomHistory:F.zoomHistory,transition:F.transition}),super.possiblyEvaluate(A,F)}evaluate(A,F,W,te){return F=L({},F,{zoom:Math.floor(F.zoom)}),super.evaluate(A,F,W,te)}}let vg;class hy extends B{constructor(A){super(A,dg),this.gradientVersion=0,vg||(vg=new oh(dg.paint.properties[\"line-width\"].specification),vg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(A){if(A===\"line-gradient\"){let F=this.gradientExpression();this.stepInterpolant=!!function(W){return W._styleExpression!==void 0}(F)&&F._styleExpression.expression instanceof _n,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(A,F){super.recalculate(A,F),this.paint._values[\"line-floorwidth\"]=vg.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,A)}createBucket(A){return new Jv(A)}queryRadius(A){let F=A,W=Zh(Si(\"line-width\",this,F),Si(\"line-gap-width\",this,F)),te=Si(\"line-offset\",this,F);return W/2+Math.abs(te)+Vn(this.paint.get(\"line-translate\"))}queryIntersectsFeature(A,F,W,te,fe,pe,Re){let Ke=Qi(A,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),pe.angle,Re),ft=Re/2*Zh(this.paint.get(\"line-width\").evaluate(F,W),this.paint.get(\"line-gap-width\").evaluate(F,W)),Rt=this.paint.get(\"line-offset\").evaluate(F,W);return Rt&&(te=function(tr,ur){let vr=[];for(let kr=0;kr=3){for(let li=0;li0?A+2*R:R}let am=ze([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),k1=ze([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);ze([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let C1=ze([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);ze([{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\"}]);let dy=ze([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),om=ze([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function sm(R,A,F){return R.sections.forEach(W=>{W.text=function(te,fe,pe){let Re=fe.layout.get(\"text-transform\").evaluate(pe,{});return Re===\"uppercase\"?te=te.toLocaleUpperCase():Re===\"lowercase\"&&(te=te.toLocaleLowerCase()),ys.applyArabicShaping&&(te=ys.applyArabicShaping(te)),te}(W.text,A,F)}),R}ze([{name:\"triangle\",components:3,type:\"Uint16\"}]),ze([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),ze([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),ze([{type:\"Float32\",name:\"offsetX\"}]),ze([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),ze([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let vc={\"!\":\"\\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\"};var tu=24,Sd=wu,vy=function(R,A,F,W,te){var fe,pe,Re=8*te-W-1,Ke=(1<>1,Rt=-7,tr=F?te-1:0,ur=F?-1:1,vr=R[A+tr];for(tr+=ur,fe=vr&(1<<-Rt)-1,vr>>=-Rt,Rt+=Re;Rt>0;fe=256*fe+R[A+tr],tr+=ur,Rt-=8);for(pe=fe&(1<<-Rt)-1,fe>>=-Rt,Rt+=W;Rt>0;pe=256*pe+R[A+tr],tr+=ur,Rt-=8);if(fe===0)fe=1-ft;else{if(fe===Ke)return pe?NaN:1/0*(vr?-1:1);pe+=Math.pow(2,W),fe-=ft}return(vr?-1:1)*pe*Math.pow(2,fe-W)},L1=function(R,A,F,W,te,fe){var pe,Re,Ke,ft=8*fe-te-1,Rt=(1<>1,ur=te===23?Math.pow(2,-24)-Math.pow(2,-77):0,vr=W?0:fe-1,kr=W?1:-1,Dr=A<0||A===0&&1/A<0?1:0;for(A=Math.abs(A),isNaN(A)||A===1/0?(Re=isNaN(A)?1:0,pe=Rt):(pe=Math.floor(Math.log(A)/Math.LN2),A*(Ke=Math.pow(2,-pe))<1&&(pe--,Ke*=2),(A+=pe+tr>=1?ur/Ke:ur*Math.pow(2,1-tr))*Ke>=2&&(pe++,Ke/=2),pe+tr>=Rt?(Re=0,pe=Rt):pe+tr>=1?(Re=(A*Ke-1)*Math.pow(2,te),pe+=tr):(Re=A*Math.pow(2,tr-1)*Math.pow(2,te),pe=0));te>=8;R[F+vr]=255&Re,vr+=kr,Re/=256,te-=8);for(pe=pe<0;R[F+vr]=255&pe,vr+=kr,pe/=256,ft-=8);R[F+vr-kr]|=128*Dr};function wu(R){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(R)?R:new Uint8Array(R||0),this.pos=0,this.type=0,this.length=this.buf.length}wu.Varint=0,wu.Fixed64=1,wu.Bytes=2,wu.Fixed32=5;var Yx=4294967296,lm=1/Yx,Ow=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf-8\");function Rv(R){return R.type===wu.Bytes?R.readVarint()+R.pos:R.pos+1}function um(R,A,F){return F?4294967296*A+(R>>>0):4294967296*(A>>>0)+(R>>>0)}function Bw(R,A,F){var W=A<=16383?1:A<=2097151?2:A<=268435455?3:Math.floor(Math.log(A)/(7*Math.LN2));F.realloc(W);for(var te=F.pos-1;te>=R;te--)F.buf[te+W]=F.buf[te]}function Kx(R,A){for(var F=0;F>>8,R[F+2]=A>>>16,R[F+3]=A>>>24}function SC(R,A){return(R[A]|R[A+1]<<8|R[A+2]<<16)+(R[A+3]<<24)}wu.prototype={destroy:function(){this.buf=null},readFields:function(R,A,F){for(F=F||this.length;this.pos>3,fe=this.pos;this.type=7&W,R(te,A,this),this.pos===fe&&this.skip(W)}return A},readMessage:function(R,A){return this.readFields(R,A,this.readVarint()+this.pos)},readFixed32:function(){var R=py(this.buf,this.pos);return this.pos+=4,R},readSFixed32:function(){var R=SC(this.buf,this.pos);return this.pos+=4,R},readFixed64:function(){var R=py(this.buf,this.pos)+py(this.buf,this.pos+4)*Yx;return this.pos+=8,R},readSFixed64:function(){var R=py(this.buf,this.pos)+SC(this.buf,this.pos+4)*Yx;return this.pos+=8,R},readFloat:function(){var R=vy(this.buf,this.pos,!0,23,4);return this.pos+=4,R},readDouble:function(){var R=vy(this.buf,this.pos,!0,52,8);return this.pos+=8,R},readVarint:function(R){var A,F,W=this.buf;return A=127&(F=W[this.pos++]),F<128?A:(A|=(127&(F=W[this.pos++]))<<7,F<128?A:(A|=(127&(F=W[this.pos++]))<<14,F<128?A:(A|=(127&(F=W[this.pos++]))<<21,F<128?A:function(te,fe,pe){var Re,Ke,ft=pe.buf;if(Re=(112&(Ke=ft[pe.pos++]))>>4,Ke<128||(Re|=(127&(Ke=ft[pe.pos++]))<<3,Ke<128)||(Re|=(127&(Ke=ft[pe.pos++]))<<10,Ke<128)||(Re|=(127&(Ke=ft[pe.pos++]))<<17,Ke<128)||(Re|=(127&(Ke=ft[pe.pos++]))<<24,Ke<128)||(Re|=(1&(Ke=ft[pe.pos++]))<<31,Ke<128))return um(te,Re,fe);throw new Error(\"Expected varint not more than 10 bytes\")}(A|=(15&(F=W[this.pos]))<<28,R,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var R=this.readVarint();return R%2==1?(R+1)/-2:R/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var R=this.readVarint()+this.pos,A=this.pos;return this.pos=R,R-A>=12&&Ow?function(F,W,te){return Ow.decode(F.subarray(W,te))}(this.buf,A,R):function(F,W,te){for(var fe=\"\",pe=W;pe239?4:Rt>223?3:Rt>191?2:1;if(pe+ur>te)break;ur===1?Rt<128&&(tr=Rt):ur===2?(192&(Re=F[pe+1]))==128&&(tr=(31&Rt)<<6|63&Re)<=127&&(tr=null):ur===3?(Ke=F[pe+2],(192&(Re=F[pe+1]))==128&&(192&Ke)==128&&((tr=(15&Rt)<<12|(63&Re)<<6|63&Ke)<=2047||tr>=55296&&tr<=57343)&&(tr=null)):ur===4&&(Ke=F[pe+2],ft=F[pe+3],(192&(Re=F[pe+1]))==128&&(192&Ke)==128&&(192&ft)==128&&((tr=(15&Rt)<<18|(63&Re)<<12|(63&Ke)<<6|63&ft)<=65535||tr>=1114112)&&(tr=null)),tr===null?(tr=65533,ur=1):tr>65535&&(tr-=65536,fe+=String.fromCharCode(tr>>>10&1023|55296),tr=56320|1023&tr),fe+=String.fromCharCode(tr),pe+=ur}return fe}(this.buf,A,R)},readBytes:function(){var R=this.readVarint()+this.pos,A=this.buf.subarray(this.pos,R);return this.pos=R,A},readPackedVarint:function(R,A){if(this.type!==wu.Bytes)return R.push(this.readVarint(A));var F=Rv(this);for(R=R||[];this.pos127;);else if(A===wu.Bytes)this.pos=this.readVarint()+this.pos;else if(A===wu.Fixed32)this.pos+=4;else{if(A!==wu.Fixed64)throw new Error(\"Unimplemented type: \"+A);this.pos+=8}},writeTag:function(R,A){this.writeVarint(R<<3|A)},realloc:function(R){for(var A=this.length||16;A268435455||R<0?function(A,F){var W,te;if(A>=0?(W=A%4294967296|0,te=A/4294967296|0):(te=~(-A/4294967296),4294967295^(W=~(-A%4294967296))?W=W+1|0:(W=0,te=te+1|0)),A>=18446744073709552e3||A<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");F.realloc(10),function(fe,pe,Re){Re.buf[Re.pos++]=127&fe|128,fe>>>=7,Re.buf[Re.pos++]=127&fe|128,fe>>>=7,Re.buf[Re.pos++]=127&fe|128,fe>>>=7,Re.buf[Re.pos++]=127&fe|128,Re.buf[Re.pos]=127&(fe>>>=7)}(W,0,F),function(fe,pe){var Re=(7&fe)<<4;pe.buf[pe.pos++]|=Re|((fe>>>=3)?128:0),fe&&(pe.buf[pe.pos++]=127&fe|((fe>>>=7)?128:0),fe&&(pe.buf[pe.pos++]=127&fe|((fe>>>=7)?128:0),fe&&(pe.buf[pe.pos++]=127&fe|((fe>>>=7)?128:0),fe&&(pe.buf[pe.pos++]=127&fe|((fe>>>=7)?128:0),fe&&(pe.buf[pe.pos++]=127&fe)))))}(te,F)}(R,this):(this.realloc(4),this.buf[this.pos++]=127&R|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=R>>>7&127))))},writeSVarint:function(R){this.writeVarint(R<0?2*-R-1:2*R)},writeBoolean:function(R){this.writeVarint(!!R)},writeString:function(R){R=String(R),this.realloc(4*R.length),this.pos++;var A=this.pos;this.pos=function(W,te,fe){for(var pe,Re,Ke=0;Ke55295&&pe<57344){if(!Re){pe>56319||Ke+1===te.length?(W[fe++]=239,W[fe++]=191,W[fe++]=189):Re=pe;continue}if(pe<56320){W[fe++]=239,W[fe++]=191,W[fe++]=189,Re=pe;continue}pe=Re-55296<<10|pe-56320|65536,Re=null}else Re&&(W[fe++]=239,W[fe++]=191,W[fe++]=189,Re=null);pe<128?W[fe++]=pe:(pe<2048?W[fe++]=pe>>6|192:(pe<65536?W[fe++]=pe>>12|224:(W[fe++]=pe>>18|240,W[fe++]=pe>>12&63|128),W[fe++]=pe>>6&63|128),W[fe++]=63&pe|128)}return fe}(this.buf,R,this.pos);var F=this.pos-A;F>=128&&Bw(A,F,this),this.pos=A-1,this.writeVarint(F),this.pos+=F},writeFloat:function(R){this.realloc(4),L1(this.buf,R,this.pos,!0,23,4),this.pos+=4},writeDouble:function(R){this.realloc(8),L1(this.buf,R,this.pos,!0,52,8),this.pos+=8},writeBytes:function(R){var A=R.length;this.writeVarint(A),this.realloc(A);for(var F=0;F=128&&Bw(F,W,this),this.pos=F-1,this.writeVarint(W),this.pos+=W},writeMessage:function(R,A,F){this.writeTag(R,wu.Bytes),this.writeRawMessage(A,F)},writePackedVarint:function(R,A){A.length&&this.writeMessage(R,Kx,A)},writePackedSVarint:function(R,A){A.length&&this.writeMessage(R,V9,A)},writePackedBoolean:function(R,A){A.length&&this.writeMessage(R,j9,A)},writePackedFloat:function(R,A){A.length&&this.writeMessage(R,G9,A)},writePackedDouble:function(R,A){A.length&&this.writeMessage(R,H9,A)},writePackedFixed32:function(R,A){A.length&&this.writeMessage(R,qQ,A)},writePackedSFixed32:function(R,A){A.length&&this.writeMessage(R,W9,A)},writePackedFixed64:function(R,A){A.length&&this.writeMessage(R,X9,A)},writePackedSFixed64:function(R,A){A.length&&this.writeMessage(R,Z9,A)},writeBytesField:function(R,A){this.writeTag(R,wu.Bytes),this.writeBytes(A)},writeFixed32Field:function(R,A){this.writeTag(R,wu.Fixed32),this.writeFixed32(A)},writeSFixed32Field:function(R,A){this.writeTag(R,wu.Fixed32),this.writeSFixed32(A)},writeFixed64Field:function(R,A){this.writeTag(R,wu.Fixed64),this.writeFixed64(A)},writeSFixed64Field:function(R,A){this.writeTag(R,wu.Fixed64),this.writeSFixed64(A)},writeVarintField:function(R,A){this.writeTag(R,wu.Varint),this.writeVarint(A)},writeSVarintField:function(R,A){this.writeTag(R,wu.Varint),this.writeSVarint(A)},writeStringField:function(R,A){this.writeTag(R,wu.Bytes),this.writeString(A)},writeFloatField:function(R,A){this.writeTag(R,wu.Fixed32),this.writeFloat(A)},writeDoubleField:function(R,A){this.writeTag(R,wu.Fixed64),this.writeDouble(A)},writeBooleanField:function(R,A){this.writeVarintField(R,!!A)}};var lS=o(Sd);let uS=3;function OQ(R,A,F){R===1&&F.readMessage(Y9,A)}function Y9(R,A,F){if(R===3){let{id:W,bitmap:te,width:fe,height:pe,left:Re,top:Ke,advance:ft}=F.readMessage(MC,{});A.push({id:W,bitmap:new aa({width:fe+2*uS,height:pe+2*uS},te),metrics:{width:fe,height:pe,left:Re,top:Ke,advance:ft}})}}function MC(R,A,F){R===1?A.id=F.readVarint():R===2?A.bitmap=F.readBytes():R===3?A.width=F.readVarint():R===4?A.height=F.readVarint():R===5?A.left=F.readSVarint():R===6?A.top=F.readSVarint():R===7&&(A.advance=F.readVarint())}let EC=uS;function cS(R){let A=0,F=0;for(let pe of R)A+=pe.w*pe.h,F=Math.max(F,pe.w);R.sort((pe,Re)=>Re.h-pe.h);let W=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(A/.95)),F),h:1/0}],te=0,fe=0;for(let pe of R)for(let Re=W.length-1;Re>=0;Re--){let Ke=W[Re];if(!(pe.w>Ke.w||pe.h>Ke.h)){if(pe.x=Ke.x,pe.y=Ke.y,fe=Math.max(fe,pe.y+pe.h),te=Math.max(te,pe.x+pe.w),pe.w===Ke.w&&pe.h===Ke.h){let ft=W.pop();Re=0&&W>=A&&Vw[this.text.charCodeAt(W)];W--)F--;this.text=this.text.substring(A,F),this.sectionIndex=this.sectionIndex.slice(A,F)}substring(A,F){let W=new P1;return W.text=this.text.substring(A,F),W.sectionIndex=this.sectionIndex.slice(A,F),W.sections=this.sections,W}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((A,F)=>Math.max(A,this.sections[F].scale),0)}addTextSection(A,F){this.text+=A.text,this.sections.push($x.forText(A.scale,A.fontStack||F));let W=this.sections.length-1;for(let te=0;te=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Qx(R,A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur,vr,kr){let Dr=P1.fromFeature(R,te),li;tr===i.ah.vertical&&Dr.verticalizePunctuation();let{processBidirectionalText:pi,processStyledBidirectionalText:vn}=ys;if(pi&&Dr.sections.length===1){li=[];let Tn=pi(Dr.toString(),I1(Dr,ft,fe,A,W,vr));for(let pa of Tn){let ro=new P1;ro.text=pa,ro.sections=Dr.sections;for(let Vo=0;Vo0&&tp>Df&&(Df=tp)}else{let Gc=ro[ru.fontStack],Yf=Gc&&Gc[$u];if(Yf&&Yf.rect)O1=Yf.rect,ff=Yf.metrics;else{let tp=pa[ru.fontStack],yg=tp&&tp[$u];if(!yg)continue;ff=yg.metrics}zv=(Lh-ru.scale)*tu}ep?(Tn.verticalizable=!0,Yh.push({glyph:$u,imageName:p0,x:$o,y:Ju+zv,vertical:ep,scale:ru.scale,fontStack:ru.fontStack,sectionIndex:pc,metrics:ff,rect:O1}),$o+=Gp*ru.scale+Wn):(Yh.push({glyph:$u,imageName:p0,x:$o,y:Ju+zv,vertical:ep,scale:ru.scale,fontStack:ru.fontStack,sectionIndex:pc,metrics:ff,rect:O1}),$o+=ff.advance*ru.scale+Wn)}Yh.length!==0&&(Ou=Math.max($o-Wn,Ou),cm(Yh,0,Yh.length-1,Qv,Df)),$o=0;let Fv=la*Lh+Df;cd.lineOffset=Math.max(Df,Ed),Ju+=Fv,kh=Math.max(Fv,kh),++ud}var Ch;let Vd=Ju-Eh,{horizontalAlign:Gd,verticalAlign:Hd}=Hw(Mo);(function(Af,Lh,Ed,cd,Yh,Df,Fv,lv,ru){let pc=(Lh-Ed)*Yh,$u=0;$u=Df!==Fv?-lv*cd-Eh:(-cd*ru+.5)*Fv;for(let zv of Af)for(let ff of zv.positionedGlyphs)ff.x+=pc,ff.y+=$u})(Tn.positionedLines,Qv,Gd,Hd,Ou,kh,la,Vd,Xa.length),Tn.top+=-Hd*Vd,Tn.bottom=Tn.top+Vd,Tn.left+=-Gd*Ou,Tn.right=Tn.left+Ou}(ln,A,F,W,li,pe,Re,Ke,tr,ft,ur,kr),!function(Tn){for(let pa of Tn)if(pa.positionedGlyphs.length!==0)return!1;return!0}(zi)&&ln}let Vw={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},K9={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},J9={40:!0};function kC(R,A,F,W,te,fe){if(A.imageName){let pe=W[A.imageName];return pe?pe.displaySize[0]*A.scale*tu/fe+te:0}{let pe=F[A.fontStack],Re=pe&&pe[R];return Re?Re.metrics.advance*A.scale+te:0}}function CC(R,A,F,W){let te=Math.pow(R-A,2);return W?R=0,ft=0;for(let tr=0;trft){let Rt=Math.ceil(fe/ft);te*=Rt/pe,pe=Rt}return{x1:W,y1:te,x2:W+fe,y2:te+pe}}function IC(R,A,F,W,te,fe){let pe=R.image,Re;if(pe.content){let li=pe.content,pi=pe.pixelRatio||1;Re=[li[0]/pi,li[1]/pi,pe.displaySize[0]-li[2]/pi,pe.displaySize[1]-li[3]/pi]}let Ke=A.left*fe,ft=A.right*fe,Rt,tr,ur,vr;F===\"width\"||F===\"both\"?(vr=te[0]+Ke-W[3],tr=te[0]+ft+W[1]):(vr=te[0]+(Ke+ft-pe.displaySize[0])/2,tr=vr+pe.displaySize[0]);let kr=A.top*fe,Dr=A.bottom*fe;return F===\"height\"||F===\"both\"?(Rt=te[1]+kr-W[0],ur=te[1]+Dr+W[2]):(Rt=te[1]+(kr+Dr-pe.displaySize[1])/2,ur=Rt+pe.displaySize[1]),{image:pe,top:Rt,right:tr,bottom:ur,left:vr,collisionPadding:Re}}let tb=255,v0=128,fm=tb*v0;function RC(R,A){let{expression:F}=A;if(F.kind===\"constant\")return{kind:\"constant\",layoutSize:F.evaluate(new rs(R+1))};if(F.kind===\"source\")return{kind:\"source\"};{let{zoomStops:W,interpolationType:te}=F,fe=0;for(;fepe.id),this.index=A.index,this.pixelRatio=A.pixelRatio,this.sourceLayerIndex=A.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Ii([]),this.placementViewportMatrix=Ii([]);let F=this.layers[0]._unevaluatedLayout._values;this.textSizeData=RC(this.zoom,F[\"text-size\"]),this.iconSizeData=RC(this.zoom,F[\"icon-size\"]);let W=this.layers[0].layout,te=W.get(\"symbol-sort-key\"),fe=W.get(\"symbol-z-order\");this.canOverlap=fS(W,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||fS(W,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||W.get(\"text-ignore-placement\")||W.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=fe!==\"viewport-y\"&&!te.isConstant(),this.sortFeaturesByY=(fe===\"viewport-y\"||fe===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,W.get(\"symbol-placement\")===\"point\"&&(this.writingModes=W.get(\"text-writing-mode\").map(pe=>i.ah[pe])),this.stateDependentLayerIds=this.layers.filter(pe=>pe.isStateDependent()).map(pe=>pe.id),this.sourceID=A.sourceID}createArrays(){this.text=new vS(new Ms(this.layers,this.zoom,A=>/^text/.test(A))),this.icon=new vS(new Ms(this.layers,this.zoom,A=>/^icon/.test(A))),this.glyphOffsetArray=new Co,this.lineVertexArray=new Qa,this.symbolInstances=new $a,this.textAnchorOffsets=new Bo}calculateGlyphDependencies(A,F,W,te,fe){for(let pe=0;pe0)&&(pe.value.kind!==\"constant\"||pe.value.value.length>0),Rt=Ke.value.kind!==\"constant\"||!!Ke.value.value||Object.keys(Ke.parameters).length>0,tr=fe.get(\"symbol-sort-key\");if(this.features=[],!ft&&!Rt)return;let ur=F.iconDependencies,vr=F.glyphDependencies,kr=F.availableImages,Dr=new rs(this.zoom);for(let{feature:li,id:pi,index:vn,sourceLayerIndex:zi}of A){let ln=te._featureFilter.needGeometry,Tn=Sl(li,ln);if(!te._featureFilter.filter(Dr,Tn,W))continue;let pa,ro;if(ln||(Tn.geometry=$s(li)),ft){let Xa=te.getValueAndResolveTokens(\"text-field\",Tn,W,kr),la=ti.factory(Xa),Mo=this.hasRTLText=this.hasRTLText||dS(la);(!Mo||ys.getRTLTextPluginStatus()===\"unavailable\"||Mo&&ys.isParsed())&&(pa=sm(la,te,Tn))}if(Rt){let Xa=te.getValueAndResolveTokens(\"icon-image\",Tn,W,kr);ro=Xa instanceof en?Xa:en.fromString(Xa)}if(!pa&&!ro)continue;let Vo=this.sortFeaturesByKey?tr.evaluate(Tn,{},W):void 0;if(this.features.push({id:pi,text:pa,icon:ro,index:vn,sourceLayerIndex:zi,geometry:Tn.geometry,properties:li.properties,type:Q9[li.type],sortKey:Vo}),ro&&(ur[ro.name]=!0),pa){let Xa=pe.evaluate(Tn,{},W).join(\",\"),la=fe.get(\"text-rotation-alignment\")!==\"viewport\"&&fe.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(i.ah.vertical)>=0;for(let Mo of pa.sections)if(Mo.image)ur[Mo.image.name]=!0;else{let fo=Ka(pa.toString()),lo=Mo.fontStack||Xa,Wn=vr[lo]=vr[lo]||{};this.calculateGlyphDependencies(Mo.text,Wn,la,this.allowVerticalPlacement,fo)}}}fe.get(\"symbol-placement\")===\"line\"&&(this.features=function(li){let pi={},vn={},zi=[],ln=0;function Tn(Xa){zi.push(li[Xa]),ln++}function pa(Xa,la,Mo){let fo=vn[Xa];return delete vn[Xa],vn[la]=fo,zi[fo].geometry[0].pop(),zi[fo].geometry[0]=zi[fo].geometry[0].concat(Mo[0]),fo}function ro(Xa,la,Mo){let fo=pi[la];return delete pi[la],pi[Xa]=fo,zi[fo].geometry[0].shift(),zi[fo].geometry[0]=Mo[0].concat(zi[fo].geometry[0]),fo}function Vo(Xa,la,Mo){let fo=Mo?la[0][la[0].length-1]:la[0][0];return`${Xa}:${fo.x}:${fo.y}`}for(let Xa=0;XaXa.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((li,pi)=>li.sortKey-pi.sortKey)}update(A,F,W){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(A,F,this.layers,W),this.icon.programConfigurations.updatePaintArrays(A,F,this.layers,W))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(A){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(A),this.iconCollisionBox.upload(A)),this.text.upload(A,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(A,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(A,F){let W=this.lineVertexArray.length;if(A.segment!==void 0){let te=A.dist(F[A.segment+1]),fe=A.dist(F[A.segment]),pe={};for(let Re=A.segment+1;Re=0;Re--)pe[Re]={x:F[Re].x,y:F[Re].y,tileUnitDistanceFromAnchor:fe},Re>0&&(fe+=F[Re-1].dist(F[Re]));for(let Re=0;Re0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(A,F){let W=A.placedSymbolArray.get(F),te=W.vertexStartIndex+4*W.numGlyphs;for(let fe=W.vertexStartIndex;fete[Re]-te[Ke]||fe[Ke]-fe[Re]),pe}addToSortKeyRanges(A,F){let W=this.sortKeyRanges[this.sortKeyRanges.length-1];W&&W.sortKey===F?W.symbolInstanceEnd=A+1:this.sortKeyRanges.push({sortKey:F,symbolInstanceStart:A,symbolInstanceEnd:A+1})}sortFeatures(A){if(this.sortFeaturesByY&&this.sortedAngle!==A&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(A),this.sortedAngle=A,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let F of this.symbolInstanceIndexes){let W=this.symbolInstances.get(F);this.featureSortOrder.push(W.featureIndex),[W.rightJustifiedTextSymbolIndex,W.centerJustifiedTextSymbolIndex,W.leftJustifiedTextSymbolIndex].forEach((te,fe,pe)=>{te>=0&&pe.indexOf(te)===fe&&this.addIndicesForPlacedSymbol(this.text,te)}),W.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,W.verticalPlacedTextSymbolIndex),W.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,W.placedIconSymbolIndex),W.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,W.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Tf,rb;Fi(\"SymbolBucket\",R1,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),R1.MAX_GLYPHS=65535,R1.addDynamicAttributes=hS;var Ww={get paint(){return rb=rb||new ue({\"icon-opacity\":new oo(ce.paint_symbol[\"icon-opacity\"]),\"icon-color\":new oo(ce.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new oo(ce.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new oo(ce.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new oo(ce.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Ua(ce.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Ua(ce.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new oo(ce.paint_symbol[\"text-opacity\"]),\"text-color\":new oo(ce.paint_symbol[\"text-color\"],{runtimeType:Xt,getOverride:R=>R.textColor,hasOverride:R=>!!R.textColor}),\"text-halo-color\":new oo(ce.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new oo(ce.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new oo(ce.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Ua(ce.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Ua(ce.paint_symbol[\"text-translate-anchor\"])})},get layout(){return Tf=Tf||new ue({\"symbol-placement\":new Ua(ce.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Ua(ce.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Ua(ce.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new oo(ce.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Ua(ce.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Ua(ce.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Ua(ce.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Ua(ce.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Ua(ce.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Ua(ce.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new oo(ce.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Ua(ce.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Ua(ce.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new oo(ce.layout_symbol[\"icon-image\"]),\"icon-rotate\":new oo(ce.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new oo(ce.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Ua(ce.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new oo(ce.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new oo(ce.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Ua(ce.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Ua(ce.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Ua(ce.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new oo(ce.layout_symbol[\"text-field\"]),\"text-font\":new oo(ce.layout_symbol[\"text-font\"]),\"text-size\":new oo(ce.layout_symbol[\"text-size\"]),\"text-max-width\":new oo(ce.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Ua(ce.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new oo(ce.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new oo(ce.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new oo(ce.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Ua(ce.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new oo(ce.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new oo(ce.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Ua(ce.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Ua(ce.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new oo(ce.layout_symbol[\"text-rotate\"]),\"text-padding\":new Ua(ce.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Ua(ce.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new oo(ce.layout_symbol[\"text-transform\"]),\"text-offset\":new oo(ce.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Ua(ce.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Ua(ce.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Ua(ce.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Ua(ce.layout_symbol[\"text-optional\"])})}};class ib{constructor(A){if(A.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=A.property.overrides?A.property.overrides.runtimeType:Tt,this.defaultValue=A}evaluate(A){if(A.formattedSection){let F=this.defaultValue.property.overrides;if(F&&F.hasOverride(A.formattedSection))return F.getOverride(A.formattedSection)}return A.feature&&A.featureState?this.defaultValue.evaluate(A.feature,A.featureState):this.defaultValue.property.specification.default}eachChild(A){this.defaultValue.isConstant()||A(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Fi(\"FormatSectionOverride\",ib,{omit:[\"defaultValue\"]});class gy extends B{constructor(A){super(A,Ww)}recalculate(A,F){if(super.recalculate(A,F),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let W=this.layout.get(\"text-writing-mode\");if(W){let te=[];for(let fe of W)te.indexOf(fe)<0&&te.push(fe);this.layout._values[\"text-writing-mode\"]=te}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(A,F,W,te){let fe=this.layout.get(A).evaluate(F,{},W,te),pe=this._unevaluatedLayout._values[A];return pe.isDataDriven()||Dc(pe.value)||!fe?fe:function(Re,Ke){return Ke.replace(/{([^{}]+)}/g,(ft,Rt)=>Re&&Rt in Re?String(Re[Rt]):\"\")}(F.properties,fe)}createBucket(A){return new R1(A)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let A of Ww.paint.overridableProperties){if(!gy.hasPaintOverride(this.layout,A))continue;let F=this.paint.get(A),W=new ib(F),te=new Eu(W,F.property.specification),fe=null;fe=F.value.kind===\"constant\"||F.value.kind===\"source\"?new bc(\"source\",te):new hu(\"composite\",te,F.value.zoomStops),this.paint._values[A]=new xu(F.property,fe,F.parameters)}}_handleOverridablePaintPropertyUpdate(A,F,W){return!(!this.layout||F.isDataDriven()||W.isDataDriven())&&gy.hasPaintOverride(this.layout,A)}static hasPaintOverride(A,F){let W=A.get(\"text-field\"),te=Ww.paint.properties[F],fe=!1,pe=Re=>{for(let Ke of Re)if(te.overrides&&te.overrides.hasOverride(Ke))return void(fe=!0)};if(W.value.kind===\"constant\"&&W.value.value instanceof ti)pe(W.value.value.sections);else if(W.value.kind===\"source\"){let Re=ft=>{fe||(ft instanceof ua&&Mn(ft.value)===ei?pe(ft.value.sections):ft instanceof Yl?pe(ft.sections):ft.eachChild(Re))},Ke=W.value;Ke._styleExpression&&Re(Ke._styleExpression.expression)}return fe}}let DC;var nb={get paint(){return DC=DC||new ue({\"background-color\":new Ua(ce.paint_background[\"background-color\"]),\"background-pattern\":new hc(ce.paint_background[\"background-pattern\"]),\"background-opacity\":new Ua(ce.paint_background[\"background-opacity\"])})}};class tq extends B{constructor(A){super(A,nb)}}let pS;var FC={get paint(){return pS=pS||new ue({\"raster-opacity\":new Ua(ce.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Ua(ce.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Ua(ce.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Ua(ce.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Ua(ce.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Ua(ce.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Ua(ce.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Ua(ce.paint_raster[\"raster-fade-duration\"])})}};class ab extends B{constructor(A){super(A,FC)}}class gS extends B{constructor(A){super(A,{}),this.onAdd=F=>{this.implementation.onAdd&&this.implementation.onAdd(F,F.painter.context.gl)},this.onRemove=F=>{this.implementation.onRemove&&this.implementation.onRemove(F,F.painter.context.gl)},this.implementation=A}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class mS{constructor(A){this._methodToThrottle=A,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}let yS=63710088e-1;class pg{constructor(A,F){if(isNaN(A)||isNaN(F))throw new Error(`Invalid LngLat object: (${A}, ${F})`);if(this.lng=+A,this.lat=+F,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new pg(T(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(A){let F=Math.PI/180,W=this.lat*F,te=A.lat*F,fe=Math.sin(W)*Math.sin(te)+Math.cos(W)*Math.cos(te)*Math.cos((A.lng-this.lng)*F);return yS*Math.acos(Math.min(fe,1))}static convert(A){if(A instanceof pg)return A;if(Array.isArray(A)&&(A.length===2||A.length===3))return new pg(Number(A[0]),Number(A[1]));if(!Array.isArray(A)&&typeof A==\"object\"&&A!==null)return new pg(Number(\"lng\"in A?A.lng:A.lon),Number(A.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 [, ]\")}}let D1=2*Math.PI*yS;function zC(R){return D1*Math.cos(R*Math.PI/180)}function Xw(R){return(180+R)/360}function qC(R){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R*Math.PI/360)))/360}function Zw(R,A){return R/zC(A)}function ob(R){return 360/Math.PI*Math.atan(Math.exp((180-360*R)*Math.PI/180))-90}class sb{constructor(A,F,W=0){this.x=+A,this.y=+F,this.z=+W}static fromLngLat(A,F=0){let W=pg.convert(A);return new sb(Xw(W.lng),qC(W.lat),Zw(F,W.lat))}toLngLat(){return new pg(360*this.x-180,ob(this.y))}toAltitude(){return this.z*zC(ob(this.y))}meterInMercatorCoordinateUnits(){return 1/D1*(A=ob(this.y),1/Math.cos(A*Math.PI/180));var A}}function yp(R,A,F){var W=2*Math.PI*6378137/256/Math.pow(2,F);return[R*W-2*Math.PI*6378137/2,A*W-2*Math.PI*6378137/2]}class _S{constructor(A,F,W){if(!function(te,fe,pe){return!(te<0||te>25||pe<0||pe>=Math.pow(2,te)||fe<0||fe>=Math.pow(2,te))}(A,F,W))throw new Error(`x=${F}, y=${W}, z=${A} outside of bounds. 0<=x<${Math.pow(2,A)}, 0<=y<${Math.pow(2,A)} 0<=z<=25 `);this.z=A,this.x=F,this.y=W,this.key=lb(0,A,A,F,W)}equals(A){return this.z===A.z&&this.x===A.x&&this.y===A.y}url(A,F,W){let te=(pe=this.y,Re=this.z,Ke=yp(256*(fe=this.x),256*(pe=Math.pow(2,Re)-pe-1),Re),ft=yp(256*(fe+1),256*(pe+1),Re),Ke[0]+\",\"+Ke[1]+\",\"+ft[0]+\",\"+ft[1]);var fe,pe,Re,Ke,ft;let Rt=function(tr,ur,vr){let kr,Dr=\"\";for(let li=tr;li>0;li--)kr=1<1?\"@2x\":\"\").replace(/{quadkey}/g,Rt).replace(/{bbox-epsg-3857}/g,te)}isChildOf(A){let F=this.z-A.z;return F>0&&A.x===this.x>>F&&A.y===this.y>>F}getTilePoint(A){let F=Math.pow(2,this.z);return new u((A.x*F-this.x)*ja,(A.y*F-this.y)*ja)}toString(){return`${this.z}/${this.x}/${this.y}`}}class OC{constructor(A,F){this.wrap=A,this.canonical=F,this.key=lb(A,F.z,F.z,F.x,F.y)}}class $v{constructor(A,F,W,te,fe){if(A= z; overscaledZ = ${A}; z = ${W}`);this.overscaledZ=A,this.wrap=F,this.canonical=new _S(W,+te,+fe),this.key=lb(F,A,W,te,fe)}clone(){return new $v(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(A){return this.overscaledZ===A.overscaledZ&&this.wrap===A.wrap&&this.canonical.equals(A.canonical)}scaledTo(A){if(A>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${A}; overscaledZ = ${this.overscaledZ}`);let F=this.canonical.z-A;return A>this.canonical.z?new $v(A,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new $v(A,this.wrap,A,this.canonical.x>>F,this.canonical.y>>F)}calculateScaledKey(A,F){if(A>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${A}; overscaledZ = ${this.overscaledZ}`);let W=this.canonical.z-A;return A>this.canonical.z?lb(this.wrap*+F,A,this.canonical.z,this.canonical.x,this.canonical.y):lb(this.wrap*+F,A,A,this.canonical.x>>W,this.canonical.y>>W)}isChildOf(A){if(A.wrap!==this.wrap)return!1;let F=this.canonical.z-A.canonical.z;return A.overscaledZ===0||A.overscaledZ>F&&A.canonical.y===this.canonical.y>>F}children(A){if(this.overscaledZ>=A)return[new $v(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let F=this.canonical.z+1,W=2*this.canonical.x,te=2*this.canonical.y;return[new $v(F,this.wrap,F,W,te),new $v(F,this.wrap,F,W+1,te),new $v(F,this.wrap,F,W,te+1),new $v(F,this.wrap,F,W+1,te+1)]}isLessThan(A){return this.wrapA.wrap)&&(this.overscaledZA.overscaledZ)&&(this.canonical.xA.canonical.x)&&this.canonical.ythis.max&&(this.max=tr),tr=this.dim+1||F<-1||F>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(F+1)*this.stride+(A+1)}unpack(A,F,W){return A*this.redFactor+F*this.greenFactor+W*this.blueFactor-this.baseShift}getPixels(){return new Ki({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(A,F,W){if(this.dim!==A.dim)throw new Error(\"dem dimension mismatch\");let te=F*this.dim,fe=F*this.dim+this.dim,pe=W*this.dim,Re=W*this.dim+this.dim;switch(F){case-1:te=fe-1;break;case 1:fe=te+1}switch(W){case-1:pe=Re-1;break;case 1:Re=pe+1}let Ke=-F*this.dim,ft=-W*this.dim;for(let Rt=pe;Rt=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${A} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[A]}}class xS{constructor(A,F,W,te,fe){this.type=\"Feature\",this._vectorTileFeature=A,A._z=F,A._x=W,A._y=te,this.properties=A.properties,this.id=fe}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(A){this._geometry=A}toJSON(){let A={geometry:this.geometry};for(let F in this)F!==\"_geometry\"&&F!==\"_vectorTileFeature\"&&(A[F]=this[F]);return A}}class my{constructor(A,F){this.tileID=A,this.x=A.canonical.x,this.y=A.canonical.y,this.z=A.canonical.z,this.grid=new $i(ja,16,0),this.grid3D=new $i(ja,16,0),this.featureIndexArray=new Ts,this.promoteId=F}insert(A,F,W,te,fe,pe){let Re=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(W,te,fe);let Ke=pe?this.grid3D:this.grid;for(let ft=0;ft=0&&tr[3]>=0&&Ke.insert(Re,tr[0],tr[1],tr[2],tr[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new yr.VectorTile(new lS(this.rawTileData)).layers,this.sourceLayerCoder=new NC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(A,F,W,te){this.loadVTLayers();let fe=A.params||{},pe=ja/A.tileSize/A.scale,Re=Fc(fe.filter),Ke=A.queryGeometry,ft=A.queryPadding*pe,Rt=VC(Ke),tr=this.grid.query(Rt.minX-ft,Rt.minY-ft,Rt.maxX+ft,Rt.maxY+ft),ur=VC(A.cameraQueryGeometry),vr=this.grid3D.query(ur.minX-ft,ur.minY-ft,ur.maxX+ft,ur.maxY+ft,(li,pi,vn,zi)=>function(ln,Tn,pa,ro,Vo){for(let la of ln)if(Tn<=la.x&&pa<=la.y&&ro>=la.x&&Vo>=la.y)return!0;let Xa=[new u(Tn,pa),new u(Tn,Vo),new u(ro,Vo),new u(ro,pa)];if(ln.length>2){for(let la of Xa)if(Ni(ln,la))return!0}for(let la=0;la(zi||(zi=$s(ln)),Tn.queryIntersectsFeature(Ke,ln,pa,zi,this.z,A.transform,pe,A.pixelPosMatrix)))}return kr}loadMatchingFeature(A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr){let ur=this.bucketLayerIDs[F];if(pe&&!function(li,pi){for(let vn=0;vn=0)return!0;return!1}(pe,ur))return;let vr=this.sourceLayerCoder.decode(W),kr=this.vtLayers[vr].feature(te);if(fe.needGeometry){let li=Sl(kr,!0);if(!fe.filter(new rs(this.tileID.overscaledZ),li,this.tileID.canonical))return}else if(!fe.filter(new rs(this.tileID.overscaledZ),kr))return;let Dr=this.getId(kr,vr);for(let li=0;li{let Re=A instanceof Ac?A.get(pe):null;return Re&&Re.evaluate?Re.evaluate(F,W,te):Re})}function VC(R){let A=1/0,F=1/0,W=-1/0,te=-1/0;for(let fe of R)A=Math.min(A,fe.x),F=Math.min(F,fe.y),W=Math.max(W,fe.x),te=Math.max(te,fe.y);return{minX:A,minY:F,maxX:W,maxY:te}}function rq(R,A){return A-R}function GC(R,A,F,W,te){let fe=[];for(let pe=0;pe=W&&tr.x>=W||(Rt.x>=W?Rt=new u(W,Rt.y+(W-Rt.x)/(tr.x-Rt.x)*(tr.y-Rt.y))._round():tr.x>=W&&(tr=new u(W,Rt.y+(W-Rt.x)/(tr.x-Rt.x)*(tr.y-Rt.y))._round()),Rt.y>=te&&tr.y>=te||(Rt.y>=te?Rt=new u(Rt.x+(te-Rt.y)/(tr.y-Rt.y)*(tr.x-Rt.x),te)._round():tr.y>=te&&(tr=new u(Rt.x+(te-Rt.y)/(tr.y-Rt.y)*(tr.x-Rt.x),te)._round()),Ke&&Rt.equals(Ke[Ke.length-1])||(Ke=[Rt],fe.push(Ke)),Ke.push(tr)))))}}return fe}Fi(\"FeatureIndex\",my,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class gg extends u{constructor(A,F,W,te){super(A,F),this.angle=W,te!==void 0&&(this.segment=te)}clone(){return new gg(this.x,this.y,this.angle,this.segment)}}function bS(R,A,F,W,te){if(A.segment===void 0||F===0)return!0;let fe=A,pe=A.segment+1,Re=0;for(;Re>-F/2;){if(pe--,pe<0)return!1;Re-=R[pe].dist(fe),fe=R[pe]}Re+=R[pe].dist(R[pe+1]),pe++;let Ke=[],ft=0;for(;ReW;)ft-=Ke.shift().angleDelta;if(ft>te)return!1;pe++,Re+=Rt.dist(tr)}return!0}function HC(R){let A=0;for(let F=0;Fft){let kr=(ft-Ke)/vr,Dr=Lo.number(tr.x,ur.x,kr),li=Lo.number(tr.y,ur.y,kr),pi=new gg(Dr,li,ur.angleTo(tr),Rt);return pi._round(),!pe||bS(R,pi,Re,pe,A)?pi:void 0}Ke+=vr}}function nq(R,A,F,W,te,fe,pe,Re,Ke){let ft=jC(W,fe,pe),Rt=WC(W,te),tr=Rt*pe,ur=R[0].x===0||R[0].x===Ke||R[0].y===0||R[0].y===Ke;return A-tr=0&&ln=0&&Tn=0&&ur+ft<=Rt){let pa=new gg(ln,Tn,vn,kr);pa._round(),W&&!bS(R,pa,fe,W,te)||vr.push(pa)}}tr+=pi}return Re||vr.length||pe||(vr=XC(R,tr/2,F,W,te,fe,pe,!0,Ke)),vr}Fi(\"Anchor\",gg);let F1=Md;function ZC(R,A,F,W){let te=[],fe=R.image,pe=fe.pixelRatio,Re=fe.paddedRect.w-2*F1,Ke=fe.paddedRect.h-2*F1,ft={x1:R.left,y1:R.top,x2:R.right,y2:R.bottom},Rt=fe.stretchX||[[0,Re]],tr=fe.stretchY||[[0,Ke]],ur=(Wn,Ro)=>Wn+Ro[1]-Ro[0],vr=Rt.reduce(ur,0),kr=tr.reduce(ur,0),Dr=Re-vr,li=Ke-kr,pi=0,vn=vr,zi=0,ln=kr,Tn=0,pa=Dr,ro=0,Vo=li;if(fe.content&&W){let Wn=fe.content,Ro=Wn[2]-Wn[0],uo=Wn[3]-Wn[1];(fe.textFitWidth||fe.textFitHeight)&&(ft=PC(R)),pi=mg(Rt,0,Wn[0]),zi=mg(tr,0,Wn[1]),vn=mg(Rt,Wn[0],Wn[2]),ln=mg(tr,Wn[1],Wn[3]),Tn=Wn[0]-pi,ro=Wn[1]-zi,pa=Ro-vn,Vo=uo-ln}let Xa=ft.x1,la=ft.y1,Mo=ft.x2-Xa,fo=ft.y2-la,lo=(Wn,Ro,uo,$o)=>{let Ju=Yw(Wn.stretch-pi,vn,Mo,Xa),Ou=z1(Wn.fixed-Tn,pa,Wn.stretch,vr),kh=Yw(Ro.stretch-zi,ln,fo,la),Qv=z1(Ro.fixed-ro,Vo,Ro.stretch,kr),ud=Yw(uo.stretch-pi,vn,Mo,Xa),Ch=z1(uo.fixed-Tn,pa,uo.stretch,vr),Vd=Yw($o.stretch-zi,ln,fo,la),Gd=z1($o.fixed-ro,Vo,$o.stretch,kr),Hd=new u(Ju,kh),Af=new u(ud,kh),Lh=new u(ud,Vd),Ed=new u(Ju,Vd),cd=new u(Ou/pe,Qv/pe),Yh=new u(Ch/pe,Gd/pe),Df=A*Math.PI/180;if(Df){let ru=Math.sin(Df),pc=Math.cos(Df),$u=[pc,-ru,ru,pc];Hd._matMult($u),Af._matMult($u),Ed._matMult($u),Lh._matMult($u)}let Fv=Wn.stretch+Wn.fixed,lv=Ro.stretch+Ro.fixed;return{tl:Hd,tr:Af,bl:Ed,br:Lh,tex:{x:fe.paddedRect.x+F1+Fv,y:fe.paddedRect.y+F1+lv,w:uo.stretch+uo.fixed-Fv,h:$o.stretch+$o.fixed-lv},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:cd,pixelOffsetBR:Yh,minFontScaleX:pa/pe/Mo,minFontScaleY:Vo/pe/fo,isSDF:F}};if(W&&(fe.stretchX||fe.stretchY)){let Wn=YC(Rt,Dr,vr),Ro=YC(tr,li,kr);for(let uo=0;uo0&&(Dr=Math.max(10,Dr),this.circleDiameter=Dr)}else{let ur=!((tr=pe.image)===null||tr===void 0)&&tr.content&&(pe.image.textFitWidth||pe.image.textFitHeight)?PC(pe):{x1:pe.left,y1:pe.top,x2:pe.right,y2:pe.bottom};ur.y1=ur.y1*Re-Ke[0],ur.y2=ur.y2*Re+Ke[2],ur.x1=ur.x1*Re-Ke[3],ur.x2=ur.x2*Re+Ke[1];let vr=pe.collisionPadding;if(vr&&(ur.x1-=vr[0]*Re,ur.y1-=vr[1]*Re,ur.x2+=vr[2]*Re,ur.y2+=vr[3]*Re),Rt){let kr=new u(ur.x1,ur.y1),Dr=new u(ur.x2,ur.y1),li=new u(ur.x1,ur.y2),pi=new u(ur.x2,ur.y2),vn=Rt*Math.PI/180;kr._rotate(vn),Dr._rotate(vn),li._rotate(vn),pi._rotate(vn),ur.x1=Math.min(kr.x,Dr.x,li.x,pi.x),ur.x2=Math.max(kr.x,Dr.x,li.x,pi.x),ur.y1=Math.min(kr.y,Dr.y,li.y,pi.y),ur.y2=Math.max(kr.y,Dr.y,li.y,pi.y)}A.emplaceBack(F.x,F.y,ur.x1,ur.y1,ur.x2,ur.y2,W,te,fe)}this.boxEndIndex=A.length}}class Vp{constructor(A=[],F=(W,te)=>Wte?1:0){if(this.data=A,this.length=this.data.length,this.compare=F,this.length>0)for(let W=(this.length>>1)-1;W>=0;W--)this._down(W)}push(A){this.data.push(A),this._up(this.length++)}pop(){if(this.length===0)return;let A=this.data[0],F=this.data.pop();return--this.length>0&&(this.data[0]=F,this._down(0)),A}peek(){return this.data[0]}_up(A){let{data:F,compare:W}=this,te=F[A];for(;A>0;){let fe=A-1>>1,pe=F[fe];if(W(te,pe)>=0)break;F[A]=pe,A=fe}F[A]=te}_down(A){let{data:F,compare:W}=this,te=this.length>>1,fe=F[A];for(;A=0)break;F[A]=F[pe],A=pe}F[A]=fe}}function aq(R,A=1,F=!1){let W=1/0,te=1/0,fe=-1/0,pe=-1/0,Re=R[0];for(let vr=0;vrfe)&&(fe=kr.x),(!vr||kr.y>pe)&&(pe=kr.y)}let Ke=Math.min(fe-W,pe-te),ft=Ke/2,Rt=new Vp([],oq);if(Ke===0)return new u(W,te);for(let vr=W;vrtr.d||!tr.d)&&(tr=vr,F&&console.log(\"found best %d after %d probes\",Math.round(1e4*vr.d)/1e4,ur)),vr.max-tr.d<=A||(ft=vr.h/2,Rt.push(new q1(vr.p.x-ft,vr.p.y-ft,ft,R)),Rt.push(new q1(vr.p.x+ft,vr.p.y-ft,ft,R)),Rt.push(new q1(vr.p.x-ft,vr.p.y+ft,ft,R)),Rt.push(new q1(vr.p.x+ft,vr.p.y+ft,ft,R)),ur+=4)}return F&&(console.log(`num probes: ${ur}`),console.log(`best distance: ${tr.d}`)),tr.p}function oq(R,A){return A.max-R.max}function q1(R,A,F,W){this.p=new u(R,A),this.h=F,this.d=function(te,fe){let pe=!1,Re=1/0;for(let Ke=0;Kete.y!=kr.y>te.y&&te.x<(kr.x-vr.x)*(te.y-vr.y)/(kr.y-vr.y)+vr.x&&(pe=!pe),Re=Math.min(Re,Nr(te,vr,kr))}}return(pe?1:-1)*Math.sqrt(Re)}(this.p,W),this.max=this.d+this.h*Math.SQRT2}var ld;i.aq=void 0,(ld=i.aq||(i.aq={}))[ld.center=1]=\"center\",ld[ld.left=2]=\"left\",ld[ld.right=3]=\"right\",ld[ld.top=4]=\"top\",ld[ld.bottom=5]=\"bottom\",ld[ld[\"top-left\"]=6]=\"top-left\",ld[ld[\"top-right\"]=7]=\"top-right\",ld[ld[\"bottom-left\"]=8]=\"bottom-left\",ld[ld[\"bottom-right\"]=9]=\"bottom-right\";let vm=7,yy=Number.POSITIVE_INFINITY;function wS(R,A){return A[1]!==yy?function(F,W,te){let fe=0,pe=0;switch(W=Math.abs(W),te=Math.abs(te),F){case\"top-right\":case\"top-left\":case\"top\":pe=te-vm;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":pe=-te+vm}switch(F){case\"top-right\":case\"bottom-right\":case\"right\":fe=-W;break;case\"top-left\":case\"bottom-left\":case\"left\":fe=W}return[fe,pe]}(R,A[0],A[1]):function(F,W){let te=0,fe=0;W<0&&(W=0);let pe=W/Math.SQRT2;switch(F){case\"top-right\":case\"top-left\":fe=pe-vm;break;case\"bottom-right\":case\"bottom-left\":fe=-pe+vm;break;case\"bottom\":fe=-W+vm;break;case\"top\":fe=W-vm}switch(F){case\"top-right\":case\"bottom-right\":te=-pe;break;case\"top-left\":case\"bottom-left\":te=pe;break;case\"left\":te=W;break;case\"right\":te=-W}return[te,fe]}(R,A[0])}function KC(R,A,F){var W;let te=R.layout,fe=(W=te.get(\"text-variable-anchor-offset\"))===null||W===void 0?void 0:W.evaluate(A,{},F);if(fe){let Re=fe.values,Ke=[];for(let ft=0;ftur*tu);Rt.startsWith(\"top\")?tr[1]-=vm:Rt.startsWith(\"bottom\")&&(tr[1]+=vm),Ke[ft+1]=tr}return new Zi(Ke)}let pe=te.get(\"text-variable-anchor\");if(pe){let Re;Re=R._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[te.get(\"text-radial-offset\").evaluate(A,{},F)*tu,yy]:te.get(\"text-offset\").evaluate(A,{},F).map(ft=>ft*tu);let Ke=[];for(let ft of pe)Ke.push(ft,wS(ft,Re));return new Zi(Ke)}return null}function TS(R){switch(R){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function sq(R,A,F,W,te,fe,pe,Re,Ke,ft,Rt){let tr=fe.textMaxSize.evaluate(A,{});tr===void 0&&(tr=pe);let ur=R.layers[0].layout,vr=ur.get(\"icon-offset\").evaluate(A,{},Rt),kr=$C(F.horizontal),Dr=pe/24,li=R.tilePixelRatio*Dr,pi=R.tilePixelRatio*tr/24,vn=R.tilePixelRatio*Re,zi=R.tilePixelRatio*ur.get(\"symbol-spacing\"),ln=ur.get(\"text-padding\")*R.tilePixelRatio,Tn=function(Wn,Ro,uo,$o=1){let Ju=Wn.get(\"icon-padding\").evaluate(Ro,{},uo),Ou=Ju&&Ju.values;return[Ou[0]*$o,Ou[1]*$o,Ou[2]*$o,Ou[3]*$o]}(ur,A,Rt,R.tilePixelRatio),pa=ur.get(\"text-max-angle\")/180*Math.PI,ro=ur.get(\"text-rotation-alignment\")!==\"viewport\"&&ur.get(\"symbol-placement\")!==\"point\",Vo=ur.get(\"icon-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",Xa=ur.get(\"symbol-placement\"),la=zi/2,Mo=ur.get(\"icon-text-fit\"),fo;W&&Mo!==\"none\"&&(R.allowVerticalPlacement&&F.vertical&&(fo=IC(W,F.vertical,Mo,ur.get(\"icon-text-fit-padding\"),vr,Dr)),kr&&(W=IC(W,kr,Mo,ur.get(\"icon-text-fit-padding\"),vr,Dr)));let lo=(Wn,Ro)=>{Ro.x<0||Ro.x>=ja||Ro.y<0||Ro.y>=ja||function(uo,$o,Ju,Ou,kh,Qv,ud,Ch,Vd,Gd,Hd,Af,Lh,Ed,cd,Yh,Df,Fv,lv,ru,pc,$u,zv,ff,O1){let p0=uo.addToLineVertexArray($o,Ju),Gp,ep,Gc,Yf,tp=0,yg=0,uv=0,B1=0,kS=-1,Qw=-1,g0={},_y=xi(\"\");if(uo.allowVerticalPlacement&&Ou.vertical){let kd=Ch.layout.get(\"text-rotate\").evaluate(pc,{},ff)+90;Gc=new dm(Vd,$o,Gd,Hd,Af,Ou.vertical,Lh,Ed,cd,kd),ud&&(Yf=new dm(Vd,$o,Gd,Hd,Af,ud,Df,Fv,cd,kd))}if(kh){let kd=Ch.layout.get(\"icon-rotate\").evaluate(pc,{}),rp=Ch.layout.get(\"icon-text-fit\")!==\"none\",pm=ZC(kh,kd,zv,rp),jd=ud?ZC(ud,kd,zv,rp):void 0;ep=new dm(Vd,$o,Gd,Hd,Af,kh,Df,Fv,!1,kd),tp=4*pm.length;let Cd=uo.iconSizeData,xp=null;Cd.kind===\"source\"?(xp=[v0*Ch.layout.get(\"icon-size\").evaluate(pc,{})],xp[0]>fm&&E(`${uo.layerIds[0]}: Value for \"icon-size\" is >= ${tb}. Reduce your \"icon-size\".`)):Cd.kind===\"composite\"&&(xp=[v0*$u.compositeIconSizes[0].evaluate(pc,{},ff),v0*$u.compositeIconSizes[1].evaluate(pc,{},ff)],(xp[0]>fm||xp[1]>fm)&&E(`${uo.layerIds[0]}: Value for \"icon-size\" is >= ${tb}. Reduce your \"icon-size\".`)),uo.addSymbols(uo.icon,pm,xp,ru,lv,pc,i.ah.none,$o,p0.lineStartIndex,p0.lineLength,-1,ff),kS=uo.icon.placedSymbolArray.length-1,jd&&(yg=4*jd.length,uo.addSymbols(uo.icon,jd,xp,ru,lv,pc,i.ah.vertical,$o,p0.lineStartIndex,p0.lineLength,-1,ff),Qw=uo.icon.placedSymbolArray.length-1)}let Kh=Object.keys(Ou.horizontal);for(let kd of Kh){let rp=Ou.horizontal[kd];if(!Gp){_y=xi(rp.text);let jd=Ch.layout.get(\"text-rotate\").evaluate(pc,{},ff);Gp=new dm(Vd,$o,Gd,Hd,Af,rp,Lh,Ed,cd,jd)}let pm=rp.positionedLines.length===1;if(uv+=JC(uo,$o,rp,Qv,Ch,cd,pc,Yh,p0,Ou.vertical?i.ah.horizontal:i.ah.horizontalOnly,pm?Kh:[kd],g0,kS,$u,ff),pm)break}Ou.vertical&&(B1+=JC(uo,$o,Ou.vertical,Qv,Ch,cd,pc,Yh,p0,i.ah.vertical,[\"vertical\"],g0,Qw,$u,ff));let cq=Gp?Gp.boxStartIndex:uo.collisionBoxArray.length,e3=Gp?Gp.boxEndIndex:uo.collisionBoxArray.length,m0=Gc?Gc.boxStartIndex:uo.collisionBoxArray.length,cv=Gc?Gc.boxEndIndex:uo.collisionBoxArray.length,r6=ep?ep.boxStartIndex:uo.collisionBoxArray.length,fq=ep?ep.boxEndIndex:uo.collisionBoxArray.length,i6=Yf?Yf.boxStartIndex:uo.collisionBoxArray.length,hq=Yf?Yf.boxEndIndex:uo.collisionBoxArray.length,_p=-1,fb=(kd,rp)=>kd&&kd.circleDiameter?Math.max(kd.circleDiameter,rp):rp;_p=fb(Gp,_p),_p=fb(Gc,_p),_p=fb(ep,_p),_p=fb(Yf,_p);let t3=_p>-1?1:0;t3&&(_p*=O1/tu),uo.glyphOffsetArray.length>=R1.MAX_GLYPHS&&E(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),pc.sortKey!==void 0&&uo.addToSortKeyRanges(uo.symbolInstances.length,pc.sortKey);let CS=KC(Ch,pc,ff),[dq,vq]=function(kd,rp){let pm=kd.length,jd=rp==null?void 0:rp.values;if((jd==null?void 0:jd.length)>0)for(let Cd=0;Cd=0?g0.right:-1,g0.center>=0?g0.center:-1,g0.left>=0?g0.left:-1,g0.vertical||-1,kS,Qw,_y,cq,e3,m0,cv,r6,fq,i6,hq,Gd,uv,B1,tp,yg,t3,0,Lh,_p,dq,vq)}(R,Ro,Wn,F,W,te,fo,R.layers[0],R.collisionBoxArray,A.index,A.sourceLayerIndex,R.index,li,[ln,ln,ln,ln],ro,Ke,vn,Tn,Vo,vr,A,fe,ft,Rt,pe)};if(Xa===\"line\")for(let Wn of GC(A.geometry,0,0,ja,ja)){let Ro=nq(Wn,zi,pa,F.vertical||kr,W,24,pi,R.overscaling,ja);for(let uo of Ro)kr&&lq(R,kr.text,la,uo)||lo(Wn,uo)}else if(Xa===\"line-center\"){for(let Wn of A.geometry)if(Wn.length>1){let Ro=iq(Wn,pa,F.vertical||kr,W,24,pi);Ro&&lo(Wn,Ro)}}else if(A.type===\"Polygon\")for(let Wn of Cf(A.geometry,0)){let Ro=aq(Wn,16);lo(Wn[0],new gg(Ro.x,Ro.y,0))}else if(A.type===\"LineString\")for(let Wn of A.geometry)lo(Wn,new gg(Wn[0].x,Wn[0].y,0));else if(A.type===\"Point\")for(let Wn of A.geometry)for(let Ro of Wn)lo([Ro],new gg(Ro.x,Ro.y,0))}function JC(R,A,F,W,te,fe,pe,Re,Ke,ft,Rt,tr,ur,vr,kr){let Dr=function(vn,zi,ln,Tn,pa,ro,Vo,Xa){let la=Tn.layout.get(\"text-rotate\").evaluate(ro,{})*Math.PI/180,Mo=[];for(let fo of zi.positionedLines)for(let lo of fo.positionedGlyphs){if(!lo.rect)continue;let Wn=lo.rect||{},Ro=EC+1,uo=!0,$o=1,Ju=0,Ou=(pa||Xa)&&lo.vertical,kh=lo.metrics.advance*lo.scale/2;if(Xa&&zi.verticalizable&&(Ju=fo.lineOffset/2-(lo.imageName?-(tu-lo.metrics.width*lo.scale)/2:(lo.scale-1)*tu)),lo.imageName){let ru=Vo[lo.imageName];uo=ru.sdf,$o=ru.pixelRatio,Ro=Md/$o}let Qv=pa?[lo.x+kh,lo.y]:[0,0],ud=pa?[0,0]:[lo.x+kh+ln[0],lo.y+ln[1]-Ju],Ch=[0,0];Ou&&(Ch=ud,ud=[0,0]);let Vd=lo.metrics.isDoubleResolution?2:1,Gd=(lo.metrics.left-Ro)*lo.scale-kh+ud[0],Hd=(-lo.metrics.top-Ro)*lo.scale+ud[1],Af=Gd+Wn.w/Vd*lo.scale/$o,Lh=Hd+Wn.h/Vd*lo.scale/$o,Ed=new u(Gd,Hd),cd=new u(Af,Hd),Yh=new u(Gd,Lh),Df=new u(Af,Lh);if(Ou){let ru=new u(-kh,kh-Eh),pc=-Math.PI/2,$u=tu/2-kh,zv=new u(5-Eh-$u,-(lo.imageName?$u:0)),ff=new u(...Ch);Ed._rotateAround(pc,ru)._add(zv)._add(ff),cd._rotateAround(pc,ru)._add(zv)._add(ff),Yh._rotateAround(pc,ru)._add(zv)._add(ff),Df._rotateAround(pc,ru)._add(zv)._add(ff)}if(la){let ru=Math.sin(la),pc=Math.cos(la),$u=[pc,-ru,ru,pc];Ed._matMult($u),cd._matMult($u),Yh._matMult($u),Df._matMult($u)}let Fv=new u(0,0),lv=new u(0,0);Mo.push({tl:Ed,tr:cd,bl:Yh,br:Df,tex:Wn,writingMode:zi.writingMode,glyphOffset:Qv,sectionIndex:lo.sectionIndex,isSDF:uo,pixelOffsetTL:Fv,pixelOffsetBR:lv,minFontScaleX:0,minFontScaleY:0})}return Mo}(0,F,Re,te,fe,pe,W,R.allowVerticalPlacement),li=R.textSizeData,pi=null;li.kind===\"source\"?(pi=[v0*te.layout.get(\"text-size\").evaluate(pe,{})],pi[0]>fm&&E(`${R.layerIds[0]}: Value for \"text-size\" is >= ${tb}. Reduce your \"text-size\".`)):li.kind===\"composite\"&&(pi=[v0*vr.compositeTextSizes[0].evaluate(pe,{},kr),v0*vr.compositeTextSizes[1].evaluate(pe,{},kr)],(pi[0]>fm||pi[1]>fm)&&E(`${R.layerIds[0]}: Value for \"text-size\" is >= ${tb}. Reduce your \"text-size\".`)),R.addSymbols(R.text,Dr,pi,Re,fe,pe,ft,A,Ke.lineStartIndex,Ke.lineLength,ur,kr);for(let vn of Rt)tr[vn]=R.text.placedSymbolArray.length-1;return 4*Dr.length}function $C(R){for(let A in R)return R[A];return null}function lq(R,A,F,W){let te=R.compareText;if(A in te){let fe=te[A];for(let pe=fe.length-1;pe>=0;pe--)if(W.dist(fe[pe])>4;if(te!==1)throw new Error(`Got v${te} data when expected v1.`);let fe=QC[15&W];if(!fe)throw new Error(\"Unrecognized array type.\");let[pe]=new Uint16Array(A,2,1),[Re]=new Uint32Array(A,4,1);return new AS(Re,pe,fe,A)}constructor(A,F=64,W=Float64Array,te){if(isNaN(A)||A<0)throw new Error(`Unpexpected numItems value: ${A}.`);this.numItems=+A,this.nodeSize=Math.min(Math.max(+F,2),65535),this.ArrayType=W,this.IndexArrayType=A<65536?Uint16Array:Uint32Array;let fe=QC.indexOf(this.ArrayType),pe=2*A*this.ArrayType.BYTES_PER_ELEMENT,Re=A*this.IndexArrayType.BYTES_PER_ELEMENT,Ke=(8-Re%8)%8;if(fe<0)throw new Error(`Unexpected typed array class: ${W}.`);te&&te instanceof ArrayBuffer?(this.data=te,this.ids=new this.IndexArrayType(this.data,8,A),this.coords=new this.ArrayType(this.data,8+Re+Ke,2*A),this._pos=2*A,this._finished=!0):(this.data=new ArrayBuffer(8+pe+Re+Ke),this.ids=new this.IndexArrayType(this.data,8,A),this.coords=new this.ArrayType(this.data,8+Re+Ke,2*A),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+fe]),new Uint16Array(this.data,2,1)[0]=F,new Uint32Array(this.data,4,1)[0]=A)}add(A,F){let W=this._pos>>1;return this.ids[W]=W,this.coords[this._pos++]=A,this.coords[this._pos++]=F,W}finish(){let A=this._pos>>1;if(A!==this.numItems)throw new Error(`Added ${A} items when expected ${this.numItems}.`);return Kw(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(A,F,W,te){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:fe,coords:pe,nodeSize:Re}=this,Ke=[0,fe.length-1,0],ft=[];for(;Ke.length;){let Rt=Ke.pop()||0,tr=Ke.pop()||0,ur=Ke.pop()||0;if(tr-ur<=Re){for(let li=ur;li<=tr;li++){let pi=pe[2*li],vn=pe[2*li+1];pi>=A&&pi<=W&&vn>=F&&vn<=te&&ft.push(fe[li])}continue}let vr=ur+tr>>1,kr=pe[2*vr],Dr=pe[2*vr+1];kr>=A&&kr<=W&&Dr>=F&&Dr<=te&&ft.push(fe[vr]),(Rt===0?A<=kr:F<=Dr)&&(Ke.push(ur),Ke.push(vr-1),Ke.push(1-Rt)),(Rt===0?W>=kr:te>=Dr)&&(Ke.push(vr+1),Ke.push(tr),Ke.push(1-Rt))}return ft}within(A,F,W){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:te,coords:fe,nodeSize:pe}=this,Re=[0,te.length-1,0],Ke=[],ft=W*W;for(;Re.length;){let Rt=Re.pop()||0,tr=Re.pop()||0,ur=Re.pop()||0;if(tr-ur<=pe){for(let li=ur;li<=tr;li++)t6(fe[2*li],fe[2*li+1],A,F)<=ft&&Ke.push(te[li]);continue}let vr=ur+tr>>1,kr=fe[2*vr],Dr=fe[2*vr+1];t6(kr,Dr,A,F)<=ft&&Ke.push(te[vr]),(Rt===0?A-W<=kr:F-W<=Dr)&&(Re.push(ur),Re.push(vr-1),Re.push(1-Rt)),(Rt===0?A+W>=kr:F+W>=Dr)&&(Re.push(vr+1),Re.push(tr),Re.push(1-Rt))}return Ke}}function Kw(R,A,F,W,te,fe){if(te-W<=F)return;let pe=W+te>>1;e6(R,A,pe,W,te,fe),Kw(R,A,F,W,pe-1,1-fe),Kw(R,A,F,pe+1,te,1-fe)}function e6(R,A,F,W,te,fe){for(;te>W;){if(te-W>600){let ft=te-W+1,Rt=F-W+1,tr=Math.log(ft),ur=.5*Math.exp(2*tr/3),vr=.5*Math.sqrt(tr*ur*(ft-ur)/ft)*(Rt-ft/2<0?-1:1);e6(R,A,F,Math.max(W,Math.floor(F-Rt*ur/ft+vr)),Math.min(te,Math.floor(F+(ft-Rt)*ur/ft+vr)),fe)}let pe=A[2*F+fe],Re=W,Ke=te;for(ub(R,A,W,F),A[2*te+fe]>pe&&ub(R,A,W,te);Repe;)Ke--}A[2*W+fe]===pe?ub(R,A,W,Ke):(Ke++,ub(R,A,Ke,te)),Ke<=F&&(W=Ke+1),F<=Ke&&(te=Ke-1)}}function ub(R,A,F,W){SS(R,F,W),SS(A,2*F,2*W),SS(A,2*F+1,2*W+1)}function SS(R,A,F){let W=R[A];R[A]=R[F],R[F]=W}function t6(R,A,F,W){let te=R-F,fe=A-W;return te*te+fe*fe}var Jw;i.bg=void 0,(Jw=i.bg||(i.bg={})).create=\"create\",Jw.load=\"load\",Jw.fullLoad=\"fullLoad\";let cb=null,sh=[],MS=1e3/60,ES=\"loadTime\",$w=\"fullLoadTime\",uq={mark(R){performance.mark(R)},frame(R){let A=R;cb!=null&&sh.push(A-cb),cb=A},clearMetrics(){cb=null,sh=[],performance.clearMeasures(ES),performance.clearMeasures($w);for(let R in i.bg)performance.clearMarks(i.bg[R])},getPerformanceMetrics(){performance.measure(ES,i.bg.create,i.bg.load),performance.measure($w,i.bg.create,i.bg.fullLoad);let R=performance.getEntriesByName(ES)[0].duration,A=performance.getEntriesByName($w)[0].duration,F=sh.length,W=1/(sh.reduce((fe,pe)=>fe+pe,0)/F/1e3),te=sh.filter(fe=>fe>MS).reduce((fe,pe)=>fe+(pe-MS)/MS,0);return{loadTime:R,fullLoadTime:A,fps:W,percentDroppedFrames:te/(F+te)*100,totalFrames:F}}};i.$=class extends Jt{},i.A=yi,i.B=dn,i.C=function(R){if(U==null){let A=R.navigator?R.navigator.userAgent:null;U=!!R.safari||!(!A||!(/\\b(iPad|iPhone|iPod)\\b/.test(A)||A.match(\"Safari\")&&!A.match(\"Chrome\")))}return U},i.D=Ua,i.E=Pe,i.F=class{constructor(R,A){this.target=R,this.mapId=A,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new mS(()=>this.process()),this.subscription=function(F,W,te,fe){return F.addEventListener(W,te,!1),{unsubscribe:()=>{F.removeEventListener(W,te,!1)}}}(this.target,\"message\",F=>this.receive(F)),this.globalScope=q(self)?R:window}registerMessageHandler(R,A){this.messageHandlers[R]=A}sendAsync(R,A){return new Promise((F,W)=>{let te=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[te]={resolve:F,reject:W},A&&A.signal.addEventListener(\"abort\",()=>{delete this.resolveRejects[te];let Re={id:te,type:\"\",origin:location.origin,targetMapId:R.targetMapId,sourceMapId:this.mapId};this.target.postMessage(Re)},{once:!0});let fe=[],pe=Object.assign(Object.assign({},R),{id:te,sourceMapId:this.mapId,origin:location.origin,data:La(R.data,fe)});this.target.postMessage(pe,{transfer:fe})})}receive(R){let A=R.data,F=A.id;if(!(A.origin!==\"file://\"&&location.origin!==\"file://\"&&A.origin!==\"resource://android\"&&location.origin!==\"resource://android\"&&A.origin!==location.origin||A.targetMapId&&this.mapId!==A.targetMapId)){if(A.type===\"\"){delete this.tasks[F];let W=this.abortControllers[F];return delete this.abortControllers[F],void(W&&W.abort())}if(q(self)||A.mustQueue)return this.tasks[F]=A,this.taskQueue.push(F),void this.invoker.trigger();this.processTask(F,A)}}process(){if(this.taskQueue.length===0)return;let R=this.taskQueue.shift(),A=this.tasks[R];delete this.tasks[R],this.taskQueue.length>0&&this.invoker.trigger(),A&&this.processTask(R,A)}processTask(R,A){return a(this,void 0,void 0,function*(){if(A.type===\"\"){let te=this.resolveRejects[R];return delete this.resolveRejects[R],te?void(A.error?te.reject(Na(A.error)):te.resolve(Na(A.data))):void 0}if(!this.messageHandlers[A.type])return void this.completeTask(R,new Error(`Could not find a registered handler for ${A.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));let F=Na(A.data),W=new AbortController;this.abortControllers[R]=W;try{let te=yield this.messageHandlers[A.type](A.sourceMapId,F,W);this.completeTask(R,null,te)}catch(te){this.completeTask(R,te)}})}completeTask(R,A,F){let W=[];delete this.abortControllers[R];let te={id:R,type:\"\",sourceMapId:this.mapId,origin:location.origin,error:A?La(A):null,data:La(F,W)};this.target.postMessage(te,{transfer:W})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},i.G=Ce,i.H=function(){var R=new yi(16);return yi!=Float32Array&&(R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=0,R[12]=0,R[13]=0,R[14]=0),R[0]=1,R[5]=1,R[10]=1,R[15]=1,R},i.I=Nw,i.J=function(R,A,F){var W,te,fe,pe,Re,Ke,ft,Rt,tr,ur,vr,kr,Dr=F[0],li=F[1],pi=F[2];return A===R?(R[12]=A[0]*Dr+A[4]*li+A[8]*pi+A[12],R[13]=A[1]*Dr+A[5]*li+A[9]*pi+A[13],R[14]=A[2]*Dr+A[6]*li+A[10]*pi+A[14],R[15]=A[3]*Dr+A[7]*li+A[11]*pi+A[15]):(te=A[1],fe=A[2],pe=A[3],Re=A[4],Ke=A[5],ft=A[6],Rt=A[7],tr=A[8],ur=A[9],vr=A[10],kr=A[11],R[0]=W=A[0],R[1]=te,R[2]=fe,R[3]=pe,R[4]=Re,R[5]=Ke,R[6]=ft,R[7]=Rt,R[8]=tr,R[9]=ur,R[10]=vr,R[11]=kr,R[12]=W*Dr+Re*li+tr*pi+A[12],R[13]=te*Dr+Ke*li+ur*pi+A[13],R[14]=fe*Dr+ft*li+vr*pi+A[14],R[15]=pe*Dr+Rt*li+kr*pi+A[15]),R},i.K=function(R,A,F){var W=F[0],te=F[1],fe=F[2];return R[0]=A[0]*W,R[1]=A[1]*W,R[2]=A[2]*W,R[3]=A[3]*W,R[4]=A[4]*te,R[5]=A[5]*te,R[6]=A[6]*te,R[7]=A[7]*te,R[8]=A[8]*fe,R[9]=A[9]*fe,R[10]=A[10]*fe,R[11]=A[11]*fe,R[12]=A[12],R[13]=A[13],R[14]=A[14],R[15]=A[15],R},i.L=ui,i.M=function(R,A){let F={};for(let W=0;W{let A=window.document.createElement(\"video\");return A.muted=!0,new Promise(F=>{A.onloadstart=()=>{F(A)};for(let W of R){let te=window.document.createElement(\"source\");Ee(W)||(A.crossOrigin=\"Anonymous\"),te.src=W,A.appendChild(te)}})},i.a4=function(){return x++},i.a5=Ln,i.a6=R1,i.a7=Fc,i.a8=Sl,i.a9=xS,i.aA=function(R){if(R.type===\"custom\")return new gS(R);switch(R.type){case\"background\":return new tq(R);case\"circle\":return new fi(R);case\"fill\":return new _t(R);case\"fill-extrusion\":return new Lv(R);case\"heatmap\":return new sa(R);case\"hillshade\":return new Zs(R);case\"line\":return new hy(R);case\"raster\":return new ab(R);case\"symbol\":return new gy(R)}},i.aB=g,i.aC=function(R,A){if(!R)return[{command:\"setStyle\",args:[A]}];let F=[];try{if(!mt(R.version,A.version))return[{command:\"setStyle\",args:[A]}];mt(R.center,A.center)||F.push({command:\"setCenter\",args:[A.center]}),mt(R.zoom,A.zoom)||F.push({command:\"setZoom\",args:[A.zoom]}),mt(R.bearing,A.bearing)||F.push({command:\"setBearing\",args:[A.bearing]}),mt(R.pitch,A.pitch)||F.push({command:\"setPitch\",args:[A.pitch]}),mt(R.sprite,A.sprite)||F.push({command:\"setSprite\",args:[A.sprite]}),mt(R.glyphs,A.glyphs)||F.push({command:\"setGlyphs\",args:[A.glyphs]}),mt(R.transition,A.transition)||F.push({command:\"setTransition\",args:[A.transition]}),mt(R.light,A.light)||F.push({command:\"setLight\",args:[A.light]}),mt(R.terrain,A.terrain)||F.push({command:\"setTerrain\",args:[A.terrain]}),mt(R.sky,A.sky)||F.push({command:\"setSky\",args:[A.sky]}),mt(R.projection,A.projection)||F.push({command:\"setProjection\",args:[A.projection]});let W={},te=[];(function(pe,Re,Ke,ft){let Rt;for(Rt in Re=Re||{},pe=pe||{})Object.prototype.hasOwnProperty.call(pe,Rt)&&(Object.prototype.hasOwnProperty.call(Re,Rt)||ct(Rt,Ke,ft));for(Rt in Re)Object.prototype.hasOwnProperty.call(Re,Rt)&&(Object.prototype.hasOwnProperty.call(pe,Rt)?mt(pe[Rt],Re[Rt])||(pe[Rt].type===\"geojson\"&&Re[Rt].type===\"geojson\"&&Ht(pe,Re,Rt)?Vt(Ke,{command:\"setGeoJSONSourceData\",args:[Rt,Re[Rt].data]}):Qt(Rt,Re,Ke,ft)):st(Rt,Re,Ke))})(R.sources,A.sources,te,W);let fe=[];R.layers&&R.layers.forEach(pe=>{\"source\"in pe&&W[pe.source]?F.push({command:\"removeLayer\",args:[pe.id]}):fe.push(pe)}),F=F.concat(te),function(pe,Re,Ke){Re=Re||[];let ft=(pe=pe||[]).map(tt),Rt=Re.map(tt),tr=pe.reduce(je,{}),ur=Re.reduce(je,{}),vr=ft.slice(),kr=Object.create(null),Dr,li,pi,vn,zi;for(let ln=0,Tn=0;ln@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(F,W,te,fe)=>{let pe=te||fe;return A[W]=!pe||pe.toLowerCase(),\"\"}),A[\"max-age\"]){let F=parseInt(A[\"max-age\"],10);isNaN(F)?delete A[\"max-age\"]:A[\"max-age\"]=F}return A},i.ab=function(R,A){let F=[];for(let W in R)W in A||F.push(W);return F},i.ac=M,i.ad=function(R,A,F){var W=Math.sin(F),te=Math.cos(F),fe=A[0],pe=A[1],Re=A[2],Ke=A[3],ft=A[4],Rt=A[5],tr=A[6],ur=A[7];return A!==R&&(R[8]=A[8],R[9]=A[9],R[10]=A[10],R[11]=A[11],R[12]=A[12],R[13]=A[13],R[14]=A[14],R[15]=A[15]),R[0]=fe*te+ft*W,R[1]=pe*te+Rt*W,R[2]=Re*te+tr*W,R[3]=Ke*te+ur*W,R[4]=ft*te-fe*W,R[5]=Rt*te-pe*W,R[6]=tr*te-Re*W,R[7]=ur*te-Ke*W,R},i.ae=function(R){var A=new yi(16);return A[0]=R[0],A[1]=R[1],A[2]=R[2],A[3]=R[3],A[4]=R[4],A[5]=R[5],A[6]=R[6],A[7]=R[7],A[8]=R[8],A[9]=R[9],A[10]=R[10],A[11]=R[11],A[12]=R[12],A[13]=R[13],A[14]=R[14],A[15]=R[15],A},i.af=qn,i.ag=function(R,A){let F=0,W=0;if(R.kind===\"constant\")W=R.layoutSize;else if(R.kind!==\"source\"){let{interpolationType:te,minZoom:fe,maxZoom:pe}=R,Re=te?M(ko.interpolationFactor(te,A,fe,pe),0,1):0;R.kind===\"camera\"?W=Lo.number(R.minSize,R.maxSize,Re):F=Re}return{uSizeT:F,uSize:W}},i.ai=function(R,{uSize:A,uSizeT:F},{lowerSize:W,upperSize:te}){return R.kind===\"source\"?W/v0:R.kind===\"composite\"?Lo.number(W/v0,te/v0,F):A},i.aj=hS,i.ak=function(R,A,F,W){let te=A.y-R.y,fe=A.x-R.x,pe=W.y-F.y,Re=W.x-F.x,Ke=pe*fe-Re*te;if(Ke===0)return null;let ft=(Re*(R.y-F.y)-pe*(R.x-F.x))/Ke;return new u(R.x+ft*fe,R.y+ft*te)},i.al=GC,i.am=Sc,i.an=Ii,i.ao=function(R){let A=1/0,F=1/0,W=-1/0,te=-1/0;for(let fe of R)A=Math.min(A,fe.x),F=Math.min(F,fe.y),W=Math.max(W,fe.x),te=Math.max(te,fe.y);return[A,F,W,te]},i.ap=tu,i.ar=fS,i.as=function(R,A){var F=A[0],W=A[1],te=A[2],fe=A[3],pe=A[4],Re=A[5],Ke=A[6],ft=A[7],Rt=A[8],tr=A[9],ur=A[10],vr=A[11],kr=A[12],Dr=A[13],li=A[14],pi=A[15],vn=F*Re-W*pe,zi=F*Ke-te*pe,ln=F*ft-fe*pe,Tn=W*Ke-te*Re,pa=W*ft-fe*Re,ro=te*ft-fe*Ke,Vo=Rt*Dr-tr*kr,Xa=Rt*li-ur*kr,la=Rt*pi-vr*kr,Mo=tr*li-ur*Dr,fo=tr*pi-vr*Dr,lo=ur*pi-vr*li,Wn=vn*lo-zi*fo+ln*Mo+Tn*la-pa*Xa+ro*Vo;return Wn?(R[0]=(Re*lo-Ke*fo+ft*Mo)*(Wn=1/Wn),R[1]=(te*fo-W*lo-fe*Mo)*Wn,R[2]=(Dr*ro-li*pa+pi*Tn)*Wn,R[3]=(ur*pa-tr*ro-vr*Tn)*Wn,R[4]=(Ke*la-pe*lo-ft*Xa)*Wn,R[5]=(F*lo-te*la+fe*Xa)*Wn,R[6]=(li*ln-kr*ro-pi*zi)*Wn,R[7]=(Rt*ro-ur*ln+vr*zi)*Wn,R[8]=(pe*fo-Re*la+ft*Vo)*Wn,R[9]=(W*la-F*fo-fe*Vo)*Wn,R[10]=(kr*pa-Dr*ln+pi*vn)*Wn,R[11]=(tr*ln-Rt*pa-vr*vn)*Wn,R[12]=(Re*Xa-pe*Mo-Ke*Vo)*Wn,R[13]=(F*Mo-W*Xa+te*Vo)*Wn,R[14]=(Dr*zi-kr*Tn-li*vn)*Wn,R[15]=(Rt*Tn-tr*zi+ur*vn)*Wn,R):null},i.at=TS,i.au=Hw,i.av=AS,i.aw=function(){let R={},A=ce.$version;for(let F in ce.$root){let W=ce.$root[F];if(W.required){let te=null;te=F===\"version\"?A:W.type===\"array\"?[]:{},te!=null&&(R[F]=te)}}return R},i.ax=Zn,i.ay=ie,i.az=function(R){R=R.slice();let A=Object.create(null);for(let F=0;F25||W<0||W>=1||F<0||F>=1)},i.bc=function(R,A){return R[0]=A[0],R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=A[1],R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=A[2],R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R},i.bd=class extends Mt{},i.be=yS,i.bf=uq,i.bh=ge,i.bi=function(R,A){_e.REGISTERED_PROTOCOLS[R]=A},i.bj=function(R){delete _e.REGISTERED_PROTOCOLS[R]},i.bk=function(R,A){let F={};for(let te=0;telo*tu)}let Xa=pe?\"center\":F.get(\"text-justify\").evaluate(ft,{},R.canonical),la=F.get(\"symbol-placement\")===\"point\"?F.get(\"text-max-width\").evaluate(ft,{},R.canonical)*tu:1/0,Mo=()=>{R.bucket.allowVerticalPlacement&&Ka(ln)&&(kr.vertical=Qx(Dr,R.glyphMap,R.glyphPositions,R.imagePositions,Rt,la,fe,ro,\"left\",pa,pi,i.ah.vertical,!0,ur,tr))};if(!pe&&Vo){let fo=new Set;if(Xa===\"auto\")for(let Wn=0;Wna(void 0,void 0,void 0,function*(){if(R.byteLength===0)return createImageBitmap(new ImageData(1,1));let A=new Blob([new Uint8Array(R)],{type:\"image/png\"});try{return createImageBitmap(A)}catch(F){throw new Error(`Could not load image because of ${F.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),i.e=L,i.f=R=>new Promise((A,F)=>{let W=new Image;W.onload=()=>{A(W),URL.revokeObjectURL(W.src),W.onload=null,window.requestAnimationFrame(()=>{W.src=Z})},W.onerror=()=>F(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));let te=new Blob([new Uint8Array(R)],{type:\"image/png\"});W.src=R.byteLength?URL.createObjectURL(te):Z}),i.g=ke,i.h=(R,A)=>Se(L(R,{type:\"json\"}),A),i.i=q,i.j=me,i.k=Le,i.l=(R,A)=>Se(L(R,{type:\"arrayBuffer\"}),A),i.m=Se,i.n=function(R){return new lS(R).readFields(OQ,[])},i.o=aa,i.p=cS,i.q=ue,i.r=Wi,i.s=Ee,i.t=Yi,i.u=Mi,i.v=ce,i.w=E,i.x=function([R,A,F]){return A+=90,A*=Math.PI/180,F*=Math.PI/180,{x:R*Math.cos(A)*Math.sin(F),y:R*Math.sin(A)*Math.sin(F),z:R*Math.cos(F)}},i.y=Lo,i.z=rs}),r(\"worker\",[\"./shared\"],function(i){\"use strict\";class a{constructor(Ge){this.keyCache={},Ge&&this.replace(Ge)}replace(Ge){this._layerConfigs={},this._layers={},this.update(Ge,[])}update(Ge,Je){for(let et of Ge){this._layerConfigs[et.id]=et;let xt=this._layers[et.id]=i.aA(et);xt._featureFilter=i.a7(xt.filter),this.keyCache[et.id]&&delete this.keyCache[et.id]}for(let et of Je)delete this.keyCache[et],delete this._layerConfigs[et],delete this._layers[et];this.familiesBySource={};let We=i.bk(Object.values(this._layerConfigs),this.keyCache);for(let et of We){let xt=et.map(Ir=>this._layers[Ir.id]),At=xt[0];if(At.visibility===\"none\")continue;let Kt=At.source||\"\",er=this.familiesBySource[Kt];er||(er=this.familiesBySource[Kt]={});let Sr=At.sourceLayer||\"_geojsonTileLayer\",Gr=er[Sr];Gr||(Gr=er[Sr]=[]),Gr.push(xt)}}}class o{constructor(Ge){let Je={},We=[];for(let Kt in Ge){let er=Ge[Kt],Sr=Je[Kt]={};for(let Gr in er){let Ir=er[+Gr];if(!Ir||Ir.bitmap.width===0||Ir.bitmap.height===0)continue;let Yr={x:0,y:0,w:Ir.bitmap.width+2,h:Ir.bitmap.height+2};We.push(Yr),Sr[Gr]={rect:Yr,metrics:Ir.metrics}}}let{w:et,h:xt}=i.p(We),At=new i.o({width:et||1,height:xt||1});for(let Kt in Ge){let er=Ge[Kt];for(let Sr in er){let Gr=er[+Sr];if(!Gr||Gr.bitmap.width===0||Gr.bitmap.height===0)continue;let Ir=Je[Kt][Sr].rect;i.o.copy(Gr.bitmap,At,{x:0,y:0},{x:Ir.x+1,y:Ir.y+1},Gr.bitmap)}}this.image=At,this.positions=Je}}i.bl(\"GlyphAtlas\",o);class s{constructor(Ge){this.tileID=new i.S(Ge.tileID.overscaledZ,Ge.tileID.wrap,Ge.tileID.canonical.z,Ge.tileID.canonical.x,Ge.tileID.canonical.y),this.uid=Ge.uid,this.zoom=Ge.zoom,this.pixelRatio=Ge.pixelRatio,this.tileSize=Ge.tileSize,this.source=Ge.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ge.showCollisionBoxes,this.collectResourceTiming=!!Ge.collectResourceTiming,this.returnDependencies=!!Ge.returnDependencies,this.promoteId=Ge.promoteId,this.inFlightDependencies=[]}parse(Ge,Je,We,et){return i._(this,void 0,void 0,function*(){this.status=\"parsing\",this.data=Ge,this.collisionBoxArray=new i.a5;let xt=new i.bm(Object.keys(Ge.layers).sort()),At=new i.bn(this.tileID,this.promoteId);At.bucketLayerIDs=[];let Kt={},er={featureIndex:At,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:We},Sr=Je.familiesBySource[this.source];for(let Qn in Sr){let Vi=Ge.layers[Qn];if(!Vi)continue;Vi.version===1&&i.w(`Vector tile source \"${this.source}\" layer \"${Qn}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let Kn=xt.encode(Qn),Jn=[];for(let Gt=0;Gt=wt.maxzoom||wt.visibility!==\"none\"&&(l(Gt,this.zoom,We),(Kt[wt.id]=wt.createBucket({index:At.bucketLayerIDs.length,layers:Gt,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:Kn,sourceID:this.source})).populate(Jn,er,this.tileID.canonical),At.bucketLayerIDs.push(Gt.map(rr=>rr.id)))}}let Gr=i.aF(er.glyphDependencies,Qn=>Object.keys(Qn).map(Number));this.inFlightDependencies.forEach(Qn=>Qn==null?void 0:Qn.abort()),this.inFlightDependencies=[];let Ir=Promise.resolve({});if(Object.keys(Gr).length){let Qn=new AbortController;this.inFlightDependencies.push(Qn),Ir=et.sendAsync({type:\"GG\",data:{stacks:Gr,source:this.source,tileID:this.tileID,type:\"glyphs\"}},Qn)}let Yr=Object.keys(er.iconDependencies),_i=Promise.resolve({});if(Yr.length){let Qn=new AbortController;this.inFlightDependencies.push(Qn),_i=et.sendAsync({type:\"GI\",data:{icons:Yr,source:this.source,tileID:this.tileID,type:\"icons\"}},Qn)}let Pi=Object.keys(er.patternDependencies),ai=Promise.resolve({});if(Pi.length){let Qn=new AbortController;this.inFlightDependencies.push(Qn),ai=et.sendAsync({type:\"GI\",data:{icons:Pi,source:this.source,tileID:this.tileID,type:\"patterns\"}},Qn)}let[mi,un,Fn]=yield Promise.all([Ir,_i,ai]),An=new o(mi),Hn=new i.bo(un,Fn);for(let Qn in Kt){let Vi=Kt[Qn];Vi instanceof i.a6?(l(Vi.layers,this.zoom,We),i.bp({bucket:Vi,glyphMap:mi,glyphPositions:An.positions,imageMap:un,imagePositions:Hn.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Vi.hasPattern&&(Vi instanceof i.bq||Vi instanceof i.br||Vi instanceof i.bs)&&(l(Vi.layers,this.zoom,We),Vi.addFeatures(er,this.tileID.canonical,Hn.patternPositions))}return this.status=\"done\",{buckets:Object.values(Kt).filter(Qn=>!Qn.isEmpty()),featureIndex:At,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:An.image,imageAtlas:Hn,glyphMap:this.returnDependencies?mi:null,iconMap:this.returnDependencies?un:null,glyphPositions:this.returnDependencies?An.positions:null}})}}function l(gt,Ge,Je){let We=new i.z(Ge);for(let et of gt)et.recalculate(We,Je)}class u{constructor(Ge,Je,We){this.actor=Ge,this.layerIndex=Je,this.availableImages=We,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ge,Je){return i._(this,void 0,void 0,function*(){let We=yield i.l(Ge.request,Je);try{return{vectorTile:new i.bt.VectorTile(new i.bu(We.data)),rawData:We.data,cacheControl:We.cacheControl,expires:We.expires}}catch(et){let xt=new Uint8Array(We.data),At=`Unable to parse the tile at ${Ge.request.url}, `;throw At+=xt[0]===31&&xt[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${et.message}`,new Error(At)}})}loadTile(Ge){return i._(this,void 0,void 0,function*(){let Je=Ge.uid,We=!!(Ge&&Ge.request&&Ge.request.collectResourceTiming)&&new i.bv(Ge.request),et=new s(Ge);this.loading[Je]=et;let xt=new AbortController;et.abort=xt;try{let At=yield this.loadVectorTile(Ge,xt);if(delete this.loading[Je],!At)return null;let Kt=At.rawData,er={};At.expires&&(er.expires=At.expires),At.cacheControl&&(er.cacheControl=At.cacheControl);let Sr={};if(We){let Ir=We.finish();Ir&&(Sr.resourceTiming=JSON.parse(JSON.stringify(Ir)))}et.vectorTile=At.vectorTile;let Gr=et.parse(At.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Je]=et,this.fetching[Je]={rawTileData:Kt,cacheControl:er,resourceTiming:Sr};try{let Ir=yield Gr;return i.e({rawTileData:Kt.slice(0)},Ir,er,Sr)}finally{delete this.fetching[Je]}}catch(At){throw delete this.loading[Je],et.status=\"done\",this.loaded[Je]=et,At}})}reloadTile(Ge){return i._(this,void 0,void 0,function*(){let Je=Ge.uid;if(!this.loaded||!this.loaded[Je])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");let We=this.loaded[Je];if(We.showCollisionBoxes=Ge.showCollisionBoxes,We.status===\"parsing\"){let et=yield We.parse(We.vectorTile,this.layerIndex,this.availableImages,this.actor),xt;if(this.fetching[Je]){let{rawTileData:At,cacheControl:Kt,resourceTiming:er}=this.fetching[Je];delete this.fetching[Je],xt=i.e({rawTileData:At.slice(0)},et,Kt,er)}else xt=et;return xt}if(We.status===\"done\"&&We.vectorTile)return We.parse(We.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ge){return i._(this,void 0,void 0,function*(){let Je=this.loading,We=Ge.uid;Je&&Je[We]&&Je[We].abort&&(Je[We].abort.abort(),delete Je[We])})}removeTile(Ge){return i._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ge.uid]&&delete this.loaded[Ge.uid]})}}class c{constructor(){this.loaded={}}loadTile(Ge){return i._(this,void 0,void 0,function*(){let{uid:Je,encoding:We,rawImageData:et,redFactor:xt,greenFactor:At,blueFactor:Kt,baseShift:er}=Ge,Sr=et.width+2,Gr=et.height+2,Ir=i.b(et)?new i.R({width:Sr,height:Gr},yield i.bw(et,-1,-1,Sr,Gr)):et,Yr=new i.bx(Je,Ir,We,xt,At,Kt,er);return this.loaded=this.loaded||{},this.loaded[Je]=Yr,Yr})}removeTile(Ge){let Je=this.loaded,We=Ge.uid;Je&&Je[We]&&delete Je[We]}}function f(gt,Ge){if(gt.length!==0){h(gt[0],Ge);for(var Je=1;Je=Math.abs(Kt)?Je-er+Kt:Kt-er+Je,Je=er}Je+We>=0!=!!Ge&>.reverse()}var d=i.by(function gt(Ge,Je){var We,et=Ge&&Ge.type;if(et===\"FeatureCollection\")for(We=0;We>31}function q(gt,Ge){for(var Je=gt.loadGeometry(),We=gt.type,et=0,xt=0,At=Je.length,Kt=0;Ktgt},j=Math.fround||(N=new Float32Array(1),gt=>(N[0]=+gt,N[0]));var N;let H=3,re=5,oe=6;class _e{constructor(Ge){this.options=Object.assign(Object.create(Z),Ge),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ge){let{log:Je,minZoom:We,maxZoom:et}=this.options;Je&&console.time(\"total time\");let xt=`prepare ${Ge.length} points`;Je&&console.time(xt),this.points=Ge;let At=[];for(let er=0;er=We;er--){let Sr=+Date.now();Kt=this.trees[er]=this._createTree(this._cluster(Kt,er)),Je&&console.log(\"z%d: %d clusters in %dms\",er,Kt.numItems,+Date.now()-Sr)}return Je&&console.timeEnd(\"total time\"),this}getClusters(Ge,Je){let We=((Ge[0]+180)%360+360)%360-180,et=Math.max(-90,Math.min(90,Ge[1])),xt=Ge[2]===180?180:((Ge[2]+180)%360+360)%360-180,At=Math.max(-90,Math.min(90,Ge[3]));if(Ge[2]-Ge[0]>=360)We=-180,xt=180;else if(We>xt){let Ir=this.getClusters([We,et,180,At],Je),Yr=this.getClusters([-180,et,xt,At],Je);return Ir.concat(Yr)}let Kt=this.trees[this._limitZoom(Je)],er=Kt.range(ge(We),ie(At),ge(xt),ie(et)),Sr=Kt.data,Gr=[];for(let Ir of er){let Yr=this.stride*Ir;Gr.push(Sr[Yr+re]>1?ke(Sr,Yr,this.clusterProps):this.points[Sr[Yr+H]])}return Gr}getChildren(Ge){let Je=this._getOriginId(Ge),We=this._getOriginZoom(Ge),et=\"No cluster with the specified id.\",xt=this.trees[We];if(!xt)throw new Error(et);let At=xt.data;if(Je*this.stride>=At.length)throw new Error(et);let Kt=this.options.radius/(this.options.extent*Math.pow(2,We-1)),er=xt.within(At[Je*this.stride],At[Je*this.stride+1],Kt),Sr=[];for(let Gr of er){let Ir=Gr*this.stride;At[Ir+4]===Ge&&Sr.push(At[Ir+re]>1?ke(At,Ir,this.clusterProps):this.points[At[Ir+H]])}if(Sr.length===0)throw new Error(et);return Sr}getLeaves(Ge,Je,We){let et=[];return this._appendLeaves(et,Ge,Je=Je||10,We=We||0,0),et}getTile(Ge,Je,We){let et=this.trees[this._limitZoom(Ge)],xt=Math.pow(2,Ge),{extent:At,radius:Kt}=this.options,er=Kt/At,Sr=(We-er)/xt,Gr=(We+1+er)/xt,Ir={features:[]};return this._addTileFeatures(et.range((Je-er)/xt,Sr,(Je+1+er)/xt,Gr),et.data,Je,We,xt,Ir),Je===0&&this._addTileFeatures(et.range(1-er/xt,Sr,1,Gr),et.data,xt,We,xt,Ir),Je===xt-1&&this._addTileFeatures(et.range(0,Sr,er/xt,Gr),et.data,-1,We,xt,Ir),Ir.features.length?Ir:null}getClusterExpansionZoom(Ge){let Je=this._getOriginZoom(Ge)-1;for(;Je<=this.options.maxZoom;){let We=this.getChildren(Ge);if(Je++,We.length!==1)break;Ge=We[0].properties.cluster_id}return Je}_appendLeaves(Ge,Je,We,et,xt){let At=this.getChildren(Je);for(let Kt of At){let er=Kt.properties;if(er&&er.cluster?xt+er.point_count<=et?xt+=er.point_count:xt=this._appendLeaves(Ge,er.cluster_id,We,et,xt):xt1,Gr,Ir,Yr;if(Sr)Gr=Ce(Je,er,this.clusterProps),Ir=Je[er],Yr=Je[er+1];else{let ai=this.points[Je[er+H]];Gr=ai.properties;let[mi,un]=ai.geometry.coordinates;Ir=ge(mi),Yr=ie(un)}let _i={type:1,geometry:[[Math.round(this.options.extent*(Ir*xt-We)),Math.round(this.options.extent*(Yr*xt-et))]],tags:Gr},Pi;Pi=Sr||this.options.generateId?Je[er+H]:this.points[Je[er+H]].id,Pi!==void 0&&(_i.id=Pi),At.features.push(_i)}}_limitZoom(Ge){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ge),this.options.maxZoom+1))}_cluster(Ge,Je){let{radius:We,extent:et,reduce:xt,minPoints:At}=this.options,Kt=We/(et*Math.pow(2,Je)),er=Ge.data,Sr=[],Gr=this.stride;for(let Ir=0;IrJe&&(mi+=er[Fn+re])}if(mi>ai&&mi>=At){let un,Fn=Yr*ai,An=_i*ai,Hn=-1,Qn=((Ir/Gr|0)<<5)+(Je+1)+this.points.length;for(let Vi of Pi){let Kn=Vi*Gr;if(er[Kn+2]<=Je)continue;er[Kn+2]=Je;let Jn=er[Kn+re];Fn+=er[Kn]*Jn,An+=er[Kn+1]*Jn,er[Kn+4]=Qn,xt&&(un||(un=this._map(er,Ir,!0),Hn=this.clusterProps.length,this.clusterProps.push(un)),xt(un,this._map(er,Kn)))}er[Ir+4]=Qn,Sr.push(Fn/mi,An/mi,1/0,Qn,-1,mi),xt&&Sr.push(Hn)}else{for(let un=0;un1)for(let un of Pi){let Fn=un*Gr;if(!(er[Fn+2]<=Je)){er[Fn+2]=Je;for(let An=0;An>5}_getOriginZoom(Ge){return(Ge-this.points.length)%32}_map(Ge,Je,We){if(Ge[Je+re]>1){let At=this.clusterProps[Ge[Je+oe]];return We?Object.assign({},At):At}let et=this.points[Ge[Je+H]].properties,xt=this.options.map(et);return We&&xt===et?Object.assign({},xt):xt}}function ke(gt,Ge,Je){return{type:\"Feature\",id:gt[Ge+H],properties:Ce(gt,Ge,Je),geometry:{type:\"Point\",coordinates:[(We=gt[Ge],360*(We-.5)),Se(gt[Ge+1])]}};var We}function Ce(gt,Ge,Je){let We=gt[Ge+re],et=We>=1e4?`${Math.round(We/1e3)}k`:We>=1e3?Math.round(We/100)/10+\"k\":We,xt=gt[Ge+oe],At=xt===-1?{}:Object.assign({},Je[xt]);return Object.assign(At,{cluster:!0,cluster_id:gt[Ge+H],point_count:We,point_count_abbreviated:et})}function ge(gt){return gt/360+.5}function ie(gt){let Ge=Math.sin(gt*Math.PI/180),Je=.5-.25*Math.log((1+Ge)/(1-Ge))/Math.PI;return Je<0?0:Je>1?1:Je}function Se(gt){let Ge=(180-360*gt)*Math.PI/180;return 360*Math.atan(Math.exp(Ge))/Math.PI-90}function Ee(gt,Ge,Je,We){let et=We,xt=Ge+(Je-Ge>>1),At,Kt=Je-Ge,er=gt[Ge],Sr=gt[Ge+1],Gr=gt[Je],Ir=gt[Je+1];for(let Yr=Ge+3;Yret)At=Yr,et=_i;else if(_i===et){let Pi=Math.abs(Yr-xt);PiWe&&(At-Ge>3&&Ee(gt,Ge,At,We),gt[At+2]=et,Je-At>3&&Ee(gt,At,Je,We))}function we(gt,Ge,Je,We,et,xt){let At=et-Je,Kt=xt-We;if(At!==0||Kt!==0){let er=((gt-Je)*At+(Ge-We)*Kt)/(At*At+Kt*Kt);er>1?(Je=et,We=xt):er>0&&(Je+=At*er,We+=Kt*er)}return At=gt-Je,Kt=Ge-We,At*At+Kt*Kt}function De(gt,Ge,Je,We){let et={id:gt==null?null:gt,type:Ge,geometry:Je,tags:We,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ge===\"Point\"||Ge===\"MultiPoint\"||Ge===\"LineString\")Le(et,Je);else if(Ge===\"Polygon\")Le(et,Je[0]);else if(Ge===\"MultiLineString\")for(let xt of Je)Le(et,xt);else if(Ge===\"MultiPolygon\")for(let xt of Je)Le(et,xt[0]);return et}function Le(gt,Ge){for(let Je=0;Je0&&(At+=We?(et*Gr-Sr*xt)/2:Math.sqrt(Math.pow(Sr-et,2)+Math.pow(Gr-xt,2))),et=Sr,xt=Gr}let Kt=Ge.length-3;Ge[2]=1,Ee(Ge,0,Kt,Je),Ge[Kt+2]=1,Ge.size=Math.abs(At),Ge.start=0,Ge.end=Ge.size}function He(gt,Ge,Je,We){for(let et=0;et1?1:Je}function Vt(gt,Ge,Je,We,et,xt,At,Kt){if(We/=Ge,xt>=(Je/=Ge)&&At=We)return null;let er=[];for(let Sr of gt){let Gr=Sr.geometry,Ir=Sr.type,Yr=et===0?Sr.minX:Sr.minY,_i=et===0?Sr.maxX:Sr.maxY;if(Yr>=Je&&_i=We)continue;let Pi=[];if(Ir===\"Point\"||Ir===\"MultiPoint\")st(Gr,Pi,Je,We,et);else if(Ir===\"LineString\")ct(Gr,Pi,Je,We,et,!1,Kt.lineMetrics);else if(Ir===\"MultiLineString\")Ht(Gr,Pi,Je,We,et,!1);else if(Ir===\"Polygon\")Ht(Gr,Pi,Je,We,et,!0);else if(Ir===\"MultiPolygon\")for(let ai of Gr){let mi=[];Ht(ai,mi,Je,We,et,!0),mi.length&&Pi.push(mi)}if(Pi.length){if(Kt.lineMetrics&&Ir===\"LineString\"){for(let ai of Pi)er.push(De(Sr.id,Ir,ai,Sr.tags));continue}Ir!==\"LineString\"&&Ir!==\"MultiLineString\"||(Pi.length===1?(Ir=\"LineString\",Pi=Pi[0]):Ir=\"MultiLineString\"),Ir!==\"Point\"&&Ir!==\"MultiPoint\"||(Ir=Pi.length===3?\"Point\":\"MultiPoint\"),er.push(De(Sr.id,Ir,Pi,Sr.tags))}}return er.length?er:null}function st(gt,Ge,Je,We,et){for(let xt=0;xt=Je&&At<=We&&nr(Ge,gt[xt],gt[xt+1],gt[xt+2])}}function ct(gt,Ge,Je,We,et,xt,At){let Kt=Qt(gt),er=et===0?tt:je,Sr,Gr,Ir=gt.start;for(let mi=0;miJe&&(Gr=er(Kt,un,Fn,Hn,Qn,Je),At&&(Kt.start=Ir+Sr*Gr)):Vi>We?Kn=Je&&(Gr=er(Kt,un,Fn,Hn,Qn,Je),Jn=!0),Kn>We&&Vi<=We&&(Gr=er(Kt,un,Fn,Hn,Qn,We),Jn=!0),!xt&&Jn&&(At&&(Kt.end=Ir+Sr*Gr),Ge.push(Kt),Kt=Qt(gt)),At&&(Ir+=Sr)}let Yr=gt.length-3,_i=gt[Yr],Pi=gt[Yr+1],ai=et===0?_i:Pi;ai>=Je&&ai<=We&&nr(Kt,_i,Pi,gt[Yr+2]),Yr=Kt.length-3,xt&&Yr>=3&&(Kt[Yr]!==Kt[0]||Kt[Yr+1]!==Kt[1])&&nr(Kt,Kt[0],Kt[1],Kt[2]),Kt.length&&Ge.push(Kt)}function Qt(gt){let Ge=[];return Ge.size=gt.size,Ge.start=gt.start,Ge.end=gt.end,Ge}function Ht(gt,Ge,Je,We,et,xt){for(let At of gt)ct(At,Ge,Je,We,et,xt,!1)}function nr(gt,Ge,Je,We){gt.push(Ge,Je,We)}function tt(gt,Ge,Je,We,et,xt){let At=(xt-Ge)/(We-Ge);return nr(gt,xt,Je+(et-Je)*At,1),At}function je(gt,Ge,Je,We,et,xt){let At=(xt-Je)/(et-Je);return nr(gt,Ge+(We-Ge)*At,xt,1),At}function Ue(gt,Ge){let Je=[];for(let We=0;We0&&Ge.size<(et?At:We))return void(Je.numPoints+=Ge.length/3);let Kt=[];for(let er=0;erAt)&&(Je.numSimplified++,Kt.push(Ge[er],Ge[er+1])),Je.numPoints++;et&&function(er,Sr){let Gr=0;for(let Ir=0,Yr=er.length,_i=Yr-2;Ir0===Sr)for(let Ir=0,Yr=er.length;Ir24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Je.promoteId&&Je.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let et=function(xt,At){let Kt=[];if(xt.type===\"FeatureCollection\")for(let er=0;er1&&console.time(\"creation\"),_i=this.tiles[Yr]=Tt(Ge,Je,We,et,Sr),this.tileCoords.push({z:Je,x:We,y:et}),Gr)){Gr>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Je,We,et,_i.numFeatures,_i.numPoints,_i.numSimplified),console.timeEnd(\"creation\"));let Jn=`z${Je}`;this.stats[Jn]=(this.stats[Jn]||0)+1,this.total++}if(_i.source=Ge,xt==null){if(Je===Sr.indexMaxZoom||_i.numPoints<=Sr.indexMaxPoints)continue}else{if(Je===Sr.maxZoom||Je===xt)continue;if(xt!=null){let Jn=xt-Je;if(We!==At>>Jn||et!==Kt>>Jn)continue}}if(_i.source=null,Ge.length===0)continue;Gr>1&&console.time(\"clipping\");let Pi=.5*Sr.buffer/Sr.extent,ai=.5-Pi,mi=.5+Pi,un=1+Pi,Fn=null,An=null,Hn=null,Qn=null,Vi=Vt(Ge,Ir,We-Pi,We+mi,0,_i.minX,_i.maxX,Sr),Kn=Vt(Ge,Ir,We+ai,We+un,0,_i.minX,_i.maxX,Sr);Ge=null,Vi&&(Fn=Vt(Vi,Ir,et-Pi,et+mi,1,_i.minY,_i.maxY,Sr),An=Vt(Vi,Ir,et+ai,et+un,1,_i.minY,_i.maxY,Sr),Vi=null),Kn&&(Hn=Vt(Kn,Ir,et-Pi,et+mi,1,_i.minY,_i.maxY,Sr),Qn=Vt(Kn,Ir,et+ai,et+un,1,_i.minY,_i.maxY,Sr),Kn=null),Gr>1&&console.timeEnd(\"clipping\"),er.push(Fn||[],Je+1,2*We,2*et),er.push(An||[],Je+1,2*We,2*et+1),er.push(Hn||[],Je+1,2*We+1,2*et),er.push(Qn||[],Je+1,2*We+1,2*et+1)}}getTile(Ge,Je,We){Ge=+Ge,Je=+Je,We=+We;let et=this.options,{extent:xt,debug:At}=et;if(Ge<0||Ge>24)return null;let Kt=1<1&&console.log(\"drilling down to z%d-%d-%d\",Ge,Je,We);let Sr,Gr=Ge,Ir=Je,Yr=We;for(;!Sr&&Gr>0;)Gr--,Ir>>=1,Yr>>=1,Sr=this.tiles[or(Gr,Ir,Yr)];return Sr&&Sr.source?(At>1&&(console.log(\"found parent tile z%d-%d-%d\",Gr,Ir,Yr),console.time(\"drilling down\")),this.splitTile(Sr.source,Gr,Ir,Yr,Ge,Je,We),At>1&&console.timeEnd(\"drilling down\"),this.tiles[er]?rt(this.tiles[er],xt):null):null}}function or(gt,Ge,Je){return 32*((1<{Ir.properties=_i;let Pi={};for(let ai of Yr)Pi[ai]=er[ai].evaluate(Gr,Ir);return Pi},At.reduce=(_i,Pi)=>{Ir.properties=Pi;for(let ai of Yr)Gr.accumulated=_i[ai],_i[ai]=Sr[ai].evaluate(Gr,Ir)},At}(Ge)).load((yield this._pendingData).features):(et=yield this._pendingData,new Xt(et,Ge.geojsonVtOptions)),this.loaded={};let xt={};if(We){let At=We.finish();At&&(xt.resourceTiming={},xt.resourceTiming[Ge.source]=JSON.parse(JSON.stringify(At)))}return xt}catch(xt){if(delete this._pendingRequest,i.bB(xt))return{abandoned:!0};throw xt}var et})}getData(){return i._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ge){let Je=this.loaded;return Je&&Je[Ge.uid]?super.reloadTile(Ge):this.loadTile(Ge)}loadAndProcessGeoJSON(Ge,Je){return i._(this,void 0,void 0,function*(){let We=yield this.loadGeoJSON(Ge,Je);if(delete this._pendingRequest,typeof We!=\"object\")throw new Error(`Input data given to '${Ge.source}' is not a valid GeoJSON object.`);if(d(We,!0),Ge.filter){let et=i.bC(Ge.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(et.result===\"error\")throw new Error(et.value.map(At=>`${At.key}: ${At.message}`).join(\", \"));We={type:\"FeatureCollection\",features:We.features.filter(At=>et.value.evaluate({zoom:0},At))}}return We})}loadGeoJSON(Ge,Je){return i._(this,void 0,void 0,function*(){let{promoteId:We}=Ge;if(Ge.request){let et=yield i.h(Ge.request,Je);return this._dataUpdateable=Er(et.data,We)?ei(et.data,We):void 0,et.data}if(typeof Ge.data==\"string\")try{let et=JSON.parse(Ge.data);return this._dataUpdateable=Er(et,We)?ei(et,We):void 0,et}catch(et){throw new Error(`Input data given to '${Ge.source}' is not a valid GeoJSON object.`)}if(!Ge.dataDiff)throw new Error(`Input data given to '${Ge.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ge.source}`);return function(et,xt,At){var Kt,er,Sr,Gr;if(xt.removeAll&&et.clear(),xt.remove)for(let Ir of xt.remove)et.delete(Ir);if(xt.add)for(let Ir of xt.add){let Yr=_r(Ir,At);Yr!=null&&et.set(Yr,Ir)}if(xt.update)for(let Ir of xt.update){let Yr=et.get(Ir.id);if(Yr==null)continue;let _i=!Ir.removeAllProperties&&(((Kt=Ir.removeProperties)===null||Kt===void 0?void 0:Kt.length)>0||((er=Ir.addOrUpdateProperties)===null||er===void 0?void 0:er.length)>0);if((Ir.newGeometry||Ir.removeAllProperties||_i)&&(Yr=Object.assign({},Yr),et.set(Ir.id,Yr),_i&&(Yr.properties=Object.assign({},Yr.properties))),Ir.newGeometry&&(Yr.geometry=Ir.newGeometry),Ir.removeAllProperties)Yr.properties={};else if(((Sr=Ir.removeProperties)===null||Sr===void 0?void 0:Sr.length)>0)for(let Pi of Ir.removeProperties)Object.prototype.hasOwnProperty.call(Yr.properties,Pi)&&delete Yr.properties[Pi];if(((Gr=Ir.addOrUpdateProperties)===null||Gr===void 0?void 0:Gr.length)>0)for(let{key:Pi,value:ai}of Ir.addOrUpdateProperties)Yr.properties[Pi]=ai}}(this._dataUpdateable,Ge.dataDiff,We),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ge){return i._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ge){return this._geoJSONIndex.getClusterExpansionZoom(Ge.clusterId)}getClusterChildren(Ge){return this._geoJSONIndex.getChildren(Ge.clusterId)}getClusterLeaves(Ge){return this._geoJSONIndex.getLeaves(Ge.clusterId,Ge.limit,Ge.offset)}}class jr{constructor(Ge){this.self=Ge,this.actor=new i.F(Ge),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Je,We)=>{if(this.externalWorkerSourceTypes[Je])throw new Error(`Worker source with name \"${Je}\" already registered.`);this.externalWorkerSourceTypes[Je]=We},this.self.addProtocol=i.bi,this.self.removeProtocol=i.bj,this.self.registerRTLTextPlugin=Je=>{if(i.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");i.bD.setMethods(Je)},this.actor.registerMessageHandler(\"LDT\",(Je,We)=>this._getDEMWorkerSource(Je,We.source).loadTile(We)),this.actor.registerMessageHandler(\"RDT\",(Je,We)=>i._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Je,We.source).removeTile(We)})),this.actor.registerMessageHandler(\"GCEZ\",(Je,We)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Je,We.type,We.source).getClusterExpansionZoom(We)})),this.actor.registerMessageHandler(\"GCC\",(Je,We)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Je,We.type,We.source).getClusterChildren(We)})),this.actor.registerMessageHandler(\"GCL\",(Je,We)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Je,We.type,We.source).getClusterLeaves(We)})),this.actor.registerMessageHandler(\"LD\",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).loadData(We)),this.actor.registerMessageHandler(\"GD\",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).getData()),this.actor.registerMessageHandler(\"LT\",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).loadTile(We)),this.actor.registerMessageHandler(\"RT\",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).reloadTile(We)),this.actor.registerMessageHandler(\"AT\",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).abortTile(We)),this.actor.registerMessageHandler(\"RMT\",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).removeTile(We)),this.actor.registerMessageHandler(\"RS\",(Je,We)=>i._(this,void 0,void 0,function*(){if(!this.workerSources[Je]||!this.workerSources[Je][We.type]||!this.workerSources[Je][We.type][We.source])return;let et=this.workerSources[Je][We.type][We.source];delete this.workerSources[Je][We.type][We.source],et.removeSource!==void 0&&et.removeSource(We)})),this.actor.registerMessageHandler(\"RM\",Je=>i._(this,void 0,void 0,function*(){delete this.layerIndexes[Je],delete this.availableImages[Je],delete this.workerSources[Je],delete this.demWorkerSources[Je]})),this.actor.registerMessageHandler(\"SR\",(Je,We)=>i._(this,void 0,void 0,function*(){this.referrer=We})),this.actor.registerMessageHandler(\"SRPS\",(Je,We)=>this._syncRTLPluginState(Je,We)),this.actor.registerMessageHandler(\"IS\",(Je,We)=>i._(this,void 0,void 0,function*(){this.self.importScripts(We)})),this.actor.registerMessageHandler(\"SI\",(Je,We)=>this._setImages(Je,We)),this.actor.registerMessageHandler(\"UL\",(Je,We)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Je).update(We.layers,We.removedIds)})),this.actor.registerMessageHandler(\"SL\",(Je,We)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Je).replace(We)}))}_setImages(Ge,Je){return i._(this,void 0,void 0,function*(){this.availableImages[Ge]=Je;for(let We in this.workerSources[Ge]){let et=this.workerSources[Ge][We];for(let xt in et)et[xt].availableImages=Je}})}_syncRTLPluginState(Ge,Je){return i._(this,void 0,void 0,function*(){if(i.bD.isParsed())return i.bD.getState();if(Je.pluginStatus!==\"loading\")return i.bD.setState(Je),Je;let We=Je.pluginURL;if(this.self.importScripts(We),i.bD.isParsed()){let et={pluginStatus:\"loaded\",pluginURL:We};return i.bD.setState(et),et}throw i.bD.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${We}`)})}_getAvailableImages(Ge){let Je=this.availableImages[Ge];return Je||(Je=[]),Je}_getLayerIndex(Ge){let Je=this.layerIndexes[Ge];return Je||(Je=this.layerIndexes[Ge]=new a),Je}_getWorkerSource(Ge,Je,We){if(this.workerSources[Ge]||(this.workerSources[Ge]={}),this.workerSources[Ge][Je]||(this.workerSources[Ge][Je]={}),!this.workerSources[Ge][Je][We]){let et={sendAsync:(xt,At)=>(xt.targetMapId=Ge,this.actor.sendAsync(xt,At))};switch(Je){case\"vector\":this.workerSources[Ge][Je][We]=new u(et,this._getLayerIndex(Ge),this._getAvailableImages(Ge));break;case\"geojson\":this.workerSources[Ge][Je][We]=new qr(et,this._getLayerIndex(Ge),this._getAvailableImages(Ge));break;default:this.workerSources[Ge][Je][We]=new this.externalWorkerSourceTypes[Je](et,this._getLayerIndex(Ge),this._getAvailableImages(Ge))}}return this.workerSources[Ge][Je][We]}_getDEMWorkerSource(Ge,Je){return this.demWorkerSources[Ge]||(this.demWorkerSources[Ge]={}),this.demWorkerSources[Ge][Je]||(this.demWorkerSources[Ge][Je]=new c),this.demWorkerSources[Ge][Je]}}return i.i(self)&&(self.worker=new jr(self)),jr}),r(\"index\",[\"exports\",\"./shared\"],function(i,a){\"use strict\";var o=\"4.7.1\";let s,l,u={now:typeof performance!=\"undefined\"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:ue=>new Promise((w,B)=>{let Q=requestAnimationFrame(w);ue.signal.addEventListener(\"abort\",()=>{cancelAnimationFrame(Q),B(a.c())})}),getImageData(ue,w=0){return this.getImageCanvasContext(ue).getImageData(-w,-w,ue.width+2*w,ue.height+2*w)},getImageCanvasContext(ue){let w=window.document.createElement(\"canvas\"),B=w.getContext(\"2d\",{willReadFrequently:!0});if(!B)throw new Error(\"failed to create canvas 2d context\");return w.width=ue.width,w.height=ue.height,B.drawImage(ue,0,0,ue.width,ue.height),B},resolveURL:ue=>(s||(s=document.createElement(\"a\")),s.href=ue,s.href),hardwareConcurrency:typeof navigator!=\"undefined\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia(\"(prefers-reduced-motion: reduce)\")),l.matches)}};class c{static testProp(w){if(!c.docStyle)return w[0];for(let B=0;B{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static getScale(w){let B=w.getBoundingClientRect();return{x:B.width/w.offsetWidth||1,y:B.height/w.offsetHeight||1,boundingClientRect:B}}static getPoint(w,B,Q){let ee=B.boundingClientRect;return new a.P((Q.clientX-ee.left)/B.x-w.clientLeft,(Q.clientY-ee.top)/B.y-w.clientTop)}static mousePos(w,B){let Q=c.getScale(w);return c.getPoint(w,Q,B)}static touchPos(w,B){let Q=[],ee=c.getScale(w);for(let le=0;le{h&&b(h),h=null,m=!0},d.onerror=()=>{v=!0,h=null},d.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(ue){let w,B,Q,ee;ue.resetRequestQueue=()=>{w=[],B=0,Q=0,ee={}},ue.addThrottleControl=ut=>{let Mt=Q++;return ee[Mt]=ut,Mt},ue.removeThrottleControl=ut=>{delete ee[ut],ze()},ue.getImage=(ut,Mt,Jt=!0)=>new Promise(($t,mr)=>{f.supported&&(ut.headers||(ut.headers={}),ut.headers.accept=\"image/webp,*/*\"),a.e(ut,{type:\"image\"}),w.push({abortController:Mt,requestParameters:ut,supportImageRefresh:Jt,state:\"queued\",onError:Cr=>{mr(Cr)},onSuccess:Cr=>{$t(Cr)}}),ze()});let le=ut=>a._(this,void 0,void 0,function*(){ut.state=\"running\";let{requestParameters:Mt,supportImageRefresh:Jt,onError:$t,onSuccess:mr,abortController:Cr}=ut,ve=Jt===!1&&!a.i(self)&&!a.g(Mt.url)&&(!Mt.headers||Object.keys(Mt.headers).reduce((qe,Qe)=>qe&&Qe===\"accept\",!0));B++;let xe=ve?Ze(Mt,Cr):a.m(Mt,Cr);try{let qe=yield xe;delete ut.abortController,ut.state=\"completed\",qe.data instanceof HTMLImageElement||a.b(qe.data)?mr(qe):qe.data&&mr({data:yield(Ie=qe.data,typeof createImageBitmap==\"function\"?a.d(Ie):a.f(Ie)),cacheControl:qe.cacheControl,expires:qe.expires})}catch(qe){delete ut.abortController,$t(qe)}finally{B--,ze()}var Ie}),ze=()=>{let ut=(()=>{for(let Mt of Object.keys(ee))if(ee[Mt]())return!0;return!1})()?a.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:a.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let Mt=B;Mt0;Mt++){let Jt=w.shift();Jt.abortController.signal.aborted?Mt--:le(Jt)}},Ze=(ut,Mt)=>new Promise((Jt,$t)=>{let mr=new Image,Cr=ut.url,ve=ut.credentials;ve&&ve===\"include\"?mr.crossOrigin=\"use-credentials\":(ve&&ve===\"same-origin\"||!a.s(Cr))&&(mr.crossOrigin=\"anonymous\"),Mt.signal.addEventListener(\"abort\",()=>{mr.src=\"\",$t(a.c())}),mr.fetchPriority=\"high\",mr.onload=()=>{mr.onerror=mr.onload=null,Jt({data:mr})},mr.onerror=()=>{mr.onerror=mr.onload=null,Mt.signal.aborted||$t(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))},mr.src=Cr})}(p||(p={})),p.resetRequestQueue();class k{constructor(w){this._transformRequestFn=w}transformRequest(w,B){return this._transformRequestFn&&this._transformRequestFn(w,B)||{url:w}}setTransformRequest(w){this._transformRequestFn=w}}function M(ue){var w=new a.A(3);return w[0]=ue[0],w[1]=ue[1],w[2]=ue[2],w}var T,L=function(ue,w,B){return ue[0]=w[0]-B[0],ue[1]=w[1]-B[1],ue[2]=w[2]-B[2],ue};T=new a.A(3),a.A!=Float32Array&&(T[0]=0,T[1]=0,T[2]=0);var x=function(ue){var w=ue[0],B=ue[1];return w*w+B*B};function C(ue){let w=[];if(typeof ue==\"string\")w.push({id:\"default\",url:ue});else if(ue&&ue.length>0){let B=[];for(let{id:Q,url:ee}of ue){let le=`${Q}${ee}`;B.indexOf(le)===-1&&(B.push(le),w.push({id:Q,url:ee}))}}return w}function S(ue,w,B){let Q=ue.split(\"?\");return Q[0]+=`${w}${B}`,Q.join(\"?\")}(function(){var ue=new a.A(2);a.A!=Float32Array&&(ue[0]=0,ue[1]=0)})();class g{constructor(w,B,Q,ee){this.context=w,this.format=Q,this.texture=w.gl.createTexture(),this.update(B,ee)}update(w,B,Q){let{width:ee,height:le}=w,ze=!(this.size&&this.size[0]===ee&&this.size[1]===le||Q),{context:Ze}=this,{gl:ut}=Ze;if(this.useMipmap=!!(B&&B.useMipmap),ut.bindTexture(ut.TEXTURE_2D,this.texture),Ze.pixelStoreUnpackFlipY.set(!1),Ze.pixelStoreUnpack.set(1),Ze.pixelStoreUnpackPremultiplyAlpha.set(this.format===ut.RGBA&&(!B||B.premultiply!==!1)),ze)this.size=[ee,le],w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?ut.texImage2D(ut.TEXTURE_2D,0,this.format,this.format,ut.UNSIGNED_BYTE,w):ut.texImage2D(ut.TEXTURE_2D,0,this.format,ee,le,0,this.format,ut.UNSIGNED_BYTE,w.data);else{let{x:Mt,y:Jt}=Q||{x:0,y:0};w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?ut.texSubImage2D(ut.TEXTURE_2D,0,Mt,Jt,ut.RGBA,ut.UNSIGNED_BYTE,w):ut.texSubImage2D(ut.TEXTURE_2D,0,Mt,Jt,ee,le,ut.RGBA,ut.UNSIGNED_BYTE,w.data)}this.useMipmap&&this.isSizePowerOfTwo()&&ut.generateMipmap(ut.TEXTURE_2D)}bind(w,B,Q){let{context:ee}=this,{gl:le}=ee;le.bindTexture(le.TEXTURE_2D,this.texture),Q!==le.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Q=le.LINEAR),w!==this.filter&&(le.texParameteri(le.TEXTURE_2D,le.TEXTURE_MAG_FILTER,w),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_MIN_FILTER,Q||w),this.filter=w),B!==this.wrap&&(le.texParameteri(le.TEXTURE_2D,le.TEXTURE_WRAP_S,B),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_WRAP_T,B),this.wrap=B)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:w}=this.context;w.deleteTexture(this.texture),this.texture=null}}function P(ue){let{userImage:w}=ue;return!!(w&&w.render&&w.render())&&(ue.data.replace(new Uint8Array(w.data.buffer)),!0)}class E extends a.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(w){if(this.loaded!==w&&(this.loaded=w,w)){for(let{ids:B,promiseResolve:Q}of this.requestors)Q(this._getImagesForIds(B));this.requestors=[]}}getImage(w){let B=this.images[w];if(B&&!B.data&&B.spriteData){let Q=B.spriteData;B.data=new a.R({width:Q.width,height:Q.height},Q.context.getImageData(Q.x,Q.y,Q.width,Q.height).data),B.spriteData=null}return B}addImage(w,B){if(this.images[w])throw new Error(`Image id ${w} already exist, use updateImage instead`);this._validate(w,B)&&(this.images[w]=B)}_validate(w,B){let Q=!0,ee=B.data||B.spriteData;return this._validateStretch(B.stretchX,ee&&ee.width)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchX\" value`))),Q=!1),this._validateStretch(B.stretchY,ee&&ee.height)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchY\" value`))),Q=!1),this._validateContent(B.content,B)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"content\" value`))),Q=!1),Q}_validateStretch(w,B){if(!w)return!0;let Q=0;for(let ee of w){if(ee[0]{let ee=!0;if(!this.isLoaded())for(let le of w)this.images[le]||(ee=!1);this.isLoaded()||ee?B(this._getImagesForIds(w)):this.requestors.push({ids:w,promiseResolve:B})})}_getImagesForIds(w){let B={};for(let Q of w){let ee=this.getImage(Q);ee||(this.fire(new a.k(\"styleimagemissing\",{id:Q})),ee=this.getImage(Q)),ee?B[Q]={data:ee.data.clone(),pixelRatio:ee.pixelRatio,sdf:ee.sdf,version:ee.version,stretchX:ee.stretchX,stretchY:ee.stretchY,content:ee.content,textFitWidth:ee.textFitWidth,textFitHeight:ee.textFitHeight,hasRenderCallback:!!(ee.userImage&&ee.userImage.render)}:a.w(`Image \"${Q}\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.`)}return B}getPixelSize(){let{width:w,height:B}=this.atlasImage;return{width:w,height:B}}getPattern(w){let B=this.patterns[w],Q=this.getImage(w);if(!Q)return null;if(B&&B.position.version===Q.version)return B.position;if(B)B.position.version=Q.version;else{let ee={w:Q.data.width+2,h:Q.data.height+2,x:0,y:0},le=new a.I(ee,Q);this.patterns[w]={bin:ee,position:le}}return this._updatePatternAtlas(),this.patterns[w].position}bind(w){let B=w.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new g(w,this.atlasImage,B.RGBA),this.atlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE)}_updatePatternAtlas(){let w=[];for(let le in this.patterns)w.push(this.patterns[le].bin);let{w:B,h:Q}=a.p(w),ee=this.atlasImage;ee.resize({width:B||1,height:Q||1});for(let le in this.patterns){let{bin:ze}=this.patterns[le],Ze=ze.x+1,ut=ze.y+1,Mt=this.getImage(le).data,Jt=Mt.width,$t=Mt.height;a.R.copy(Mt,ee,{x:0,y:0},{x:Ze,y:ut},{width:Jt,height:$t}),a.R.copy(Mt,ee,{x:0,y:$t-1},{x:Ze,y:ut-1},{width:Jt,height:1}),a.R.copy(Mt,ee,{x:0,y:0},{x:Ze,y:ut+$t},{width:Jt,height:1}),a.R.copy(Mt,ee,{x:Jt-1,y:0},{x:Ze-1,y:ut},{width:1,height:$t}),a.R.copy(Mt,ee,{x:0,y:0},{x:Ze+Jt,y:ut},{width:1,height:$t})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(w){for(let B of w){if(this.callbackDispatchedThisFrame[B])continue;this.callbackDispatchedThisFrame[B]=!0;let Q=this.getImage(B);Q||a.w(`Image with ID: \"${B}\" was not found`),P(Q)&&this.updateImage(B,Q)}}}let z=1e20;function q(ue,w,B,Q,ee,le,ze,Ze,ut){for(let Mt=w;Mt-1);ut++,le[ut]=Ze,ze[ut]=Mt,ze[ut+1]=z}for(let Ze=0,ut=0;Ze65535)throw new Error(\"glyphs > 65535 not supported\");if(Q.ranges[le])return{stack:w,id:B,glyph:ee};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!Q.requests[le]){let Ze=G.loadGlyphRange(w,le,this.url,this.requestManager);Q.requests[le]=Ze}let ze=yield Q.requests[le];for(let Ze in ze)this._doesCharSupportLocalGlyph(+Ze)||(Q.glyphs[+Ze]=ze[+Ze]);return Q.ranges[le]=!0,{stack:w,id:B,glyph:ze[B]||null}})}_doesCharSupportLocalGlyph(w){return!!this.localIdeographFontFamily&&new RegExp(\"\\\\p{Ideo}|\\\\p{sc=Hang}|\\\\p{sc=Hira}|\\\\p{sc=Kana}\",\"u\").test(String.fromCodePoint(w))}_tinySDF(w,B,Q){let ee=this.localIdeographFontFamily;if(!ee||!this._doesCharSupportLocalGlyph(Q))return;let le=w.tinySDF;if(!le){let Ze=\"400\";/bold/i.test(B)?Ze=\"900\":/medium/i.test(B)?Ze=\"500\":/light/i.test(B)&&(Ze=\"200\"),le=w.tinySDF=new G.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:ee,fontWeight:Ze})}let ze=le.draw(String.fromCharCode(Q));return{id:Q,bitmap:new a.o({width:ze.width||60,height:ze.height||60},ze.data),metrics:{width:ze.glyphWidth/2||24,height:ze.glyphHeight/2||24,left:ze.glyphLeft/2+.5||0,top:ze.glyphTop/2-27.5||-8,advance:ze.glyphAdvance/2||24,isDoubleResolution:!0}}}}G.loadGlyphRange=function(ue,w,B,Q){return a._(this,void 0,void 0,function*(){let ee=256*w,le=ee+255,ze=Q.transformRequest(B.replace(\"{fontstack}\",ue).replace(\"{range}\",`${ee}-${le}`),\"Glyphs\"),Ze=yield a.l(ze,new AbortController);if(!Ze||!Ze.data)throw new Error(`Could not load glyph range. range: ${w}, ${ee}-${le}`);let ut={};for(let Mt of a.n(Ze.data))ut[Mt.id]=Mt;return ut})},G.TinySDF=class{constructor({fontSize:ue=24,buffer:w=3,radius:B=8,cutoff:Q=.25,fontFamily:ee=\"sans-serif\",fontWeight:le=\"normal\",fontStyle:ze=\"normal\"}={}){this.buffer=w,this.cutoff=Q,this.radius=B;let Ze=this.size=ue+4*w,ut=this._createCanvas(Ze),Mt=this.ctx=ut.getContext(\"2d\",{willReadFrequently:!0});Mt.font=`${ze} ${le} ${ue}px ${ee}`,Mt.textBaseline=\"alphabetic\",Mt.textAlign=\"left\",Mt.fillStyle=\"black\",this.gridOuter=new Float64Array(Ze*Ze),this.gridInner=new Float64Array(Ze*Ze),this.f=new Float64Array(Ze),this.z=new Float64Array(Ze+1),this.v=new Uint16Array(Ze)}_createCanvas(ue){let w=document.createElement(\"canvas\");return w.width=w.height=ue,w}draw(ue){let{width:w,actualBoundingBoxAscent:B,actualBoundingBoxDescent:Q,actualBoundingBoxLeft:ee,actualBoundingBoxRight:le}=this.ctx.measureText(ue),ze=Math.ceil(B),Ze=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(le-ee))),ut=Math.min(this.size-this.buffer,ze+Math.ceil(Q)),Mt=Ze+2*this.buffer,Jt=ut+2*this.buffer,$t=Math.max(Mt*Jt,0),mr=new Uint8ClampedArray($t),Cr={data:mr,width:Mt,height:Jt,glyphWidth:Ze,glyphHeight:ut,glyphTop:ze,glyphLeft:0,glyphAdvance:w};if(Ze===0||ut===0)return Cr;let{ctx:ve,buffer:xe,gridInner:Ie,gridOuter:qe}=this;ve.clearRect(xe,xe,Ze,ut),ve.fillText(ue,xe,xe+ze);let Qe=ve.getImageData(xe,xe,Ze,ut);qe.fill(z,0,$t),Ie.fill(0,0,$t);for(let Xe=0;Xe0?ar*ar:0,Ie[jt]=ar<0?ar*ar:0}}q(qe,0,0,Mt,Jt,Mt,this.f,this.v,this.z),q(Ie,xe,xe,Ze,ut,Mt,this.f,this.v,this.z);for(let Xe=0;Xe<$t;Xe++){let nt=Math.sqrt(qe[Xe])-Math.sqrt(Ie[Xe]);mr[Xe]=Math.round(255-255*(nt/this.radius+this.cutoff))}return Cr}};class Z{constructor(){this.specification=a.v.light.position}possiblyEvaluate(w,B){return a.x(w.expression.evaluate(B))}interpolate(w,B,Q){return{x:a.y.number(w.x,B.x,Q),y:a.y.number(w.y,B.y,Q),z:a.y.number(w.z,B.z,Q)}}}let j;class N extends a.E{constructor(w){super(),j=j||new a.q({anchor:new a.D(a.v.light.anchor),position:new Z,color:new a.D(a.v.light.color),intensity:new a.D(a.v.light.intensity)}),this._transitionable=new a.T(j),this.setLight(w),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(w,B={}){if(!this._validate(a.r,w,B))for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q){return(!Q||Q.validate!==!1)&&a.t(this,w.call(a.u,{value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v}))}}let H=new a.q({\"sky-color\":new a.D(a.v.sky[\"sky-color\"]),\"horizon-color\":new a.D(a.v.sky[\"horizon-color\"]),\"fog-color\":new a.D(a.v.sky[\"fog-color\"]),\"fog-ground-blend\":new a.D(a.v.sky[\"fog-ground-blend\"]),\"horizon-fog-blend\":new a.D(a.v.sky[\"horizon-fog-blend\"]),\"sky-horizon-blend\":new a.D(a.v.sky[\"sky-horizon-blend\"]),\"atmosphere-blend\":new a.D(a.v.sky[\"atmosphere-blend\"])});class re extends a.E{constructor(w){super(),this._transitionable=new a.T(H),this.setSky(w),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new a.z(0))}setSky(w,B={}){if(!this._validate(a.B,w,B)){w||(w={\"sky-color\":\"transparent\",\"horizon-color\":\"transparent\",\"fog-color\":\"transparent\",\"fog-ground-blend\":1,\"atmosphere-blend\":0});for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}}getSky(){return this._transitionable.serialize()}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q={}){return(Q==null?void 0:Q.validate)!==!1&&a.t(this,w.call(a.u,a.e({value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v})))}calculateFogBlendOpacity(w){return w<60?0:w<70?(w-60)/10:1}}class oe{constructor(w,B){this.width=w,this.height=B,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(w,B){let Q=w.join(\",\")+String(B);return this.dashEntry[Q]||(this.dashEntry[Q]=this.addDash(w,B)),this.dashEntry[Q]}getDashRanges(w,B,Q){let ee=[],le=w.length%2==1?-w[w.length-1]*Q:0,ze=w[0]*Q,Ze=!0;ee.push({left:le,right:ze,isDash:Ze,zeroLength:w[0]===0});let ut=w[0];for(let Mt=1;Mt1&&(ut=w[++Ze]);let Jt=Math.abs(Mt-ut.left),$t=Math.abs(Mt-ut.right),mr=Math.min(Jt,$t),Cr,ve=le/Q*(ee+1);if(ut.isDash){let xe=ee-Math.abs(ve);Cr=Math.sqrt(mr*mr+xe*xe)}else Cr=ee-Math.sqrt(mr*mr+ve*ve);this.data[ze+Mt]=Math.max(0,Math.min(255,Cr+128))}}}addRegularDash(w){for(let Ze=w.length-1;Ze>=0;--Ze){let ut=w[Ze],Mt=w[Ze+1];ut.zeroLength?w.splice(Ze,1):Mt&&Mt.isDash===ut.isDash&&(Mt.left=ut.left,w.splice(Ze,1))}let B=w[0],Q=w[w.length-1];B.isDash===Q.isDash&&(B.left=Q.left-this.width,Q.right=B.right+this.width);let ee=this.width*this.nextRow,le=0,ze=w[le];for(let Ze=0;Ze1&&(ze=w[++le]);let ut=Math.abs(Ze-ze.left),Mt=Math.abs(Ze-ze.right),Jt=Math.min(ut,Mt);this.data[ee+Ze]=Math.max(0,Math.min(255,(ze.isDash?Jt:-Jt)+128))}}addDash(w,B){let Q=B?7:0,ee=2*Q+1;if(this.nextRow+ee>this.height)return a.w(\"LineAtlas out of space\"),null;let le=0;for(let Ze=0;Ze{B.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[_e]}numActive(){return Object.keys(this.active).length}}let Ce=Math.floor(u.hardwareConcurrency/2),ge,ie;function Se(){return ge||(ge=new ke),ge}ke.workerCount=a.C(globalThis)?Math.max(Math.min(Ce,3),1):1;class Ee{constructor(w,B){this.workerPool=w,this.actors=[],this.currentActor=0,this.id=B;let Q=this.workerPool.acquire(B);for(let ee=0;ee{B.remove()}),this.actors=[],w&&this.workerPool.release(this.id)}registerMessageHandler(w,B){for(let Q of this.actors)Q.registerMessageHandler(w,B)}}function we(){return ie||(ie=new Ee(Se(),a.G),ie.registerMessageHandler(\"GR\",(ue,w,B)=>a.m(w,B))),ie}function De(ue,w){let B=a.H();return a.J(B,B,[1,1,0]),a.K(B,B,[.5*ue.width,.5*ue.height,1]),a.L(B,B,ue.calculatePosMatrix(w.toUnwrapped()))}function Le(ue,w,B,Q,ee,le){let ze=function($t,mr,Cr){if($t)for(let ve of $t){let xe=mr[ve];if(xe&&xe.source===Cr&&xe.type===\"fill-extrusion\")return!0}else for(let ve in mr){let xe=mr[ve];if(xe.source===Cr&&xe.type===\"fill-extrusion\")return!0}return!1}(ee&&ee.layers,w,ue.id),Ze=le.maxPitchScaleFactor(),ut=ue.tilesIn(Q,Ze,ze);ut.sort(me);let Mt=[];for(let $t of ut)Mt.push({wrappedTileID:$t.tileID.wrapped().key,queryResults:$t.tile.queryRenderedFeatures(w,B,ue._state,$t.queryGeometry,$t.cameraQueryGeometry,$t.scale,ee,le,Ze,De(ue.transform,$t.tileID))});let Jt=function($t){let mr={},Cr={};for(let ve of $t){let xe=ve.queryResults,Ie=ve.wrappedTileID,qe=Cr[Ie]=Cr[Ie]||{};for(let Qe in xe){let Xe=xe[Qe],nt=qe[Qe]=qe[Qe]||{},qt=mr[Qe]=mr[Qe]||[];for(let jt of Xe)nt[jt.featureIndex]||(nt[jt.featureIndex]=!0,qt.push(jt))}}return mr}(Mt);for(let $t in Jt)Jt[$t].forEach(mr=>{let Cr=mr.feature,ve=ue.getFeatureState(Cr.layer[\"source-layer\"],Cr.id);Cr.source=Cr.layer.source,Cr.layer[\"source-layer\"]&&(Cr.sourceLayer=Cr.layer[\"source-layer\"]),Cr.state=ve});return Jt}function me(ue,w){let B=ue.tileID,Q=w.tileID;return B.overscaledZ-Q.overscaledZ||B.canonical.y-Q.canonical.y||B.wrap-Q.wrap||B.canonical.x-Q.canonical.x}function Pe(ue,w,B){return a._(this,void 0,void 0,function*(){let Q=ue;if(ue.url?Q=(yield a.h(w.transformRequest(ue.url,\"Source\"),B)).data:yield u.frameAsync(B),!Q)return null;let ee=a.M(a.e(Q,ue),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return\"vector_layers\"in Q&&Q.vector_layers&&(ee.vectorLayerIds=Q.vector_layers.map(le=>le.id)),ee})}class ce{constructor(w,B){w&&(B?this.setSouthWest(w).setNorthEast(B):Array.isArray(w)&&(w.length===4?this.setSouthWest([w[0],w[1]]).setNorthEast([w[2],w[3]]):this.setSouthWest(w[0]).setNorthEast(w[1])))}setNorthEast(w){return this._ne=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}setSouthWest(w){return this._sw=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}extend(w){let B=this._sw,Q=this._ne,ee,le;if(w instanceof a.N)ee=w,le=w;else{if(!(w instanceof ce))return Array.isArray(w)?w.length===4||w.every(Array.isArray)?this.extend(ce.convert(w)):this.extend(a.N.convert(w)):w&&(\"lng\"in w||\"lon\"in w)&&\"lat\"in w?this.extend(a.N.convert(w)):this;if(ee=w._sw,le=w._ne,!ee||!le)return this}return B||Q?(B.lng=Math.min(ee.lng,B.lng),B.lat=Math.min(ee.lat,B.lat),Q.lng=Math.max(le.lng,Q.lng),Q.lat=Math.max(le.lat,Q.lat)):(this._sw=new a.N(ee.lng,ee.lat),this._ne=new a.N(le.lng,le.lat)),this}getCenter(){return new a.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new a.N(this.getWest(),this.getNorth())}getSouthEast(){return new a.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(w){let{lng:B,lat:Q}=a.N.convert(w),ee=this._sw.lng<=B&&B<=this._ne.lng;return this._sw.lng>this._ne.lng&&(ee=this._sw.lng>=B&&B>=this._ne.lng),this._sw.lat<=Q&&Q<=this._ne.lat&&ee}static convert(w){return w instanceof ce?w:w&&new ce(w)}static fromLngLat(w,B=0){let Q=360*B/40075017,ee=Q/Math.cos(Math.PI/180*w.lat);return new ce(new a.N(w.lng-ee,w.lat-Q),new a.N(w.lng+ee,w.lat+Q))}adjustAntiMeridian(){let w=new a.N(this._sw.lng,this._sw.lat),B=new a.N(this._ne.lng,this._ne.lat);return new ce(w,w.lng>B.lng?new a.N(B.lng+360,B.lat):B)}}class He{constructor(w,B,Q){this.bounds=ce.convert(this.validateBounds(w)),this.minzoom=B||0,this.maxzoom=Q||24}validateBounds(w){return Array.isArray(w)&&w.length===4?[Math.max(-180,w[0]),Math.max(-90,w[1]),Math.min(180,w[2]),Math.min(90,w[3])]:[-180,-90,180,90]}contains(w){let B=Math.pow(2,w.z),Q=Math.floor(a.O(this.bounds.getWest())*B),ee=Math.floor(a.Q(this.bounds.getNorth())*B),le=Math.ceil(a.O(this.bounds.getEast())*B),ze=Math.ceil(a.Q(this.bounds.getSouth())*B);return w.x>=Q&&w.x=ee&&w.y{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return a.e({},this._options)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q={request:this.map._requestManager.transformRequest(B,\"Tile\"),uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,tileSize:this.tileSize*w.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Q.request.collectResourceTiming=this._collectResourceTiming;let ee=\"RT\";if(w.actor&&w.state!==\"expired\"){if(w.state===\"loading\")return new Promise((le,ze)=>{w.reloadPromise={resolve:le,reject:ze}})}else w.actor=this.dispatcher.getActor(),ee=\"LT\";w.abortController=new AbortController;try{let le=yield w.actor.sendAsync({type:ee,data:Q},w.abortController);if(delete w.abortController,w.aborted)return;this._afterTileLoadWorkerResponse(w,le)}catch(le){if(delete w.abortController,w.aborted)return;if(le&&le.status!==404)throw le;this._afterTileLoadWorkerResponse(w,null)}})}_afterTileLoadWorkerResponse(w,B){if(B&&B.resourceTiming&&(w.resourceTiming=B.resourceTiming),B&&this.map._refreshExpiredTiles&&w.setExpiryData(B),w.loadVectorData(B,this.map.painter),w.reloadPromise){let Q=w.reloadPromise;w.reloadPromise=null,this.loadTile(w).then(Q.resolve).catch(Q.reject)}}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.actor&&(yield w.actor.sendAsync({type:\"AT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),w.actor&&(yield w.actor.sendAsync({type:\"RMT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class mt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.setEventedParent(ee),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=a.e({type:\"raster\"},B),a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\"]))}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Pe(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,w&&(a.e(this,w),w.bounds&&(this.tileBounds=new He(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}onAdd(w){this.map=w,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(w){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}serialize(){return a.e({},this._options)}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);w.abortController=new AbortController;try{let Q=yield p.getImage(this.map._requestManager.transformRequest(B,\"Tile\"),w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(Q&&Q.data){this.map._refreshExpiredTiles&&Q.cacheControl&&Q.expires&&w.setExpiryData({cacheControl:Q.cacheControl,expires:Q.expires});let ee=this.map.painter.context,le=ee.gl,ze=Q.data;w.texture=this.map.painter.getTileTexture(ze.width),w.texture?w.texture.update(ze,{useMipmap:!0}):(w.texture=new g(ee,ze,le.RGBA,{useMipmap:!0}),w.texture.bind(le.LINEAR,le.CLAMP_TO_EDGE,le.LINEAR_MIPMAP_NEAREST)),w.state=\"loaded\"}}catch(Q){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(Q)throw w.state=\"errored\",Q}})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController)})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.texture&&this.map.painter.saveTileTexture(w.texture)})}hasTransition(){return!1}}class Vt extends mt{constructor(w,B,Q,ee){super(w,B,Q,ee),this.type=\"raster-dem\",this.maxzoom=22,this._options=a.e({type:\"raster-dem\"},B),this.encoding=B.encoding||\"mapbox\",this.redFactor=B.redFactor,this.greenFactor=B.greenFactor,this.blueFactor=B.blueFactor,this.baseShift=B.baseShift}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q=this.map._requestManager.transformRequest(B,\"Tile\");w.neighboringTiles=this._getNeighboringTiles(w.tileID),w.abortController=new AbortController;try{let ee=yield p.getImage(Q,w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(ee&&ee.data){let le=ee.data;this.map._refreshExpiredTiles&&ee.cacheControl&&ee.expires&&w.setExpiryData({cacheControl:ee.cacheControl,expires:ee.expires});let ze=a.b(le)&&a.U()?le:yield this.readImageNow(le),Ze={type:this.type,uid:w.uid,source:this.id,rawImageData:ze,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!w.actor||w.state===\"expired\"){w.actor=this.dispatcher.getActor();let ut=yield w.actor.sendAsync({type:\"LDT\",data:Ze});w.dem=ut,w.needsHillshadePrepare=!0,w.needsTerrainPrepare=!0,w.state=\"loaded\"}}}catch(ee){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(ee)throw w.state=\"errored\",ee}})}readImageNow(w){return a._(this,void 0,void 0,function*(){if(typeof VideoFrame!=\"undefined\"&&a.V()){let B=w.width+2,Q=w.height+2;try{return new a.R({width:B,height:Q},yield a.W(w,-1,-1,B,Q))}catch(ee){}}return u.getImageData(w,1)})}_getNeighboringTiles(w){let B=w.canonical,Q=Math.pow(2,B.z),ee=(B.x-1+Q)%Q,le=B.x===0?w.wrap-1:w.wrap,ze=(B.x+1+Q)%Q,Ze=B.x+1===Q?w.wrap+1:w.wrap,ut={};return ut[new a.S(w.overscaledZ,le,B.z,ee,B.y).key]={backfilled:!1},ut[new a.S(w.overscaledZ,Ze,B.z,ze,B.y).key]={backfilled:!1},B.y>0&&(ut[new a.S(w.overscaledZ,le,B.z,ee,B.y-1).key]={backfilled:!1},ut[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y-1).key]={backfilled:!1},ut[new a.S(w.overscaledZ,Ze,B.z,ze,B.y-1).key]={backfilled:!1}),B.y+10&&a.e(le,{resourceTiming:ee}),this.fire(new a.k(\"data\",Object.assign(Object.assign({},le),{sourceDataType:\"metadata\"}))),this.fire(new a.k(\"data\",Object.assign(Object.assign({},le),{sourceDataType:\"content\"})))}catch(Q){if(this._pendingLoads--,this._removed)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));this.fire(new a.j(Q))}})}loaded(){return this._pendingLoads===0}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.actor?\"RT\":\"LT\";w.actor=this.actor;let Q={type:this.type,uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};w.abortController=new AbortController;let ee=yield this.actor.sendAsync({type:B,data:Q},w.abortController);delete w.abortController,w.unloadVectorData(),w.aborted||w.loadVectorData(ee,this.map.painter,B===\"RT\")})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.aborted=!0})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:w.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:\"RS\",data:{type:this.type,source:this.id}})}serialize(){return a.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var ct=a.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class Qt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.coordinates=B.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ee),this.options=B}load(w){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{let B=yield p.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,B&&B.data&&(this.image=B.data,w&&(this.coordinates=w),this._finishLoading())}catch(B){this._request=null,this._loaded=!0,this.fire(new a.j(B))}})}loaded(){return this._loaded}updateImage(w){return w.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=w.url,this.load(w.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(w){this.map=w,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(w){this.coordinates=w;let B=w.map(a.Z.fromLngLat);this.tileID=function(ee){let le=1/0,ze=1/0,Ze=-1/0,ut=-1/0;for(let mr of ee)le=Math.min(le,mr.x),ze=Math.min(ze,mr.y),Ze=Math.max(Ze,mr.x),ut=Math.max(ut,mr.y);let Mt=Math.max(Ze-le,ut-ze),Jt=Math.max(0,Math.floor(-Math.log(Mt)/Math.LN2)),$t=Math.pow(2,Jt);return new a.a1(Jt,Math.floor((le+Ze)/2*$t),Math.floor((ze+ut)/2*$t))}(B),this.minzoom=this.maxzoom=this.tileID.z;let Q=B.map(ee=>this.tileID.getTilePoint(ee)._round());return this._boundsArray=new a.$,this._boundsArray.emplaceBack(Q[0].x,Q[0].y,0,0),this._boundsArray.emplaceBack(Q[1].x,Q[1].y,a.X,0),this._boundsArray.emplaceBack(Q[3].x,Q[3].y,0,a.X),this._boundsArray.emplaceBack(Q[2].x,Q[2].y,a.X,a.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ct.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new g(w,this.image,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let le=this.tiles[ee];le.state!==\"loaded\"&&(le.state=\"loaded\",le.texture=this.texture,Q=!0)}Q&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}loadTile(w){return a._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(w.tileID.canonical)?(this.tiles[String(w.tileID.wrap)]=w,w.buckets={}):w.state=\"errored\"})}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class Ht extends Qt{constructor(w,B,Q,ee){super(w,B,Q,ee),this.roundZoom=!0,this.type=\"video\",this.options=B}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1;let w=this.options;this.urls=[];for(let B of w.urls)this.urls.push(this.map._requestManager.transformRequest(B,\"Source\").url);try{let B=yield a.a3(this.urls);if(this._loaded=!0,!B)return;this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(B){this.fire(new a.j(B))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(w){if(this.video){let B=this.video.seekable;wB.end(0)?this.fire(new a.j(new a.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${B.start(0)} and ${B.end(0)}-second mark.`))):this.video.currentTime=w}}getVideo(){return this.video}onAdd(w){this.map||(this.map=w,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ct.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE),B.texSubImage2D(B.TEXTURE_2D,0,0,0,B.RGBA,B.UNSIGNED_BYTE,this.video)):(this.texture=new g(w,this.video,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let le=this.tiles[ee];le.state!==\"loaded\"&&(le.state=\"loaded\",le.texture=this.texture,Q=!0)}Q&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class nr extends Qt{constructor(w,B,Q,ee){super(w,B,Q,ee),B.coordinates?Array.isArray(B.coordinates)&&B.coordinates.length===4&&!B.coordinates.some(le=>!Array.isArray(le)||le.length!==2||le.some(ze=>typeof ze!=\"number\"))||this.fire(new a.j(new a.a2(`sources.${w}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property \"coordinates\"'))),B.animate&&typeof B.animate!=\"boolean\"&&this.fire(new a.j(new a.a2(`sources.${w}`,null,'optional \"animate\" property must be a boolean value'))),B.canvas?typeof B.canvas==\"string\"||B.canvas instanceof HTMLCanvasElement||this.fire(new a.j(new a.a2(`sources.${w}`,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 a.j(new a.a2(`sources.${w}`,null,'missing required property \"canvas\"'))),this.options=B,this.animate=B.animate===void 0||B.animate}load(){return a._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new a.j(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())})}getCanvas(){return this.canvas}onAdd(w){this.map=w,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let w=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,w=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,w=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let B=this.map.painter.context,Q=B.gl;this.boundsBuffer||(this.boundsBuffer=B.createVertexBuffer(this._boundsArray,ct.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?(w||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new g(B,this.canvas,Q.RGBA,{premultiply:!0});let ee=!1;for(let le in this.tiles){let ze=this.tiles[le];ze.state!==\"loaded\"&&(ze.state=\"loaded\",ze.texture=this.texture,ee=!0)}ee&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let w of[this.canvas.width,this.canvas.height])if(isNaN(w)||w<=0)return!0;return!1}}let tt={},je=ue=>{switch(ue){case\"geojson\":return st;case\"image\":return Qt;case\"raster\":return mt;case\"raster-dem\":return Vt;case\"vector\":return lt;case\"video\":return Ht;case\"canvas\":return nr}return tt[ue]},Ue=\"RTLPluginLoaded\";class Ae extends a.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=we()}_syncState(w){return this.status=w,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:w,pluginURL:this.url}).catch(B=>{throw this.status=\"error\",B})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null}setRTLTextPlugin(w){return a._(this,arguments,void 0,function*(B,Q=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=u.resolveURL(B),!this.url)throw new Error(`requested url ${B} is invalid`);if(this.status===\"unavailable\"){if(!Q)return this._requestImport();this.status=\"deferred\",this._syncState(this.status)}else if(this.status===\"requested\")return this._requestImport()})}_requestImport(){return a._(this,void 0,void 0,function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new a.k(Ue))})}lazyLoad(){this.status===\"unavailable\"?this.status=\"requested\":this.status===\"deferred\"&&this._requestImport()}}let rt=null;function St(){return rt||(rt=new Ae),rt}class Tt{constructor(w,B){this.timeAdded=0,this.fadeEndTime=0,this.tileID=w,this.uid=a.a4(),this.uses=0,this.tileSize=B,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\"}registerFadeDuration(w){let B=w+this.timeAdded;Ble.getLayer(Mt)).filter(Boolean);if(ut.length!==0){Ze.layers=ut,Ze.stateDependentLayerIds&&(Ze.stateDependentLayers=Ze.stateDependentLayerIds.map(Mt=>ut.filter(Jt=>Jt.id===Mt)[0]));for(let Mt of ut)ze[Mt.id]=Ze}}return ze}(w.buckets,B.style),this.hasSymbolBuckets=!1;for(let ee in this.buckets){let le=this.buckets[ee];if(le instanceof a.a6){if(this.hasSymbolBuckets=!0,!Q)break;le.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let ee in this.buckets){let le=this.buckets[ee];if(le instanceof a.a6&&le.hasRTLText){this.hasRTLText=!0,St().lazyLoad();break}}this.queryPadding=0;for(let ee in this.buckets){let le=this.buckets[ee];this.queryPadding=Math.max(this.queryPadding,B.style.getLayer(ee).queryRadius(le))}w.imageAtlas&&(this.imageAtlas=w.imageAtlas),w.glyphAtlasImage&&(this.glyphAtlasImage=w.glyphAtlasImage)}else this.collisionBoxArray=new a.a5}unloadVectorData(){for(let w in this.buckets)this.buckets[w].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"}getBucket(w){return this.buckets[w.id]}upload(w){for(let Q in this.buckets){let ee=this.buckets[Q];ee.uploadPending()&&ee.upload(w)}let B=w.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new g(w,this.imageAtlas.image,B.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new g(w,this.glyphAtlasImage,B.ALPHA),this.glyphAtlasImage=null)}prepare(w){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(w,this.imageAtlasTexture)}queryRenderedFeatures(w,B,Q,ee,le,ze,Ze,ut,Mt,Jt){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:ee,cameraQueryGeometry:le,scale:ze,tileSize:this.tileSize,pixelPosMatrix:Jt,transform:ut,params:Ze,queryPadding:this.queryPadding*Mt},w,B,Q):{}}querySourceFeatures(w,B){let Q=this.latestFeatureIndex;if(!Q||!Q.rawTileData)return;let ee=Q.loadVTLayers(),le=B&&B.sourceLayer?B.sourceLayer:\"\",ze=ee._geojsonTileLayer||ee[le];if(!ze)return;let Ze=a.a7(B&&B.filter),{z:ut,x:Mt,y:Jt}=this.tileID.canonical,$t={z:ut,x:Mt,y:Jt};for(let mr=0;mrQ)ee=!1;else if(B)if(this.expirationTime{this.remove(w,le)},Q)),this.data[ee].push(le),this.order.push(ee),this.order.length>this.max){let ze=this._getAndRemoveByKey(this.order[0]);ze&&this.onRemove(ze)}return this}has(w){return w.wrapped().key in this.data}getAndRemove(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null}_getAndRemoveByKey(w){let B=this.data[w].shift();return B.timeout&&clearTimeout(B.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),B.value}getByKey(w){let B=this.data[w];return B?B[0].value:null}get(w){return this.has(w)?this.data[w.wrapped().key][0].value:null}remove(w,B){if(!this.has(w))return this;let Q=w.wrapped().key,ee=B===void 0?0:this.data[Q].indexOf(B),le=this.data[Q][ee];return this.data[Q].splice(ee,1),le.timeout&&clearTimeout(le.timeout),this.data[Q].length===0&&delete this.data[Q],this.onRemove(le.value),this.order.splice(this.order.indexOf(Q),1),this}setMaxSize(w){for(this.max=w;this.order.length>this.max;){let B=this._getAndRemoveByKey(this.order[0]);B&&this.onRemove(B)}return this}filter(w){let B=[];for(let Q in this.data)for(let ee of this.data[Q])w(ee.value)||B.push(ee);for(let Q of B)this.remove(Q.value.tileID,Q)}}class Et{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(w,B,Q){let ee=String(B);if(this.stateChanges[w]=this.stateChanges[w]||{},this.stateChanges[w][ee]=this.stateChanges[w][ee]||{},a.e(this.stateChanges[w][ee],Q),this.deletedStates[w]===null){this.deletedStates[w]={};for(let le in this.state[w])le!==ee&&(this.deletedStates[w][le]=null)}else if(this.deletedStates[w]&&this.deletedStates[w][ee]===null){this.deletedStates[w][ee]={};for(let le in this.state[w][ee])Q[le]||(this.deletedStates[w][ee][le]=null)}else for(let le in Q)this.deletedStates[w]&&this.deletedStates[w][ee]&&this.deletedStates[w][ee][le]===null&&delete this.deletedStates[w][ee][le]}removeFeatureState(w,B,Q){if(this.deletedStates[w]===null)return;let ee=String(B);if(this.deletedStates[w]=this.deletedStates[w]||{},Q&&B!==void 0)this.deletedStates[w][ee]!==null&&(this.deletedStates[w][ee]=this.deletedStates[w][ee]||{},this.deletedStates[w][ee][Q]=null);else if(B!==void 0)if(this.stateChanges[w]&&this.stateChanges[w][ee])for(Q in this.deletedStates[w][ee]={},this.stateChanges[w][ee])this.deletedStates[w][ee][Q]=null;else this.deletedStates[w][ee]=null;else this.deletedStates[w]=null}getState(w,B){let Q=String(B),ee=a.e({},(this.state[w]||{})[Q],(this.stateChanges[w]||{})[Q]);if(this.deletedStates[w]===null)return{};if(this.deletedStates[w]){let le=this.deletedStates[w][B];if(le===null)return{};for(let ze in le)delete ee[ze]}return ee}initializeTileState(w,B){w.setFeatureState(this.state,B)}coalesceChanges(w,B){let Q={};for(let ee in this.stateChanges){this.state[ee]=this.state[ee]||{};let le={};for(let ze in this.stateChanges[ee])this.state[ee][ze]||(this.state[ee][ze]={}),a.e(this.state[ee][ze],this.stateChanges[ee][ze]),le[ze]=this.state[ee][ze];Q[ee]=le}for(let ee in this.deletedStates){this.state[ee]=this.state[ee]||{};let le={};if(this.deletedStates[ee]===null)for(let ze in this.state[ee])le[ze]={},this.state[ee][ze]={};else for(let ze in this.deletedStates[ee]){if(this.deletedStates[ee][ze]===null)this.state[ee][ze]={};else for(let Ze of Object.keys(this.deletedStates[ee][ze]))delete this.state[ee][ze][Ze];le[ze]=this.state[ee][ze]}Q[ee]=Q[ee]||{},a.e(Q[ee],le)}if(this.stateChanges={},this.deletedStates={},Object.keys(Q).length!==0)for(let ee in w)w[ee].setFeatureState(Q,B)}}class pt extends a.E{constructor(w,B,Q){super(),this.id=w,this.dispatcher=Q,this.on(\"data\",ee=>this._dataHandler(ee)),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((ee,le,ze,Ze)=>{let ut=new(je(le.type))(ee,le,ze,Ze);if(ut.id!==ee)throw new Error(`Expected Source id to be ${ee} instead of ${ut.id}`);return ut})(w,B,Q,this),this._tiles={},this._cache=new dt(0,ee=>this._unloadTile(ee)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Et,this._didEmitContent=!1,this._updated=!1}onAdd(w){this.map=w,this._maxTileCacheSize=w?w._maxTileCacheSize:null,this._maxTileCacheZoomLevels=w?w._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(w)}onRemove(w){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(w)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let w in this._tiles){let B=this._tiles[w];if(B.state!==\"loaded\"&&B.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let w=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,w&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(w,B,Q){return a._(this,void 0,void 0,function*(){try{yield this._source.loadTile(w),this._tileLoaded(w,B,Q)}catch(ee){w.state=\"errored\",ee.status!==404?this._source.fire(new a.j(ee,{tile:w})):this.update(this.transform,this.terrain)}})}_unloadTile(w){this._source.unloadTile&&this._source.unloadTile(w)}_abortTile(w){this._source.abortTile&&this._source.abortTile(w),this._source.fire(new a.k(\"dataabort\",{tile:w,coord:w.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(w){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let B in this._tiles){let Q=this._tiles[B];Q.upload(w),Q.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(w=>w.tileID).sort(Xt).map(w=>w.key)}getRenderableIds(w){let B=[];for(let Q in this._tiles)this._isIdRenderable(Q,w)&&B.push(this._tiles[Q]);return w?B.sort((Q,ee)=>{let le=Q.tileID,ze=ee.tileID,Ze=new a.P(le.canonical.x,le.canonical.y)._rotate(this.transform.angle),ut=new a.P(ze.canonical.x,ze.canonical.y)._rotate(this.transform.angle);return le.overscaledZ-ze.overscaledZ||ut.y-Ze.y||ut.x-Ze.x}).map(Q=>Q.tileID.key):B.map(Q=>Q.tileID).sort(Xt).map(Q=>Q.key)}hasRenderableParent(w){let B=this.findLoadedParent(w,0);return!!B&&this._isIdRenderable(B.tileID.key)}_isIdRenderable(w,B){return this._tiles[w]&&this._tiles[w].hasData()&&!this._coveredTiles[w]&&(B||!this._tiles[w].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let w in this._tiles)this._tiles[w].state!==\"errored\"&&this._reloadTile(w,\"reloading\")}}_reloadTile(w,B){return a._(this,void 0,void 0,function*(){let Q=this._tiles[w];Q&&(Q.state!==\"loading\"&&(Q.state=B),yield this._loadTile(Q,w,B))})}_tileLoaded(w,B,Q){w.timeAdded=u.now(),Q===\"expired\"&&(w.refreshedUponExpiration=!0),this._setTileReloadTimer(B,w),this.getSource().type===\"raster-dem\"&&w.dem&&this._backfillDEM(w),this._state.initializeTileState(w,this.map?this.map.painter:null),w.aborted||this._source.fire(new a.k(\"data\",{dataType:\"source\",tile:w,coord:w.tileID}))}_backfillDEM(w){let B=this.getRenderableIds();for(let ee=0;ee1||(Math.abs(ze)>1&&(Math.abs(ze+ut)===1?ze+=ut:Math.abs(ze-ut)===1&&(ze-=ut)),le.dem&&ee.dem&&(ee.dem.backfillBorder(le.dem,ze,Ze),ee.neighboringTiles&&ee.neighboringTiles[Mt]&&(ee.neighboringTiles[Mt].backfilled=!0)))}}getTile(w){return this.getTileByID(w.key)}getTileByID(w){return this._tiles[w]}_retainLoadedChildren(w,B,Q,ee){for(let le in this._tiles){let ze=this._tiles[le];if(ee[le]||!ze.hasData()||ze.tileID.overscaledZ<=B||ze.tileID.overscaledZ>Q)continue;let Ze=ze.tileID;for(;ze&&ze.tileID.overscaledZ>B+1;){let Mt=ze.tileID.scaledTo(ze.tileID.overscaledZ-1);ze=this._tiles[Mt.key],ze&&ze.hasData()&&(Ze=Mt)}let ut=Ze;for(;ut.overscaledZ>B;)if(ut=ut.scaledTo(ut.overscaledZ-1),w[ut.key]){ee[Ze.key]=Ze;break}}}findLoadedParent(w,B){if(w.key in this._loadedParentTiles){let Q=this._loadedParentTiles[w.key];return Q&&Q.tileID.overscaledZ>=B?Q:null}for(let Q=w.overscaledZ-1;Q>=B;Q--){let ee=w.scaledTo(Q),le=this._getLoadedTile(ee);if(le)return le}}findLoadedSibling(w){return this._getLoadedTile(w)}_getLoadedTile(w){let B=this._tiles[w.key];return B&&B.hasData()?B:this._cache.getByKey(w.wrapped().key)}updateCacheSize(w){let B=Math.ceil(w.width/this._source.tileSize)+1,Q=Math.ceil(w.height/this._source.tileSize)+1,ee=Math.floor(B*Q*(this._maxTileCacheZoomLevels===null?a.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),le=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,ee):ee;this._cache.setMaxSize(le)}handleWrapJump(w){let B=Math.round((w-(this._prevLng===void 0?w:this._prevLng))/360);if(this._prevLng=w,B){let Q={};for(let ee in this._tiles){let le=this._tiles[ee];le.tileID=le.tileID.unwrapTo(le.tileID.wrap+B),Q[le.tileID.key]=le}this._tiles=Q;for(let ee in this._timers)clearTimeout(this._timers[ee]),delete this._timers[ee];for(let ee in this._tiles)this._setTileReloadTimer(ee,this._tiles[ee])}}_updateCoveredAndRetainedTiles(w,B,Q,ee,le,ze){let Ze={},ut={},Mt=Object.keys(w),Jt=u.now();for(let $t of Mt){let mr=w[$t],Cr=this._tiles[$t];if(!Cr||Cr.fadeEndTime!==0&&Cr.fadeEndTime<=Jt)continue;let ve=this.findLoadedParent(mr,B),xe=this.findLoadedSibling(mr),Ie=ve||xe||null;Ie&&(this._addTile(Ie.tileID),Ze[Ie.tileID.key]=Ie.tileID),ut[$t]=mr}this._retainLoadedChildren(ut,ee,Q,w);for(let $t in Ze)w[$t]||(this._coveredTiles[$t]=!0,w[$t]=Ze[$t]);if(ze){let $t={},mr={};for(let Cr of le)this._tiles[Cr.key].hasData()?$t[Cr.key]=Cr:mr[Cr.key]=Cr;for(let Cr in mr){let ve=mr[Cr].children(this._source.maxzoom);this._tiles[ve[0].key]&&this._tiles[ve[1].key]&&this._tiles[ve[2].key]&&this._tiles[ve[3].key]&&($t[ve[0].key]=w[ve[0].key]=ve[0],$t[ve[1].key]=w[ve[1].key]=ve[1],$t[ve[2].key]=w[ve[2].key]=ve[2],$t[ve[3].key]=w[ve[3].key]=ve[3],delete mr[Cr])}for(let Cr in mr){let ve=mr[Cr],xe=this.findLoadedParent(ve,this._source.minzoom),Ie=this.findLoadedSibling(ve),qe=xe||Ie||null;if(qe){$t[qe.tileID.key]=w[qe.tileID.key]=qe.tileID;for(let Qe in $t)$t[Qe].isChildOf(qe.tileID)&&delete $t[Qe]}}for(let Cr in this._tiles)$t[Cr]||(this._coveredTiles[Cr]=!0)}}update(w,B){if(!this._sourceLoaded||this._paused)return;let Q;this.transform=w,this.terrain=B,this.updateCacheSize(w),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Q=w.getVisibleUnwrappedCoordinates(this._source.tileID).map(Jt=>new a.S(Jt.canonical.z,Jt.wrap,Jt.canonical.z,Jt.canonical.x,Jt.canonical.y)):(Q=w.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:B}),this._source.hasTile&&(Q=Q.filter(Jt=>this._source.hasTile(Jt)))):Q=[];let ee=w.coveringZoomLevel(this._source),le=Math.max(ee-pt.maxOverzooming,this._source.minzoom),ze=Math.max(ee+pt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Jt={};for(let $t of Q)if($t.canonical.z>this._source.minzoom){let mr=$t.scaledTo($t.canonical.z-1);Jt[mr.key]=mr;let Cr=$t.scaledTo(Math.max(this._source.minzoom,Math.min($t.canonical.z,5)));Jt[Cr.key]=Cr}Q=Q.concat(Object.values(Jt))}let Ze=Q.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,Ze&&this.fire(new a.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let ut=this._updateRetainedTiles(Q,ee);or(this._source.type)&&this._updateCoveredAndRetainedTiles(ut,le,ze,ee,Q,B);for(let Jt in ut)this._tiles[Jt].clearFadeHold();let Mt=a.ab(this._tiles,ut);for(let Jt of Mt){let $t=this._tiles[Jt];$t.hasSymbolBuckets&&!$t.holdingForFade()?$t.setHoldDuration(this.map._fadeDuration):$t.hasSymbolBuckets&&!$t.symbolFadeFinished()||this._removeTile(Jt)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let w in this._tiles)this._tiles[w].holdingForFade()&&this._removeTile(w)}_updateRetainedTiles(w,B){var Q;let ee={},le={},ze=Math.max(B-pt.maxOverzooming,this._source.minzoom),Ze=Math.max(B+pt.maxUnderzooming,this._source.minzoom),ut={};for(let Mt of w){let Jt=this._addTile(Mt);ee[Mt.key]=Mt,Jt.hasData()||Bthis._source.maxzoom){let mr=Mt.children(this._source.maxzoom)[0],Cr=this.getTile(mr);if(Cr&&Cr.hasData()){ee[mr.key]=mr;continue}}else{let mr=Mt.children(this._source.maxzoom);if(ee[mr[0].key]&&ee[mr[1].key]&&ee[mr[2].key]&&ee[mr[3].key])continue}let $t=Jt.wasRequested();for(let mr=Mt.overscaledZ-1;mr>=ze;--mr){let Cr=Mt.scaledTo(mr);if(le[Cr.key])break;if(le[Cr.key]=!0,Jt=this.getTile(Cr),!Jt&&$t&&(Jt=this._addTile(Cr)),Jt){let ve=Jt.hasData();if((ve||!(!((Q=this.map)===null||Q===void 0)&&Q.cancelPendingTileRequestsWhileZooming)||$t)&&(ee[Cr.key]=Cr),$t=Jt.wasRequested(),ve)break}}}return ee}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let w in this._tiles){let B=[],Q,ee=this._tiles[w].tileID;for(;ee.overscaledZ>0;){if(ee.key in this._loadedParentTiles){Q=this._loadedParentTiles[ee.key];break}B.push(ee.key);let le=ee.scaledTo(ee.overscaledZ-1);if(Q=this._getLoadedTile(le),Q)break;ee=le}for(let le of B)this._loadedParentTiles[le]=Q}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let w in this._tiles){let B=this._tiles[w].tileID,Q=this._getLoadedTile(B);this._loadedSiblingTiles[B.key]=Q}}_addTile(w){let B=this._tiles[w.key];if(B)return B;B=this._cache.getAndRemove(w),B&&(this._setTileReloadTimer(w.key,B),B.tileID=w,this._state.initializeTileState(B,this.map?this.map.painter:null),this._cacheTimers[w.key]&&(clearTimeout(this._cacheTimers[w.key]),delete this._cacheTimers[w.key],this._setTileReloadTimer(w.key,B)));let Q=B;return B||(B=new Tt(w,this._source.tileSize*w.overscaleFactor()),this._loadTile(B,w.key,B.state)),B.uses++,this._tiles[w.key]=B,Q||this._source.fire(new a.k(\"dataloading\",{tile:B,coord:B.tileID,dataType:\"source\"})),B}_setTileReloadTimer(w,B){w in this._timers&&(clearTimeout(this._timers[w]),delete this._timers[w]);let Q=B.getExpiryTimeout();Q&&(this._timers[w]=setTimeout(()=>{this._reloadTile(w,\"expired\"),delete this._timers[w]},Q))}_removeTile(w){let B=this._tiles[w];B&&(B.uses--,delete this._tiles[w],this._timers[w]&&(clearTimeout(this._timers[w]),delete this._timers[w]),B.uses>0||(B.hasData()&&B.state!==\"reloading\"?this._cache.add(B.tileID,B,B.getExpiryTimeout()):(B.aborted=!0,this._abortTile(B),this._unloadTile(B))))}_dataHandler(w){let B=w.sourceDataType;w.dataType===\"source\"&&B===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType===\"source\"&&B===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let w in this._tiles)this._removeTile(w);this._cache.reset()}tilesIn(w,B,Q){let ee=[],le=this.transform;if(!le)return ee;let ze=Q?le.getCameraQueryGeometry(w):w,Ze=w.map(ve=>le.pointCoordinate(ve,this.terrain)),ut=ze.map(ve=>le.pointCoordinate(ve,this.terrain)),Mt=this.getIds(),Jt=1/0,$t=1/0,mr=-1/0,Cr=-1/0;for(let ve of ut)Jt=Math.min(Jt,ve.x),$t=Math.min($t,ve.y),mr=Math.max(mr,ve.x),Cr=Math.max(Cr,ve.y);for(let ve=0;ve=0&&Xe[1].y+Qe>=0){let nt=Ze.map(jt=>Ie.getTilePoint(jt)),qt=ut.map(jt=>Ie.getTilePoint(jt));ee.push({tile:xe,tileID:Ie,queryGeometry:nt,cameraQueryGeometry:qt,scale:qe})}}return ee}getVisibleCoordinates(w){let B=this.getRenderableIds(w).map(Q=>this._tiles[Q].tileID);for(let Q of B)Q.posMatrix=this.transform.calculatePosMatrix(Q.toUnwrapped());return B}hasTransition(){if(this._source.hasTransition())return!0;if(or(this._source.type)){let w=u.now();for(let B in this._tiles)if(this._tiles[B].fadeEndTime>=w)return!0}return!1}setFeatureState(w,B,Q){this._state.updateState(w=w||\"_geojsonTileLayer\",B,Q)}removeFeatureState(w,B,Q){this._state.removeFeatureState(w=w||\"_geojsonTileLayer\",B,Q)}getFeatureState(w,B){return this._state.getState(w=w||\"_geojsonTileLayer\",B)}setDependencies(w,B,Q){let ee=this._tiles[w];ee&&ee.setDependencies(B,Q)}reloadTilesForDependencies(w,B){for(let Q in this._tiles)this._tiles[Q].hasDependency(w,B)&&this._reloadTile(Q,\"reloading\");this._cache.filter(Q=>!Q.hasDependency(w,B))}}function Xt(ue,w){let B=Math.abs(2*ue.wrap)-+(ue.wrap<0),Q=Math.abs(2*w.wrap)-+(w.wrap<0);return ue.overscaledZ-w.overscaledZ||Q-B||w.canonical.y-ue.canonical.y||w.canonical.x-ue.canonical.x}function or(ue){return ue===\"raster\"||ue===\"image\"||ue===\"video\"}pt.maxOverzooming=10,pt.maxUnderzooming=3;class _r{constructor(w,B){this.reset(w,B)}reset(w,B){this.points=w||[],this._distances=[0];for(let Q=1;Q0?(ee-ze)/Ze:0;return this.points[le].mult(1-ut).add(this.points[B].mult(ut))}}function Er(ue,w){let B=!0;return ue===\"always\"||ue!==\"never\"&&w!==\"never\"||(B=!1),B}class ei{constructor(w,B,Q){let ee=this.boxCells=[],le=this.circleCells=[];this.xCellCount=Math.ceil(w/Q),this.yCellCount=Math.ceil(B/Q);for(let ze=0;zethis.width||ee<0||B>this.height)return[];let ut=[];if(w<=0&&B<=0&&this.width<=Q&&this.height<=ee){if(le)return[{key:null,x1:w,y1:B,x2:Q,y2:ee}];for(let Mt=0;Mt0}hitTestCircle(w,B,Q,ee,le){let ze=w-Q,Ze=w+Q,ut=B-Q,Mt=B+Q;if(Ze<0||ze>this.width||Mt<0||ut>this.height)return!1;let Jt=[];return this._forEachCell(ze,ut,Ze,Mt,this._queryCellCircle,Jt,{hitTest:!0,overlapMode:ee,circle:{x:w,y:B,radius:Q},seenUids:{box:{},circle:{}}},le),Jt.length>0}_queryCell(w,B,Q,ee,le,ze,Ze,ut){let{seenUids:Mt,hitTest:Jt,overlapMode:$t}=Ze,mr=this.boxCells[le];if(mr!==null){let ve=this.bboxes;for(let xe of mr)if(!Mt.box[xe]){Mt.box[xe]=!0;let Ie=4*xe,qe=this.boxKeys[xe];if(w<=ve[Ie+2]&&B<=ve[Ie+3]&&Q>=ve[Ie+0]&&ee>=ve[Ie+1]&&(!ut||ut(qe))&&(!Jt||!Er($t,qe.overlapMode))&&(ze.push({key:qe,x1:ve[Ie],y1:ve[Ie+1],x2:ve[Ie+2],y2:ve[Ie+3]}),Jt))return!0}}let Cr=this.circleCells[le];if(Cr!==null){let ve=this.circles;for(let xe of Cr)if(!Mt.circle[xe]){Mt.circle[xe]=!0;let Ie=3*xe,qe=this.circleKeys[xe];if(this._circleAndRectCollide(ve[Ie],ve[Ie+1],ve[Ie+2],w,B,Q,ee)&&(!ut||ut(qe))&&(!Jt||!Er($t,qe.overlapMode))){let Qe=ve[Ie],Xe=ve[Ie+1],nt=ve[Ie+2];if(ze.push({key:qe,x1:Qe-nt,y1:Xe-nt,x2:Qe+nt,y2:Xe+nt}),Jt)return!0}}}return!1}_queryCellCircle(w,B,Q,ee,le,ze,Ze,ut){let{circle:Mt,seenUids:Jt,overlapMode:$t}=Ze,mr=this.boxCells[le];if(mr!==null){let ve=this.bboxes;for(let xe of mr)if(!Jt.box[xe]){Jt.box[xe]=!0;let Ie=4*xe,qe=this.boxKeys[xe];if(this._circleAndRectCollide(Mt.x,Mt.y,Mt.radius,ve[Ie+0],ve[Ie+1],ve[Ie+2],ve[Ie+3])&&(!ut||ut(qe))&&!Er($t,qe.overlapMode))return ze.push(!0),!0}}let Cr=this.circleCells[le];if(Cr!==null){let ve=this.circles;for(let xe of Cr)if(!Jt.circle[xe]){Jt.circle[xe]=!0;let Ie=3*xe,qe=this.circleKeys[xe];if(this._circlesCollide(ve[Ie],ve[Ie+1],ve[Ie+2],Mt.x,Mt.y,Mt.radius)&&(!ut||ut(qe))&&!Er($t,qe.overlapMode))return ze.push(!0),!0}}}_forEachCell(w,B,Q,ee,le,ze,Ze,ut){let Mt=this._convertToXCellCoord(w),Jt=this._convertToYCellCoord(B),$t=this._convertToXCellCoord(Q),mr=this._convertToYCellCoord(ee);for(let Cr=Mt;Cr<=$t;Cr++)for(let ve=Jt;ve<=mr;ve++)if(le.call(this,w,B,Q,ee,this.xCellCount*ve+Cr,ze,Ze,ut))return}_convertToXCellCoord(w){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(w*this.xScale)))}_convertToYCellCoord(w){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(w*this.yScale)))}_circlesCollide(w,B,Q,ee,le,ze){let Ze=ee-w,ut=le-B,Mt=Q+ze;return Mt*Mt>Ze*Ze+ut*ut}_circleAndRectCollide(w,B,Q,ee,le,ze,Ze){let ut=(ze-ee)/2,Mt=Math.abs(w-(ee+ut));if(Mt>ut+Q)return!1;let Jt=(Ze-le)/2,$t=Math.abs(B-(le+Jt));if($t>Jt+Q)return!1;if(Mt<=ut||$t<=Jt)return!0;let mr=Mt-ut,Cr=$t-Jt;return mr*mr+Cr*Cr<=Q*Q}}function qr(ue,w,B,Q,ee){let le=a.H();return w?(a.K(le,le,[1/ee,1/ee,1]),B||a.ad(le,le,Q.angle)):a.L(le,Q.labelPlaneMatrix,ue),le}function jr(ue,w,B,Q,ee){if(w){let le=a.ae(ue);return a.K(le,le,[ee,ee,1]),B||a.ad(le,le,-Q.angle),le}return Q.glCoordMatrix}function gt(ue,w,B,Q){let ee;Q?(ee=[ue,w,Q(ue,w),1],a.af(ee,ee,B)):(ee=[ue,w,0,1],ai(ee,ee,B));let le=ee[3];return{point:new a.P(ee[0]/le,ee[1]/le),signedDistanceFromCamera:le,isOccluded:!1}}function Ge(ue,w){return .5+ue/w*.5}function Je(ue,w){return ue.x>=-w[0]&&ue.x<=w[0]&&ue.y>=-w[1]&&ue.y<=w[1]}function We(ue,w,B,Q,ee,le,ze,Ze,ut,Mt,Jt,$t,mr,Cr,ve){let xe=Q?ue.textSizeData:ue.iconSizeData,Ie=a.ag(xe,B.transform.zoom),qe=[256/B.width*2+1,256/B.height*2+1],Qe=Q?ue.text.dynamicLayoutVertexArray:ue.icon.dynamicLayoutVertexArray;Qe.clear();let Xe=ue.lineVertexArray,nt=Q?ue.text.placedSymbolArray:ue.icon.placedSymbolArray,qt=B.transform.width/B.transform.height,jt=!1;for(let ar=0;arMath.abs(B.x-w.x)*Q?{useVertical:!0}:(ue===a.ah.vertical?w.yB.x)?{needsFlipping:!0}:null}function At(ue,w,B,Q,ee,le,ze,Ze,ut,Mt,Jt){let $t=B/24,mr=w.lineOffsetX*$t,Cr=w.lineOffsetY*$t,ve;if(w.numGlyphs>1){let xe=w.glyphStartIndex+w.numGlyphs,Ie=w.lineStartIndex,qe=w.lineStartIndex+w.lineLength,Qe=et($t,Ze,mr,Cr,Q,w,Jt,ue);if(!Qe)return{notEnoughRoom:!0};let Xe=gt(Qe.first.point.x,Qe.first.point.y,ze,ue.getElevation).point,nt=gt(Qe.last.point.x,Qe.last.point.y,ze,ue.getElevation).point;if(ee&&!Q){let qt=xt(w.writingMode,Xe,nt,Mt);if(qt)return qt}ve=[Qe.first];for(let qt=w.glyphStartIndex+1;qt0?Xe.point:function(jt,ar,fr,br,Fr,Hr){return Kt(jt,ar,fr,1,Fr,Hr)}(ue.tileAnchorPoint,Qe,Ie,0,le,ue),qt=xt(w.writingMode,Ie,nt,Mt);if(qt)return qt}let xe=Yr($t*Ze.getoffsetX(w.glyphStartIndex),mr,Cr,Q,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,ue,Jt);if(!xe||ue.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};ve=[xe]}for(let xe of ve)a.aj(ut,xe.point,xe.angle);return{}}function Kt(ue,w,B,Q,ee,le){let ze=ue.add(ue.sub(w)._unit()),Ze=ee!==void 0?gt(ze.x,ze.y,ee,le.getElevation).point:Sr(ze.x,ze.y,le).point,ut=B.sub(Ze);return B.add(ut._mult(Q/ut.mag()))}function er(ue,w,B){let Q=w.projectionCache;if(Q.projections[ue])return Q.projections[ue];let ee=new a.P(w.lineVertexArray.getx(ue),w.lineVertexArray.gety(ue)),le=Sr(ee.x,ee.y,w);if(le.signedDistanceFromCamera>0)return Q.projections[ue]=le.point,Q.anyProjectionOccluded=Q.anyProjectionOccluded||le.isOccluded,le.point;let ze=ue-B.direction;return function(Ze,ut,Mt,Jt,$t){return Kt(Ze,ut,Mt,Jt,void 0,$t)}(B.distanceFromAnchor===0?w.tileAnchorPoint:new a.P(w.lineVertexArray.getx(ze),w.lineVertexArray.gety(ze)),ee,B.previousVertex,B.absOffsetX-B.distanceFromAnchor+1,w)}function Sr(ue,w,B){let Q=ue+B.translation[0],ee=w+B.translation[1],le;return!B.pitchWithMap&&B.projection.useSpecialProjectionForSymbols?(le=B.projection.projectTileCoordinates(Q,ee,B.unwrappedTileID,B.getElevation),le.point.x=(.5*le.point.x+.5)*B.width,le.point.y=(.5*-le.point.y+.5)*B.height):(le=gt(Q,ee,B.labelPlaneMatrix,B.getElevation),le.isOccluded=!1),le}function Gr(ue,w,B){return ue._unit()._perp()._mult(w*B)}function Ir(ue,w,B,Q,ee,le,ze,Ze,ut){if(Ze.projectionCache.offsets[ue])return Ze.projectionCache.offsets[ue];let Mt=B.add(w);if(ue+ut.direction=ee)return Ze.projectionCache.offsets[ue]=Mt,Mt;let Jt=er(ue+ut.direction,Ze,ut),$t=Gr(Jt.sub(B),ze,ut.direction),mr=B.add($t),Cr=Jt.add($t);return Ze.projectionCache.offsets[ue]=a.ak(le,Mt,mr,Cr)||Mt,Ze.projectionCache.offsets[ue]}function Yr(ue,w,B,Q,ee,le,ze,Ze,ut){let Mt=Q?ue-w:ue+w,Jt=Mt>0?1:-1,$t=0;Q&&(Jt*=-1,$t=Math.PI),Jt<0&&($t+=Math.PI);let mr,Cr=Jt>0?le+ee:le+ee+1;Ze.projectionCache.cachedAnchorPoint?mr=Ze.projectionCache.cachedAnchorPoint:(mr=Sr(Ze.tileAnchorPoint.x,Ze.tileAnchorPoint.y,Ze).point,Ze.projectionCache.cachedAnchorPoint=mr);let ve,xe,Ie=mr,qe=mr,Qe=0,Xe=0,nt=Math.abs(Mt),qt=[],jt;for(;Qe+Xe<=nt;){if(Cr+=Jt,Cr=ze)return null;Qe+=Xe,qe=Ie,xe=ve;let br={absOffsetX:nt,direction:Jt,distanceFromAnchor:Qe,previousVertex:qe};if(Ie=er(Cr,Ze,br),B===0)qt.push(qe),jt=Ie.sub(qe);else{let Fr,Hr=Ie.sub(qe);Fr=Hr.mag()===0?Gr(er(Cr+Jt,Ze,br).sub(Ie),B,Jt):Gr(Hr,B,Jt),xe||(xe=qe.add(Fr)),ve=Ir(Cr,Fr,Ie,le,ze,xe,B,Ze,br),qt.push(xe),jt=ve.sub(xe)}Xe=jt.mag()}let ar=jt._mult((nt-Qe)/Xe)._add(xe||qe),fr=$t+Math.atan2(Ie.y-qe.y,Ie.x-qe.x);return qt.push(ar),{point:ar,angle:ut?fr:0,path:qt}}let _i=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Pi(ue,w){for(let B=0;B=1;fa--)Ln.push(cn.path[fa]);for(let fa=1;fa$a.signedDistanceFromCamera<=0)?[]:fa.map($a=>$a.point)}let Aa=[];if(Ln.length>0){let fa=Ln[0].clone(),$a=Ln[0].clone();for(let Co=1;Co=Hr.x&&$a.x<=ri.x&&fa.y>=Hr.y&&$a.y<=ri.y?[Ln]:$a.xri.x||$a.yri.y?[]:a.al([Ln],Hr.x,Hr.y,ri.x,ri.y)}for(let fa of Aa){Ci.reset(fa,.25*Fr);let $a=0;$a=Ci.length<=.5*Fr?1:Math.ceil(Ci.paddedLength/Yn)+1;for(let Co=0;Co<$a;Co++){let Qa=Co/Math.max($a-1,1),mo=Ci.lerp(Qa),Bo=mo.x+mi,Ps=mo.y+mi;qe.push(Bo,Ps,Fr,0);let Ts=Bo-Fr,wo=Ps-Fr,To=Bo+Fr,hl=Ps+Fr;if(br=br&&this.isOffscreen(Ts,wo,To,hl),fr=fr||this.isInsideGrid(Ts,wo,To,hl),w!==\"always\"&&this.grid.hitTestCircle(Bo,Ps,Fr,w,mr)&&(ar=!0,!Jt))return{circles:[],offscreen:!1,collisionDetected:ar}}}}return{circles:!Jt&&ar||!fr||Xegt(ee.x,ee.y,Q,B.getElevation))}queryRenderedSymbols(w){if(w.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let B=[],Q=1/0,ee=1/0,le=-1/0,ze=-1/0;for(let Jt of w){let $t=new a.P(Jt.x+mi,Jt.y+mi);Q=Math.min(Q,$t.x),ee=Math.min(ee,$t.y),le=Math.max(le,$t.x),ze=Math.max(ze,$t.y),B.push($t)}let Ze=this.grid.query(Q,ee,le,ze).concat(this.ignoredGrid.query(Q,ee,le,ze)),ut={},Mt={};for(let Jt of Ze){let $t=Jt.key;if(ut[$t.bucketInstanceId]===void 0&&(ut[$t.bucketInstanceId]={}),ut[$t.bucketInstanceId][$t.featureIndex])continue;let mr=[new a.P(Jt.x1,Jt.y1),new a.P(Jt.x2,Jt.y1),new a.P(Jt.x2,Jt.y2),new a.P(Jt.x1,Jt.y2)];a.am(B,mr)&&(ut[$t.bucketInstanceId][$t.featureIndex]=!0,Mt[$t.bucketInstanceId]===void 0&&(Mt[$t.bucketInstanceId]=[]),Mt[$t.bucketInstanceId].push($t.featureIndex))}return Mt}insertCollisionBox(w,B,Q,ee,le,ze){(Q?this.ignoredGrid:this.grid).insert({bucketInstanceId:ee,featureIndex:le,collisionGroupID:ze,overlapMode:B},w[0],w[1],w[2],w[3])}insertCollisionCircles(w,B,Q,ee,le,ze){let Ze=Q?this.ignoredGrid:this.grid,ut={bucketInstanceId:ee,featureIndex:le,collisionGroupID:ze,overlapMode:B};for(let Mt=0;Mt=this.screenRightBoundary||eethis.screenBottomBoundary}isInsideGrid(w,B,Q,ee){return Q>=0&&w=0&&Bthis.projectAndGetPerspectiveRatio(Q,Fr.x,Fr.y,ee,Mt));fr=br.some(Fr=>!Fr.isOccluded),ar=br.map(Fr=>Fr.point)}else fr=!0;return{box:a.ao(ar),allPointsOccluded:!fr}}}function Fn(ue,w,B){return w*(a.X/(ue.tileSize*Math.pow(2,B-ue.tileID.overscaledZ)))}class An{constructor(w,B,Q,ee){this.opacity=w?Math.max(0,Math.min(1,w.opacity+(w.placed?B:-B))):ee&&Q?1:0,this.placed=Q}isHidden(){return this.opacity===0&&!this.placed}}class Hn{constructor(w,B,Q,ee,le){this.text=new An(w?w.text:null,B,Q,le),this.icon=new An(w?w.icon:null,B,ee,le)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Qn{constructor(w,B,Q){this.text=w,this.icon=B,this.skipFade=Q}}class Vi{constructor(){this.invProjMatrix=a.H(),this.viewportMatrix=a.H(),this.circles=[]}}class Kn{constructor(w,B,Q,ee,le){this.bucketInstanceId=w,this.featureIndex=B,this.sourceLayerIndex=Q,this.bucketIndex=ee,this.tileID=le}}class Jn{constructor(w){this.crossSourceCollisions=w,this.maxGroupID=0,this.collisionGroups={}}get(w){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[w]){let B=++this.maxGroupID;this.collisionGroups[w]={ID:B,predicate:Q=>Q.collisionGroupID===B}}return this.collisionGroups[w]}}function Gt(ue,w,B,Q,ee){let{horizontalAlign:le,verticalAlign:ze}=a.au(ue);return new a.P(-(le-.5)*w+Q[0]*ee,-(ze-.5)*B+Q[1]*ee)}class wt{constructor(w,B,Q,ee,le,ze){this.transform=w.clone(),this.terrain=Q,this.collisionIndex=new un(this.transform,B),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=ee,this.retainedQueryData={},this.collisionGroups=new Jn(le),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=ze,ze&&(ze.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(w){let B=this.terrain;return B?(Q,ee)=>B.getElevation(w,Q,ee):null}getBucketParts(w,B,Q,ee){let le=Q.getBucket(B),ze=Q.latestFeatureIndex;if(!le||!ze||B.id!==le.layerIds[0])return;let Ze=Q.collisionBoxArray,ut=le.layers[0].layout,Mt=le.layers[0].paint,Jt=Math.pow(2,this.transform.zoom-Q.tileID.overscaledZ),$t=Q.tileSize/a.X,mr=Q.tileID.toUnwrapped(),Cr=this.transform.calculatePosMatrix(mr),ve=ut.get(\"text-pitch-alignment\")===\"map\",xe=ut.get(\"text-rotation-alignment\")===\"map\",Ie=Fn(Q,1,this.transform.zoom),qe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,Mt.get(\"text-translate\"),Mt.get(\"text-translate-anchor\")),Qe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,Mt.get(\"icon-translate\"),Mt.get(\"icon-translate-anchor\")),Xe=qr(Cr,ve,xe,this.transform,Ie),nt=null;if(ve){let jt=jr(Cr,ve,xe,this.transform,Ie);nt=a.L([],this.transform.labelPlaneMatrix,jt)}this.retainedQueryData[le.bucketInstanceId]=new Kn(le.bucketInstanceId,ze,le.sourceLayerIndex,le.index,Q.tileID);let qt={bucket:le,layout:ut,translationText:qe,translationIcon:Qe,posMatrix:Cr,unwrappedTileID:mr,textLabelPlaneMatrix:Xe,labelToScreenMatrix:nt,scale:Jt,textPixelRatio:$t,holdingForFade:Q.holdingForFade(),collisionBoxArray:Ze,partiallyEvaluatedTextSize:a.ag(le.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(le.sourceID)};if(ee)for(let jt of le.sortKeyRanges){let{sortKey:ar,symbolInstanceStart:fr,symbolInstanceEnd:br}=jt;w.push({sortKey:ar,symbolInstanceStart:fr,symbolInstanceEnd:br,parameters:qt})}else w.push({symbolInstanceStart:0,symbolInstanceEnd:le.symbolInstances.length,parameters:qt})}attemptAnchorPlacement(w,B,Q,ee,le,ze,Ze,ut,Mt,Jt,$t,mr,Cr,ve,xe,Ie,qe,Qe,Xe){let nt=a.aq[w.textAnchor],qt=[w.textOffset0,w.textOffset1],jt=Gt(nt,Q,ee,qt,le),ar=this.collisionIndex.placeCollisionBox(B,mr,ut,Mt,Jt,Ze,ze,Ie,$t.predicate,Xe,jt);if((!Qe||this.collisionIndex.placeCollisionBox(Qe,mr,ut,Mt,Jt,Ze,ze,qe,$t.predicate,Xe,jt).placeable)&&ar.placeable){let fr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Cr.crossTileID]&&this.prevPlacement.placements[Cr.crossTileID]&&this.prevPlacement.placements[Cr.crossTileID].text&&(fr=this.prevPlacement.variableOffsets[Cr.crossTileID].anchor),Cr.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[Cr.crossTileID]={textOffset:qt,width:Q,height:ee,anchor:nt,textBoxScale:le,prevAnchor:fr},this.markUsedJustification(ve,nt,Cr,xe),ve.allowVerticalPlacement&&(this.markUsedOrientation(ve,xe,Cr),this.placedOrientations[Cr.crossTileID]=xe),{shift:jt,placedGlyphBoxes:ar}}}placeLayerBucketPart(w,B,Q){let{bucket:ee,layout:le,translationText:ze,translationIcon:Ze,posMatrix:ut,unwrappedTileID:Mt,textLabelPlaneMatrix:Jt,labelToScreenMatrix:$t,textPixelRatio:mr,holdingForFade:Cr,collisionBoxArray:ve,partiallyEvaluatedTextSize:xe,collisionGroup:Ie}=w.parameters,qe=le.get(\"text-optional\"),Qe=le.get(\"icon-optional\"),Xe=a.ar(le,\"text-overlap\",\"text-allow-overlap\"),nt=Xe===\"always\",qt=a.ar(le,\"icon-overlap\",\"icon-allow-overlap\"),jt=qt===\"always\",ar=le.get(\"text-rotation-alignment\")===\"map\",fr=le.get(\"text-pitch-alignment\")===\"map\",br=le.get(\"icon-text-fit\")!==\"none\",Fr=le.get(\"symbol-z-order\")===\"viewport-y\",Hr=nt&&(jt||!ee.hasIconData()||Qe),ri=jt&&(nt||!ee.hasTextData()||qe);!ee.collisionArrays&&ve&&ee.deserializeCollisionBoxes(ve);let Ci=this._getTerrainElevationFunc(this.retainedQueryData[ee.bucketInstanceId].tileID),cn=(sn,Ln,Yn)=>{var Aa,fa;if(B[sn.crossTileID])return;if(Cr)return void(this.placements[sn.crossTileID]=new Qn(!1,!1,!1));let $a=!1,Co=!1,Qa=!0,mo=null,Bo={box:null,placeable:!1,offscreen:null},Ps={box:null,placeable:!1,offscreen:null},Ts=null,wo=null,To=null,hl=0,Ul=0,Lu=0;Ln.textFeatureIndex?hl=Ln.textFeatureIndex:sn.useRuntimeCollisionCircles&&(hl=sn.featureIndex),Ln.verticalTextFeatureIndex&&(Ul=Ln.verticalTextFeatureIndex);let au=Ln.textBox;if(au){let Tl=Te=>{let Oe=a.ah.horizontal;if(ee.allowVerticalPlacement&&!Te&&this.prevPlacement){let Ve=this.prevPlacement.placedOrientations[sn.crossTileID];Ve&&(this.placedOrientations[sn.crossTileID]=Ve,Oe=Ve,this.markUsedOrientation(ee,Oe,sn))}return Oe},Al=(Te,Oe)=>{if(ee.allowVerticalPlacement&&sn.numVerticalGlyphVertices>0&&Ln.verticalTextBox){for(let Ve of ee.writingModes)if(Ve===a.ah.vertical?(Bo=Oe(),Ps=Bo):Bo=Te(),Bo&&Bo.placeable)break}else Bo=Te()},X=sn.textAnchorOffsetStartIndex,se=sn.textAnchorOffsetEndIndex;if(se===X){let Te=(Oe,Ve)=>{let Ye=this.collisionIndex.placeCollisionBox(Oe,Xe,mr,ut,Mt,fr,ar,ze,Ie.predicate,Ci);return Ye&&Ye.placeable&&(this.markUsedOrientation(ee,Ve,sn),this.placedOrientations[sn.crossTileID]=Ve),Ye};Al(()=>Te(au,a.ah.horizontal),()=>{let Oe=Ln.verticalTextBox;return ee.allowVerticalPlacement&&sn.numVerticalGlyphVertices>0&&Oe?Te(Oe,a.ah.vertical):{box:null,offscreen:null}}),Tl(Bo&&Bo.placeable)}else{let Te=a.aq[(fa=(Aa=this.prevPlacement)===null||Aa===void 0?void 0:Aa.variableOffsets[sn.crossTileID])===null||fa===void 0?void 0:fa.anchor],Oe=(Ye,Pt,at)=>{let Wt=Ye.x2-Ye.x1,dr=Ye.y2-Ye.y1,pr=sn.textBoxScale,Ur=br&&qt===\"never\"?Pt:null,zr=null,gi=Xe===\"never\"?1:2,xi=\"never\";Te&&gi++;for(let Wr=0;WrOe(au,Ln.iconBox,a.ah.horizontal),()=>{let Ye=Ln.verticalTextBox;return ee.allowVerticalPlacement&&(!Bo||!Bo.placeable)&&sn.numVerticalGlyphVertices>0&&Ye?Oe(Ye,Ln.verticalIconBox,a.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Bo&&($a=Bo.placeable,Qa=Bo.offscreen);let Ve=Tl(Bo&&Bo.placeable);if(!$a&&this.prevPlacement){let Ye=this.prevPlacement.variableOffsets[sn.crossTileID];Ye&&(this.variableOffsets[sn.crossTileID]=Ye,this.markUsedJustification(ee,Ye.anchor,sn,Ve))}}}if(Ts=Bo,$a=Ts&&Ts.placeable,Qa=Ts&&Ts.offscreen,sn.useRuntimeCollisionCircles){let Tl=ee.text.placedSymbolArray.get(sn.centerJustifiedTextSymbolIndex),Al=a.ai(ee.textSizeData,xe,Tl),X=le.get(\"text-padding\");wo=this.collisionIndex.placeCollisionCircles(Xe,Tl,ee.lineVertexArray,ee.glyphOffsetArray,Al,ut,Mt,Jt,$t,Q,fr,Ie.predicate,sn.collisionCircleDiameter,X,ze,Ci),wo.circles.length&&wo.collisionDetected&&!Q&&a.w(\"Collisions detected, but collision boxes are not shown\"),$a=nt||wo.circles.length>0&&!wo.collisionDetected,Qa=Qa&&wo.offscreen}if(Ln.iconFeatureIndex&&(Lu=Ln.iconFeatureIndex),Ln.iconBox){let Tl=Al=>this.collisionIndex.placeCollisionBox(Al,qt,mr,ut,Mt,fr,ar,Ze,Ie.predicate,Ci,br&&mo?mo:void 0);Ps&&Ps.placeable&&Ln.verticalIconBox?(To=Tl(Ln.verticalIconBox),Co=To.placeable):(To=Tl(Ln.iconBox),Co=To.placeable),Qa=Qa&&To.offscreen}let Js=qe||sn.numHorizontalGlyphVertices===0&&sn.numVerticalGlyphVertices===0,eu=Qe||sn.numIconVertices===0;Js||eu?eu?Js||(Co=Co&&$a):$a=Co&&$a:Co=$a=Co&&$a;let dc=Co&&To.placeable;if($a&&Ts.placeable&&this.collisionIndex.insertCollisionBox(Ts.box,Xe,le.get(\"text-ignore-placement\"),ee.bucketInstanceId,Ps&&Ps.placeable&&Ul?Ul:hl,Ie.ID),dc&&this.collisionIndex.insertCollisionBox(To.box,qt,le.get(\"icon-ignore-placement\"),ee.bucketInstanceId,Lu,Ie.ID),wo&&$a&&this.collisionIndex.insertCollisionCircles(wo.circles,Xe,le.get(\"text-ignore-placement\"),ee.bucketInstanceId,hl,Ie.ID),Q&&this.storeCollisionData(ee.bucketInstanceId,Yn,Ln,Ts,To,wo),sn.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(ee.bucketInstanceId===0)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[sn.crossTileID]=new Qn($a||Hr,Co||ri,Qa||ee.justReloaded),B[sn.crossTileID]=!0};if(Fr){if(w.symbolInstanceStart!==0)throw new Error(\"bucket.bucketInstanceId should be 0\");let sn=ee.getSortedSymbolIndexes(this.transform.angle);for(let Ln=sn.length-1;Ln>=0;--Ln){let Yn=sn[Ln];cn(ee.symbolInstances.get(Yn),ee.collisionArrays[Yn],Yn)}}else for(let sn=w.symbolInstanceStart;sn=0&&(w.text.placedSymbolArray.get(Ze).crossTileID=le>=0&&Ze!==le?0:Q.crossTileID)}markUsedOrientation(w,B,Q){let ee=B===a.ah.horizontal||B===a.ah.horizontalOnly?B:0,le=B===a.ah.vertical?B:0,ze=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex];for(let Ze of ze)w.text.placedSymbolArray.get(Ze).placedOrientation=ee;Q.verticalPlacedTextSymbolIndex&&(w.text.placedSymbolArray.get(Q.verticalPlacedTextSymbolIndex).placedOrientation=le)}commit(w){this.commitTime=w,this.zoomAtLastRecencyCheck=this.transform.zoom;let B=this.prevPlacement,Q=!1;this.prevZoomAdjustment=B?B.zoomAdjustment(this.transform.zoom):0;let ee=B?B.symbolFadeChange(w):1,le=B?B.opacities:{},ze=B?B.variableOffsets:{},Ze=B?B.placedOrientations:{};for(let ut in this.placements){let Mt=this.placements[ut],Jt=le[ut];Jt?(this.opacities[ut]=new Hn(Jt,ee,Mt.text,Mt.icon),Q=Q||Mt.text!==Jt.text.placed||Mt.icon!==Jt.icon.placed):(this.opacities[ut]=new Hn(null,ee,Mt.text,Mt.icon,Mt.skipFade),Q=Q||Mt.text||Mt.icon)}for(let ut in le){let Mt=le[ut];if(!this.opacities[ut]){let Jt=new Hn(Mt,ee,!1,!1);Jt.isHidden()||(this.opacities[ut]=Jt,Q=Q||Mt.text.placed||Mt.icon.placed)}}for(let ut in ze)this.variableOffsets[ut]||!this.opacities[ut]||this.opacities[ut].isHidden()||(this.variableOffsets[ut]=ze[ut]);for(let ut in Ze)this.placedOrientations[ut]||!this.opacities[ut]||this.opacities[ut].isHidden()||(this.placedOrientations[ut]=Ze[ut]);if(B&&B.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");Q?this.lastPlacementChangeTime=w:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=B?B.lastPlacementChangeTime:w)}updateLayerOpacities(w,B){let Q={};for(let ee of B){let le=ee.getBucket(w);le&&ee.latestFeatureIndex&&w.id===le.layerIds[0]&&this.updateBucketOpacities(le,ee.tileID,Q,ee.collisionBoxArray)}}updateBucketOpacities(w,B,Q,ee){w.hasTextData()&&(w.text.opacityVertexArray.clear(),w.text.hasVisibleVertices=!1),w.hasIconData()&&(w.icon.opacityVertexArray.clear(),w.icon.hasVisibleVertices=!1),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexArray.clear(),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexArray.clear();let le=w.layers[0],ze=le.layout,Ze=new Hn(null,0,!1,!1,!0),ut=ze.get(\"text-allow-overlap\"),Mt=ze.get(\"icon-allow-overlap\"),Jt=le._unevaluatedLayout.hasValue(\"text-variable-anchor\")||le._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),$t=ze.get(\"text-rotation-alignment\")===\"map\",mr=ze.get(\"text-pitch-alignment\")===\"map\",Cr=ze.get(\"icon-text-fit\")!==\"none\",ve=new Hn(null,0,ut&&(Mt||!w.hasIconData()||ze.get(\"icon-optional\")),Mt&&(ut||!w.hasTextData()||ze.get(\"text-optional\")),!0);!w.collisionArrays&&ee&&(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData())&&w.deserializeCollisionBoxes(ee);let xe=(qe,Qe,Xe)=>{for(let nt=0;nt0,fr=this.placedOrientations[Qe.crossTileID],br=fr===a.ah.vertical,Fr=fr===a.ah.horizontal||fr===a.ah.horizontalOnly;if(Xe>0||nt>0){let ri=en(jt.text);xe(w.text,Xe,br?fn:ri),xe(w.text,nt,Fr?fn:ri);let Ci=jt.text.isHidden();[Qe.rightJustifiedTextSymbolIndex,Qe.centerJustifiedTextSymbolIndex,Qe.leftJustifiedTextSymbolIndex].forEach(Ln=>{Ln>=0&&(w.text.placedSymbolArray.get(Ln).hidden=Ci||br?1:0)}),Qe.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(Qe.verticalPlacedTextSymbolIndex).hidden=Ci||Fr?1:0);let cn=this.variableOffsets[Qe.crossTileID];cn&&this.markUsedJustification(w,cn.anchor,Qe,fr);let sn=this.placedOrientations[Qe.crossTileID];sn&&(this.markUsedJustification(w,\"left\",Qe,sn),this.markUsedOrientation(w,sn,Qe))}if(ar){let ri=en(jt.icon),Ci=!(Cr&&Qe.verticalPlacedIconSymbolIndex&&br);Qe.placedIconSymbolIndex>=0&&(xe(w.icon,Qe.numIconVertices,Ci?ri:fn),w.icon.placedSymbolArray.get(Qe.placedIconSymbolIndex).hidden=jt.icon.isHidden()),Qe.verticalPlacedIconSymbolIndex>=0&&(xe(w.icon,Qe.numVerticalIconVertices,Ci?fn:ri),w.icon.placedSymbolArray.get(Qe.verticalPlacedIconSymbolIndex).hidden=jt.icon.isHidden())}let Hr=Ie&&Ie.has(qe)?Ie.get(qe):{text:null,icon:null};if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){let ri=w.collisionArrays[qe];if(ri){let Ci=new a.P(0,0);if(ri.textBox||ri.verticalTextBox){let cn=!0;if(Jt){let sn=this.variableOffsets[qt];sn?(Ci=Gt(sn.anchor,sn.width,sn.height,sn.textOffset,sn.textBoxScale),$t&&Ci._rotate(mr?this.transform.angle:-this.transform.angle)):cn=!1}if(ri.textBox||ri.verticalTextBox){let sn;ri.textBox&&(sn=br),ri.verticalTextBox&&(sn=Fr),rr(w.textCollisionBox.collisionVertexArray,jt.text.placed,!cn||sn,Hr.text,Ci.x,Ci.y)}}if(ri.iconBox||ri.verticalIconBox){let cn=!!(!Fr&&ri.verticalIconBox),sn;ri.iconBox&&(sn=cn),ri.verticalIconBox&&(sn=!cn),rr(w.iconCollisionBox.collisionVertexArray,jt.icon.placed,sn,Hr.icon,Cr?Ci.x:0,Cr?Ci.y:0)}}}}if(w.sortFeatures(this.transform.angle),this.retainedQueryData[w.bucketInstanceId]&&(this.retainedQueryData[w.bucketInstanceId].featureSortOrder=w.featureSortOrder),w.hasTextData()&&w.text.opacityVertexBuffer&&w.text.opacityVertexBuffer.updateData(w.text.opacityVertexArray),w.hasIconData()&&w.icon.opacityVertexBuffer&&w.icon.opacityVertexBuffer.updateData(w.icon.opacityVertexArray),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexBuffer&&w.iconCollisionBox.collisionVertexBuffer.updateData(w.iconCollisionBox.collisionVertexArray),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexBuffer&&w.textCollisionBox.collisionVertexBuffer.updateData(w.textCollisionBox.collisionVertexArray),w.text.opacityVertexArray.length!==w.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${w.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${w.text.layoutVertexArray.length}) / 4`);if(w.icon.opacityVertexArray.length!==w.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${w.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${w.icon.layoutVertexArray.length}) / 4`);if(w.bucketInstanceId in this.collisionCircleArrays){let qe=this.collisionCircleArrays[w.bucketInstanceId];w.placementInvProjMatrix=qe.invProjMatrix,w.placementViewportMatrix=qe.viewportMatrix,w.collisionCircleArray=qe.circles,delete this.collisionCircleArrays[w.bucketInstanceId]}}symbolFadeChange(w){return this.fadeDuration===0?1:(w-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(w){return Math.max(0,(this.transform.zoom-w)/1.5)}hasTransitions(w){return this.stale||w-this.lastPlacementChangeTimew}setStale(){this.stale=!0}}function rr(ue,w,B,Q,ee,le){Q&&Q.length!==0||(Q=[0,0,0,0]);let ze=Q[0]-mi,Ze=Q[1]-mi,ut=Q[2]-mi,Mt=Q[3]-mi;ue.emplaceBack(w?1:0,B?1:0,ee||0,le||0,ze,Ze),ue.emplaceBack(w?1:0,B?1:0,ee||0,le||0,ut,Ze),ue.emplaceBack(w?1:0,B?1:0,ee||0,le||0,ut,Mt),ue.emplaceBack(w?1:0,B?1:0,ee||0,le||0,ze,Mt)}let ir=Math.pow(2,25),wr=Math.pow(2,24),Xr=Math.pow(2,17),ti=Math.pow(2,16),$r=Math.pow(2,9),Ri=Math.pow(2,8),Zi=Math.pow(2,1);function en(ue){if(ue.opacity===0&&!ue.placed)return 0;if(ue.opacity===1&&ue.placed)return 4294967295;let w=ue.placed?1:0,B=Math.floor(127*ue.opacity);return B*ir+w*wr+B*Xr+w*ti+B*$r+w*Ri+B*Zi+w}let fn=0;function yn(){return{isOccluded:(ue,w,B)=>!1,getPitchedTextCorrection:(ue,w,B)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(ue,w,B,Q){throw new Error(\"Not implemented.\")},translatePosition:(ue,w,B,Q)=>function(ee,le,ze,Ze,ut=!1){if(!ze[0]&&!ze[1])return[0,0];let Mt=ut?Ze===\"map\"?ee.angle:0:Ze===\"viewport\"?-ee.angle:0;if(Mt){let Jt=Math.sin(Mt),$t=Math.cos(Mt);ze=[ze[0]*$t-ze[1]*Jt,ze[0]*Jt+ze[1]*$t]}return[ut?ze[0]:Fn(le,ze[0],ee.zoom),ut?ze[1]:Fn(le,ze[1],ee.zoom)]}(ue,w,B,Q),getCircleRadiusCorrection:ue=>1}}class Mn{constructor(w){this._sortAcrossTiles=w.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!w.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(w,B,Q,ee,le){let ze=this._bucketParts;for(;this._currentTileIndexZe.sortKey-ut.sortKey));this._currentPartIndex!this._forceFullPlacement&&u.now()-ee>2;for(;this._currentPlacementIndex>=0;){let ze=B[w[this._currentPlacementIndex]],Ze=this.placement.collisionIndex.transform.zoom;if(ze.type===\"symbol\"&&(!ze.minzoom||ze.minzoom<=Ze)&&(!ze.maxzoom||ze.maxzoom>Ze)){if(this._inProgressLayer||(this._inProgressLayer=new Mn(ze)),this._inProgressLayer.continuePlacement(Q[ze.source],this.placement,this._showCollisionBoxes,ze,le))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(w){return this.placement.commit(w),this.placement}}let ua=512/a.X/2;class ma{constructor(w,B,Q){this.tileID=w,this.bucketInstanceId=Q,this._symbolsByKey={};let ee=new Map;for(let le=0;le({x:Math.floor(ut.anchorX*ua),y:Math.floor(ut.anchorY*ua)})),crossTileIDs:ze.map(ut=>ut.crossTileID)};if(Ze.positions.length>128){let ut=new a.av(Ze.positions.length,16,Uint16Array);for(let{x:Mt,y:Jt}of Ze.positions)ut.add(Mt,Jt);ut.finish(),delete Ze.positions,Ze.index=ut}this._symbolsByKey[le]=Ze}}getScaledCoordinates(w,B){let{x:Q,y:ee,z:le}=this.tileID.canonical,{x:ze,y:Ze,z:ut}=B.canonical,Mt=ua/Math.pow(2,ut-le),Jt=(Ze*a.X+w.anchorY)*Mt,$t=ee*a.X*ua;return{x:Math.floor((ze*a.X+w.anchorX)*Mt-Q*a.X*ua),y:Math.floor(Jt-$t)}}findMatches(w,B,Q){let ee=this.tileID.canonical.zw)}}class Wa{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Fa{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(w){let B=Math.round((w-this.lng)/360);if(B!==0)for(let Q in this.indexes){let ee=this.indexes[Q],le={};for(let ze in ee){let Ze=ee[ze];Ze.tileID=Ze.tileID.unwrapTo(Ze.tileID.wrap+B),le[Ze.tileID.key]=Ze}this.indexes[Q]=le}this.lng=w}addBucket(w,B,Q){if(this.indexes[w.overscaledZ]&&this.indexes[w.overscaledZ][w.key]){if(this.indexes[w.overscaledZ][w.key].bucketInstanceId===B.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(w.overscaledZ,this.indexes[w.overscaledZ][w.key])}for(let le=0;lew.overscaledZ)for(let Ze in ze){let ut=ze[Ze];ut.tileID.isChildOf(w)&&ut.findMatches(B.symbolInstances,w,ee)}else{let Ze=ze[w.scaledTo(Number(le)).key];Ze&&Ze.findMatches(B.symbolInstances,w,ee)}}for(let le=0;le{B[Q]=!0});for(let Q in this.layerIndexes)B[Q]||delete this.layerIndexes[Q]}}let da=(ue,w)=>a.t(ue,w&&w.filter(B=>B.identifier!==\"source.canvas\")),jn=a.aw();class Ha extends a.E{constructor(w,B={}){super(),this._rtlPluginLoaded=()=>{for(let Q in this.sourceCaches){let ee=this.sourceCaches[Q].getSource().type;ee!==\"vector\"&&ee!==\"geojson\"||this.sourceCaches[Q].reload()}},this.map=w,this.dispatcher=new Ee(Se(),w._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",(Q,ee)=>this.getGlyphs(Q,ee)),this.dispatcher.registerMessageHandler(\"GI\",(Q,ee)=>this.getImages(Q,ee)),this.imageManager=new E,this.imageManager.setEventedParent(this),this.glyphManager=new G(w._requestManager,B.localIdeographFontFamily),this.lineAtlas=new oe(256,512),this.crossTileSymbolIndex=new Xo,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new a.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",a.ay()),St().on(Ue,this._rtlPluginLoaded),this.on(\"data\",Q=>{if(Q.dataType!==\"source\"||Q.sourceDataType!==\"metadata\")return;let ee=this.sourceCaches[Q.sourceId];if(!ee)return;let le=ee.getSource();if(le&&le.vectorLayerIds)for(let ze in this._layers){let Ze=this._layers[ze];Ze.source===le.id&&this._validateLayer(Ze)}})}loadURL(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),B.validate=typeof B.validate!=\"boolean\"||B.validate;let ee=this.map._requestManager.transformRequest(w,\"Style\");this._loadStyleRequest=new AbortController;let le=this._loadStyleRequest;a.h(ee,this._loadStyleRequest).then(ze=>{this._loadStyleRequest=null,this._load(ze.data,B,Q)}).catch(ze=>{this._loadStyleRequest=null,ze&&!le.signal.aborted&&this.fire(new a.j(ze))})}loadJSON(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,B.validate=B.validate!==!1,this._load(w,B,Q)}).catch(()=>{})}loadEmpty(){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._load(jn,{validate:!1})}_load(w,B,Q){var ee;let le=B.transformStyle?B.transformStyle(Q,w):w;if(!B.validate||!da(this,a.u(le))){this._loaded=!0,this.stylesheet=le;for(let ze in le.sources)this.addSource(ze,le.sources[ze],{validate:!1});le.sprite?this._loadSprite(le.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(le.glyphs),this._createLayers(),this.light=new N(this.stylesheet.light),this.sky=new re(this.stylesheet.sky),this.map.setTerrain((ee=this.stylesheet.terrain)!==null&&ee!==void 0?ee:null),this.fire(new a.k(\"data\",{dataType:\"style\"})),this.fire(new a.k(\"style.load\"))}}_createLayers(){let w=a.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",w),this._order=w.map(B=>B.id),this._layers={},this._serializedLayers=null;for(let B of w){let Q=a.aA(B);Q.setEventedParent(this,{layer:{id:B.id}}),this._layers[B.id]=Q}}_loadSprite(w,B=!1,Q=void 0){let ee;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(le,ze,Ze,ut){return a._(this,void 0,void 0,function*(){let Mt=C(le),Jt=Ze>1?\"@2x\":\"\",$t={},mr={};for(let{id:Cr,url:ve}of Mt){let xe=ze.transformRequest(S(ve,Jt,\".json\"),\"SpriteJSON\");$t[Cr]=a.h(xe,ut);let Ie=ze.transformRequest(S(ve,Jt,\".png\"),\"SpriteImage\");mr[Cr]=p.getImage(Ie,ut)}return yield Promise.all([...Object.values($t),...Object.values(mr)]),function(Cr,ve){return a._(this,void 0,void 0,function*(){let xe={};for(let Ie in Cr){xe[Ie]={};let qe=u.getImageCanvasContext((yield ve[Ie]).data),Qe=(yield Cr[Ie]).data;for(let Xe in Qe){let{width:nt,height:qt,x:jt,y:ar,sdf:fr,pixelRatio:br,stretchX:Fr,stretchY:Hr,content:ri,textFitWidth:Ci,textFitHeight:cn}=Qe[Xe];xe[Ie][Xe]={data:null,pixelRatio:br,sdf:fr,stretchX:Fr,stretchY:Hr,content:ri,textFitWidth:Ci,textFitHeight:cn,spriteData:{width:nt,height:qt,x:jt,y:ar,context:qe}}}}return xe})}($t,mr)})}(w,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(le=>{if(this._spriteRequest=null,le)for(let ze in le){this._spritesImagesIds[ze]=[];let Ze=this._spritesImagesIds[ze]?this._spritesImagesIds[ze].filter(ut=>!(ut in le)):[];for(let ut of Ze)this.imageManager.removeImage(ut),this._changedImages[ut]=!0;for(let ut in le[ze]){let Mt=ze===\"default\"?ut:`${ze}:${ut}`;this._spritesImagesIds[ze].push(Mt),Mt in this.imageManager.images?this.imageManager.updateImage(Mt,le[ze][ut],!1):this.imageManager.addImage(Mt,le[ze][ut]),B&&(this._changedImages[Mt]=!0)}}}).catch(le=>{this._spriteRequest=null,ee=le,this.fire(new a.j(ee))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),B&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"})),Q&&Q(ee)})}_unloadSprite(){for(let w of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(w),this._changedImages[w]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}_validateLayer(w){let B=this.sourceCaches[w.source];if(!B)return;let Q=w.sourceLayer;if(!Q)return;let ee=B.getSource();(ee.type===\"geojson\"||ee.vectorLayerIds&&ee.vectorLayerIds.indexOf(Q)===-1)&&this.fire(new a.j(new Error(`Source layer \"${Q}\" does not exist on source \"${ee.id}\" as specified by style layer \"${w.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let w in this.sourceCaches)if(!this.sourceCaches[w].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(w,B=!1){let Q=this._serializedAllLayers();if(!w||w.length===0)return Object.values(B?a.aB(Q):Q);let ee=[];for(let le of w)if(Q[le]){let ze=B?a.aB(Q[le]):Q[le];ee.push(ze)}return ee}_serializedAllLayers(){let w=this._serializedLayers;if(w)return w;w=this._serializedLayers={};let B=Object.keys(this._layers);for(let Q of B){let ee=this._layers[Q];ee.type!==\"custom\"&&(w[Q]=ee.serialize())}return w}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let w in this.sourceCaches)if(this.sourceCaches[w].hasTransition())return!0;for(let w in this._layers)if(this._layers[w].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(w){if(!this._loaded)return;let B=this._changed;if(B){let ee=Object.keys(this._updatedLayers),le=Object.keys(this._removedLayers);(ee.length||le.length)&&this._updateWorkerLayers(ee,le);for(let ze in this._updatedSources){let Ze=this._updatedSources[ze];if(Ze===\"reload\")this._reloadSource(ze);else{if(Ze!==\"clear\")throw new Error(`Invalid action ${Ze}`);this._clearSource(ze)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let ze in this._updatedPaintProps)this._layers[ze].updateTransitions(w);this.light.updateTransitions(w),this.sky.updateTransitions(w),this._resetUpdates()}let Q={};for(let ee in this.sourceCaches){let le=this.sourceCaches[ee];Q[ee]=le.used,le.used=!1}for(let ee of this._order){let le=this._layers[ee];le.recalculate(w,this._availableImages),!le.isHidden(w.zoom)&&le.source&&(this.sourceCaches[le.source].used=!0)}for(let ee in Q){let le=this.sourceCaches[ee];!!Q[ee]!=!!le.used&&le.fire(new a.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:ee}))}this.light.recalculate(w),this.sky.recalculate(w),this.z=w.zoom,B&&this.fire(new a.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let w=Object.keys(this._changedImages);if(w.length){for(let B in this.sourceCaches)this.sourceCaches[B].reloadTilesForDependencies([\"icons\",\"patterns\"],w);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let w in this.sourceCaches)this.sourceCaches[w].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(w,B){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(w,!1),removedIds:B})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(w,B={}){var Q;this._checkLoaded();let ee=this.serialize();if(w=B.transformStyle?B.transformStyle(ee,w):w,((Q=B.validate)===null||Q===void 0||Q)&&da(this,a.u(w)))return!1;(w=a.aB(w)).layers=a.az(w.layers);let le=a.aC(ee,w),ze=this._getOperationsToPerform(le);if(ze.unimplemented.length>0)throw new Error(`Unimplemented: ${ze.unimplemented.join(\", \")}.`);if(ze.operations.length===0)return!1;for(let Ze of ze.operations)Ze();return this.stylesheet=w,this._serializedLayers=null,!0}_getOperationsToPerform(w){let B=[],Q=[];for(let ee of w)switch(ee.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":B.push(()=>this.addLayer.apply(this,ee.args));break;case\"removeLayer\":B.push(()=>this.removeLayer.apply(this,ee.args));break;case\"setPaintProperty\":B.push(()=>this.setPaintProperty.apply(this,ee.args));break;case\"setLayoutProperty\":B.push(()=>this.setLayoutProperty.apply(this,ee.args));break;case\"setFilter\":B.push(()=>this.setFilter.apply(this,ee.args));break;case\"addSource\":B.push(()=>this.addSource.apply(this,ee.args));break;case\"removeSource\":B.push(()=>this.removeSource.apply(this,ee.args));break;case\"setLayerZoomRange\":B.push(()=>this.setLayerZoomRange.apply(this,ee.args));break;case\"setLight\":B.push(()=>this.setLight.apply(this,ee.args));break;case\"setGeoJSONSourceData\":B.push(()=>this.setGeoJSONSourceData.apply(this,ee.args));break;case\"setGlyphs\":B.push(()=>this.setGlyphs.apply(this,ee.args));break;case\"setSprite\":B.push(()=>this.setSprite.apply(this,ee.args));break;case\"setSky\":B.push(()=>this.setSky.apply(this,ee.args));break;case\"setTerrain\":B.push(()=>this.map.setTerrain.apply(this,ee.args));break;case\"setTransition\":B.push(()=>{});break;default:Q.push(ee.command)}return{operations:B,unimplemented:Q}}addImage(w,B){if(this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" already exists.`)));this.imageManager.addImage(w,B),this._afterImageUpdated(w)}updateImage(w,B){this.imageManager.updateImage(w,B)}getImage(w){return this.imageManager.getImage(w)}removeImage(w){if(!this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" does not exist.`)));this.imageManager.removeImage(w),this._afterImageUpdated(w)}_afterImageUpdated(w){this._availableImages=this.imageManager.listImages(),this._changedImages[w]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(w,B,Q={}){if(this._checkLoaded(),this.sourceCaches[w]!==void 0)throw new Error(`Source \"${w}\" already exists.`);if(!B.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(B).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(B.type)>=0&&this._validate(a.u.source,`sources.${w}`,B,null,Q))return;this.map&&this.map._collectResourceTiming&&(B.collectResourceTiming=!0);let ee=this.sourceCaches[w]=new pt(w,B,this.dispatcher);ee.style=this,ee.setEventedParent(this,()=>({isSourceLoaded:ee.loaded(),source:ee.serialize(),sourceId:w})),ee.onAdd(this.map),this._changed=!0}removeSource(w){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(\"There is no source with this ID\");for(let Q in this._layers)if(this._layers[Q].source===w)return this.fire(new a.j(new Error(`Source \"${w}\" cannot be removed while layer \"${Q}\" is using it.`)));let B=this.sourceCaches[w];delete this.sourceCaches[w],delete this._updatedSources[w],B.fire(new a.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:w})),B.setEventedParent(null),B.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(w,B){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(`There is no source with this ID=${w}`);let Q=this.sourceCaches[w].getSource();if(Q.type!==\"geojson\")throw new Error(`geojsonSource.type is ${Q.type}, which is !== 'geojson`);Q.setData(B),this._changed=!0}getSource(w){return this.sourceCaches[w]&&this.sourceCaches[w].getSource()}addLayer(w,B,Q={}){this._checkLoaded();let ee=w.id;if(this.getLayer(ee))return void this.fire(new a.j(new Error(`Layer \"${ee}\" already exists on this map.`)));let le;if(w.type===\"custom\"){if(da(this,a.aD(w)))return;le=a.aA(w)}else{if(\"source\"in w&&typeof w.source==\"object\"&&(this.addSource(ee,w.source),w=a.aB(w),w=a.e(w,{source:ee})),this._validate(a.u.layer,`layers.${ee}`,w,{arrayIndex:-1},Q))return;le=a.aA(w),this._validateLayer(le),le.setEventedParent(this,{layer:{id:ee}})}let ze=B?this._order.indexOf(B):this._order.length;if(B&&ze===-1)this.fire(new a.j(new Error(`Cannot add layer \"${ee}\" before non-existing layer \"${B}\".`)));else{if(this._order.splice(ze,0,ee),this._layerOrderChanged=!0,this._layers[ee]=le,this._removedLayers[ee]&&le.source&&le.type!==\"custom\"){let Ze=this._removedLayers[ee];delete this._removedLayers[ee],Ze.type!==le.type?this._updatedSources[le.source]=\"clear\":(this._updatedSources[le.source]=\"reload\",this.sourceCaches[le.source].pause())}this._updateLayer(le),le.onAdd&&le.onAdd(this.map)}}moveLayer(w,B){if(this._checkLoaded(),this._changed=!0,!this._layers[w])return void this.fire(new a.j(new Error(`The layer '${w}' does not exist in the map's style and cannot be moved.`)));if(w===B)return;let Q=this._order.indexOf(w);this._order.splice(Q,1);let ee=B?this._order.indexOf(B):this._order.length;B&&ee===-1?this.fire(new a.j(new Error(`Cannot move layer \"${w}\" before non-existing layer \"${B}\".`))):(this._order.splice(ee,0,w),this._layerOrderChanged=!0)}removeLayer(w){this._checkLoaded();let B=this._layers[w];if(!B)return void this.fire(new a.j(new Error(`Cannot remove non-existing layer \"${w}\".`)));B.setEventedParent(null);let Q=this._order.indexOf(w);this._order.splice(Q,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[w]=B,delete this._layers[w],this._serializedLayers&&delete this._serializedLayers[w],delete this._updatedLayers[w],delete this._updatedPaintProps[w],B.onRemove&&B.onRemove(this.map)}getLayer(w){return this._layers[w]}getLayersOrder(){return[...this._order]}hasLayer(w){return w in this._layers}setLayerZoomRange(w,B,Q){this._checkLoaded();let ee=this.getLayer(w);ee?ee.minzoom===B&&ee.maxzoom===Q||(B!=null&&(ee.minzoom=B),Q!=null&&(ee.maxzoom=Q),this._updateLayer(ee)):this.fire(new a.j(new Error(`Cannot set the zoom range of non-existing layer \"${w}\".`)))}setFilter(w,B,Q={}){this._checkLoaded();let ee=this.getLayer(w);if(ee){if(!a.aE(ee.filter,B))return B==null?(ee.filter=void 0,void this._updateLayer(ee)):void(this._validate(a.u.filter,`layers.${ee.id}.filter`,B,null,Q)||(ee.filter=a.aB(B),this._updateLayer(ee)))}else this.fire(new a.j(new Error(`Cannot filter non-existing layer \"${w}\".`)))}getFilter(w){return a.aB(this.getLayer(w).filter)}setLayoutProperty(w,B,Q,ee={}){this._checkLoaded();let le=this.getLayer(w);le?a.aE(le.getLayoutProperty(B),Q)||(le.setLayoutProperty(B,Q,ee),this._updateLayer(le)):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getLayoutProperty(w,B){let Q=this.getLayer(w);if(Q)return Q.getLayoutProperty(B);this.fire(new a.j(new Error(`Cannot get style of non-existing layer \"${w}\".`)))}setPaintProperty(w,B,Q,ee={}){this._checkLoaded();let le=this.getLayer(w);le?a.aE(le.getPaintProperty(B),Q)||(le.setPaintProperty(B,Q,ee)&&this._updateLayer(le),this._changed=!0,this._updatedPaintProps[w]=!0,this._serializedLayers=null):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getPaintProperty(w,B){return this.getLayer(w).getPaintProperty(B)}setFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=w.sourceLayer,le=this.sourceCaches[Q];if(le===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let ze=le.getSource().type;ze===\"geojson\"&&ee?this.fire(new a.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):ze!==\"vector\"||ee?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),le.setFeatureState(ee,w.id,B)):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=this.sourceCaches[Q];if(ee===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let le=ee.getSource().type,ze=le===\"vector\"?w.sourceLayer:void 0;le!==\"vector\"||ze?B&&typeof w.id!=\"string\"&&typeof w.id!=\"number\"?this.fire(new a.j(new Error(\"A feature id is required to remove its specific state property.\"))):ee.removeFeatureState(ze,w.id,B):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(w){this._checkLoaded();let B=w.source,Q=w.sourceLayer,ee=this.sourceCaches[B];if(ee!==void 0)return ee.getSource().type!==\"vector\"||Q?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),ee.getFeatureState(Q,w.id)):void this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new a.j(new Error(`The source '${B}' does not exist in the map's style.`)))}getTransition(){return a.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let w=a.aF(this.sourceCaches,le=>le.serialize()),B=this._serializeByIds(this._order,!0),Q=this.map.getTerrain()||void 0,ee=this.stylesheet;return a.aG({version:ee.version,name:ee.name,metadata:ee.metadata,light:ee.light,sky:ee.sky,center:ee.center,zoom:ee.zoom,bearing:ee.bearing,pitch:ee.pitch,sprite:ee.sprite,glyphs:ee.glyphs,transition:ee.transition,sources:w,layers:B,terrain:Q},le=>le!==void 0)}_updateLayer(w){this._updatedLayers[w.id]=!0,w.source&&!this._updatedSources[w.source]&&this.sourceCaches[w.source].getSource().type!==\"raster\"&&(this._updatedSources[w.source]=\"reload\",this.sourceCaches[w.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(w){let B=ze=>this._layers[ze].type===\"fill-extrusion\",Q={},ee=[];for(let ze=this._order.length-1;ze>=0;ze--){let Ze=this._order[ze];if(B(Ze)){Q[Ze]=ze;for(let ut of w){let Mt=ut[Ze];if(Mt)for(let Jt of Mt)ee.push(Jt)}}}ee.sort((ze,Ze)=>Ze.intersectionZ-ze.intersectionZ);let le=[];for(let ze=this._order.length-1;ze>=0;ze--){let Ze=this._order[ze];if(B(Ze))for(let ut=ee.length-1;ut>=0;ut--){let Mt=ee[ut].feature;if(Q[Mt.layer.id]{let fr=qe.featureSortOrder;if(fr){let br=fr.indexOf(jt.featureIndex);return fr.indexOf(ar.featureIndex)-br}return ar.featureIndex-jt.featureIndex});for(let jt of qt)nt.push(jt)}}for(let qe in ve)ve[qe].forEach(Qe=>{let Xe=Qe.feature,nt=Mt[Ze[qe].source].getFeatureState(Xe.layer[\"source-layer\"],Xe.id);Xe.source=Xe.layer.source,Xe.layer[\"source-layer\"]&&(Xe.sourceLayer=Xe.layer[\"source-layer\"]),Xe.state=nt});return ve}(this._layers,ze,this.sourceCaches,w,B,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(le)}querySourceFeatures(w,B){B&&B.filter&&this._validate(a.u.filter,\"querySourceFeatures.filter\",B.filter,null,B);let Q=this.sourceCaches[w];return Q?function(ee,le){let ze=ee.getRenderableIds().map(Mt=>ee.getTileByID(Mt)),Ze=[],ut={};for(let Mt=0;Mtmr.getTileByID(Cr)).sort((Cr,ve)=>ve.tileID.overscaledZ-Cr.tileID.overscaledZ||(Cr.tileID.isLessThan(ve.tileID)?-1:1))}let $t=this.crossTileSymbolIndex.addLayer(Jt,ut[Jt.source],w.center.lng);ze=ze||$t}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((le=le||this._layerOrderChanged||Q===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),w.zoom))&&(this.pauseablePlacement=new Ba(w,this.map.terrain,this._order,le,B,Q,ee,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,ut),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),Ze=!0),ze&&this.pauseablePlacement.placement.setStale()),Ze||ze)for(let Mt of this._order){let Jt=this._layers[Mt];Jt.type===\"symbol\"&&this.placement.updateLayerOpacities(Jt,ut[Jt.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let w in this.sourceCaches)this.sourceCaches[w].releaseSymbolFadeTiles()}getImages(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.imageManager.getImages(B.icons);this._updateTilesForChangedImages();let ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,B.icons),Q})}getGlyphs(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.glyphManager.getGlyphs(B.stacks),ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,[\"\"]),Q})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(w,B={}){this._checkLoaded(),w&&this._validate(a.u.glyphs,\"glyphs\",w,null,B)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=w,this.glyphManager.entries={},this.glyphManager.setURL(w))}addSprite(w,B,Q={},ee){this._checkLoaded();let le=[{id:w,url:B}],ze=[...C(this.stylesheet.sprite),...le];this._validate(a.u.sprite,\"sprite\",ze,null,Q)||(this.stylesheet.sprite=ze,this._loadSprite(le,!0,ee))}removeSprite(w){this._checkLoaded();let B=C(this.stylesheet.sprite);if(B.find(Q=>Q.id===w)){if(this._spritesImagesIds[w])for(let Q of this._spritesImagesIds[w])this.imageManager.removeImage(Q),this._changedImages[Q]=!0;B.splice(B.findIndex(Q=>Q.id===w),1),this.stylesheet.sprite=B.length>0?B:void 0,delete this._spritesImagesIds[w],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}else this.fire(new a.j(new Error(`Sprite \"${w}\" doesn't exists on this map.`)))}getSprite(){return C(this.stylesheet.sprite)}setSprite(w,B={},Q){this._checkLoaded(),w&&this._validate(a.u.sprite,\"sprite\",w,null,B)||(this.stylesheet.sprite=w,w?this._loadSprite(w,!0,Q):(this._unloadSprite(),Q&&Q(null)))}}var vo=a.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);let Gn={prelude:Ct(`#ifdef GL_ES\n", + "precision mediump float;\n", + "#else\n", + "#if !defined(lowp)\n", + "#define lowp\n", + "#endif\n", + "#if !defined(mediump)\n", + "#define mediump\n", + "#endif\n", + "#if !defined(highp)\n", + "#define highp\n", + "#endif\n", + "#endif\n", + "`,`#ifdef GL_ES\n", + "precision highp float;\n", + "#else\n", + "#if !defined(lowp)\n", + "#define lowp\n", + "#endif\n", + "#if !defined(mediump)\n", + "#define mediump\n", + "#endif\n", + "#if !defined(highp)\n", + "#define highp\n", + "#endif\n", + "#endif\n", + "vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n", + ");}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n", + "#ifdef TERRAIN3D\n", + "uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n", + "#endif\n", + "const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n", + "#ifdef TERRAIN3D\n", + "highp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n", + "#else\n", + "return 1.0;\n", + "#endif\n", + "}float calculate_visibility(vec4 pos) {\n", + "#ifdef TERRAIN3D\n", + "vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n", + "#else\n", + "return 1.0;\n", + "#endif\n", + "}float ele(vec2 pos) {\n", + "#ifdef TERRAIN3D\n", + "vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n", + "#else\n", + "return 0.0;\n", + "#endif\n", + "}float get_elevation(vec2 pos) {\n", + "#ifdef TERRAIN3D\n", + "vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n", + "#else\n", + "return 0.0;\n", + "#endif\n", + "}`),background:Ct(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:Ct(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:Ct(`varying vec3 v_data;varying float v_visibility;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define mediump float radius\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define highp vec4 stroke_color\n", + "#pragma mapbox: define mediump float stroke_width\n", + "#pragma mapbox: define lowp float stroke_opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize mediump float radius\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize highp vec4 stroke_color\n", + "#pragma mapbox: initialize mediump float stroke_width\n", + "#pragma mapbox: initialize lowp float stroke_opacity\n", + "vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define mediump float radius\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define highp vec4 stroke_color\n", + "#pragma mapbox: define mediump float stroke_width\n", + "#pragma mapbox: define lowp float stroke_opacity\n", + "void main(void) {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize mediump float radius\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize highp vec4 stroke_color\n", + "#pragma mapbox: initialize mediump float stroke_width\n", + "#pragma mapbox: initialize lowp float stroke_opacity\n", + "vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:Ct(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:Ct(`uniform highp float u_intensity;varying vec2 v_extrude;\n", + "#pragma mapbox: define highp float weight\n", + "#define GAUSS_COEF 0.3989422804014327\n", + "void main() {\n", + "#pragma mapbox: initialize highp float weight\n", + "float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n", + "#pragma mapbox: define highp float weight\n", + "#pragma mapbox: define mediump float radius\n", + "const highp float ZERO=1.0/255.0/16.0;\n", + "#define GAUSS_COEF 0.3989422804014327\n", + "void main(void) {\n", + "#pragma mapbox: initialize highp float weight\n", + "#pragma mapbox: initialize mediump float radius\n", + "vec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:Ct(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(0.0);\n", + "#endif\n", + "}`,\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:Ct(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 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_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:Ct(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:Ct(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:Ct(`#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_FragColor=color*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_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\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:Ct(`varying vec2 v_pos;\n", + "#pragma mapbox: define highp vec4 outline_color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 outline_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "float 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\n", + "gl_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\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 outline_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:Ct(`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\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "vec2 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:Ct(`#ifdef GL_ES\n", + "precision highp float;\n", + "#endif\n", + "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\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "vec2 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:Ct(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_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;\n", + "#ifdef TERRAIN3D\n", + "attribute vec2 a_centroid;\n", + "#endif\n", + "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\n", + "void main() {\n", + "#pragma mapbox: initialize highp float base\n", + "#pragma mapbox: initialize highp float height\n", + "#pragma mapbox: initialize highp vec4 color\n", + "vec3 normal=a_normal_ed.xyz;\n", + "#ifdef TERRAIN3D\n", + "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", + "#else\n", + "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", + "#endif\n", + "base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;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;}`),fillExtrusionPattern:Ct(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n", + "#pragma mapbox: define lowp float base\n", + "#pragma mapbox: define lowp float height\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float base\n", + "#pragma mapbox: initialize lowp float height\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n", + "#ifdef TERRAIN3D\n", + "attribute vec2 a_centroid;\n", + "#endif\n", + "varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n", + "#pragma mapbox: define lowp float base\n", + "#pragma mapbox: define lowp float height\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float base\n", + "#pragma mapbox: initialize lowp float height\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n", + "#ifdef TERRAIN3D\n", + "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", + "#else\n", + "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", + "#endif\n", + "base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;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;}`),hillshadePrepare:Ct(`#ifdef GL_ES\n", + "precision highp float;\n", + "#endif\n", + "uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,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\n", + "gl_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;}\"),hillshade:Ct(`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\n", + "void 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\n", + "gl_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;}\"),line:Ct(`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\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "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);gl_FragColor=color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`\n", + "#define scale 0.015873016\n", + "attribute 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\n", + "void 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", + "float 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;\n", + "#ifdef TERRAIN3D\n", + "v_gamma_scale=1.0;\n", + "#else\n", + "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;\n", + "#endif\n", + "v_width2=vec2(outset,inset);}`),lineGradient:Ct(`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 vec2 v_uv;\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`\n", + "#define scale 0.015873016\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\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", + "void 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\n", + "float 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;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);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;\n", + "#ifdef TERRAIN3D\n", + "v_gamma_scale=1.0;\n", + "#else\n", + "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;\n", + "#endif\n", + "v_width2=vec2(outset,inset);}`),linePattern:Ct(`#ifdef GL_ES\n", + "precision highp float;\n", + "#endif\n", + "uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`\n", + "#define scale 0.015873016\n", + "#define LINE_DISTANCE_SCALE 2.0\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float offset\n", + "#pragma mapbox: define mediump float gapwidth\n", + "#pragma mapbox: define mediump float width\n", + "#pragma mapbox: define lowp float floorwidth\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float offset\n", + "#pragma mapbox: initialize mediump float gapwidth\n", + "#pragma mapbox: initialize mediump float width\n", + "#pragma mapbox: initialize lowp float floorwidth\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "float 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;\n", + "#ifdef TERRAIN3D\n", + "v_gamma_scale=1.0;\n", + "#else\n", + "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;\n", + "#endif\n", + "v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:Ct(`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\n", + "void 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\n", + "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 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\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`\n", + "#define scale 0.015873016\n", + "#define LINE_DISTANCE_SCALE 2.0\n", + "attribute 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\n", + "void 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\n", + "float 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;\n", + "#ifdef TERRAIN3D\n", + "v_gamma_scale=1.0;\n", + "#else\n", + "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;\n", + "#endif\n", + "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);}`),raster:Ct(`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\n", + "gl_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;}\"),symbolIcon:Ct(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;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;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:Ct(`#define SDF_PX 8.0\n", + "uniform 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\n", + "void 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\n", + "float 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 inner_edge=(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);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\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\n", + "void 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\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:Ct(`#define SDF_PX 8.0\n", + "#define SDF 1.0\n", + "#define ICON 0.0\n", + "uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void 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\n", + "float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\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\n", + "void 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\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:Ct(\"uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}\"),terrainDepth:Ct(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\"),terrainCoords:Ct(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}\"),sky:Ct(\"uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}\",\"attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}\")};function Ct(ue,w){let B=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,Q=w.match(/attribute ([\\w]+) ([\\w]+)/g),ee=ue.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),le=w.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),ze=le?le.concat(ee):ee,Ze={};return{fragmentSource:ue=ue.replace(B,(ut,Mt,Jt,$t,mr)=>(Ze[mr]=!0,Mt===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_${mr}\n", + "varying ${Jt} ${$t} ${mr};\n", + "#else\n", + "uniform ${Jt} ${$t} u_${mr};\n", + "#endif\n", + "`:`\n", + "#ifdef HAS_UNIFORM_u_${mr}\n", + " ${Jt} ${$t} ${mr} = u_${mr};\n", + "#endif\n", + "`)),vertexSource:w=w.replace(B,(ut,Mt,Jt,$t,mr)=>{let Cr=$t===\"float\"?\"vec2\":\"vec4\",ve=mr.match(/color/)?\"color\":Cr;return Ze[mr]?Mt===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_${mr}\n", + "uniform lowp float u_${mr}_t;\n", + "attribute ${Jt} ${Cr} a_${mr};\n", + "varying ${Jt} ${$t} ${mr};\n", + "#else\n", + "uniform ${Jt} ${$t} u_${mr};\n", + "#endif\n", + "`:ve===\"vec4\"?`\n", + "#ifndef HAS_UNIFORM_u_${mr}\n", + " ${mr} = a_${mr};\n", + "#else\n", + " ${Jt} ${$t} ${mr} = u_${mr};\n", + "#endif\n", + "`:`\n", + "#ifndef HAS_UNIFORM_u_${mr}\n", + " ${mr} = unpack_mix_${ve}(a_${mr}, u_${mr}_t);\n", + "#else\n", + " ${Jt} ${$t} ${mr} = u_${mr};\n", + "#endif\n", + "`:Mt===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_${mr}\n", + "uniform lowp float u_${mr}_t;\n", + "attribute ${Jt} ${Cr} a_${mr};\n", + "#else\n", + "uniform ${Jt} ${$t} u_${mr};\n", + "#endif\n", + "`:ve===\"vec4\"?`\n", + "#ifndef HAS_UNIFORM_u_${mr}\n", + " ${Jt} ${$t} ${mr} = a_${mr};\n", + "#else\n", + " ${Jt} ${$t} ${mr} = u_${mr};\n", + "#endif\n", + "`:`\n", + "#ifndef HAS_UNIFORM_u_${mr}\n", + " ${Jt} ${$t} ${mr} = unpack_mix_${ve}(a_${mr}, u_${mr}_t);\n", + "#else\n", + " ${Jt} ${$t} ${mr} = u_${mr};\n", + "#endif\n", + "`}),staticAttributes:Q,staticUniforms:ze}}class Ar{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(w,B,Q,ee,le,ze,Ze,ut,Mt){this.context=w;let Jt=this.boundPaintVertexBuffers.length!==ee.length;for(let $t=0;!Jt&&$t({u_matrix:ue,u_texture:0,u_ele_delta:w,u_fog_matrix:B,u_fog_color:Q?Q.properties.get(\"fog-color\"):a.aM.white,u_fog_ground_blend:Q?Q.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:Q?Q.calculateFogBlendOpacity(ee):0,u_horizon_color:Q?Q.properties.get(\"horizon-color\"):a.aM.white,u_horizon_fog_blend:Q?Q.properties.get(\"horizon-fog-blend\"):1});function hi(ue){let w=[];for(let B=0;B({u_depth:new a.aH(jt,ar.u_depth),u_terrain:new a.aH(jt,ar.u_terrain),u_terrain_dim:new a.aI(jt,ar.u_terrain_dim),u_terrain_matrix:new a.aJ(jt,ar.u_terrain_matrix),u_terrain_unpack:new a.aK(jt,ar.u_terrain_unpack),u_terrain_exaggeration:new a.aI(jt,ar.u_terrain_exaggeration)}))(w,qt),this.binderUniforms=Q?Q.getUniforms(w,qt):[]}draw(w,B,Q,ee,le,ze,Ze,ut,Mt,Jt,$t,mr,Cr,ve,xe,Ie,qe,Qe){let Xe=w.gl;if(this.failedToCreate)return;if(w.program.set(this.program),w.setDepthMode(Q),w.setStencilMode(ee),w.setColorMode(le),w.setCullFace(ze),ut){w.activeTexture.set(Xe.TEXTURE2),Xe.bindTexture(Xe.TEXTURE_2D,ut.depthTexture),w.activeTexture.set(Xe.TEXTURE3),Xe.bindTexture(Xe.TEXTURE_2D,ut.texture);for(let qt in this.terrainUniforms)this.terrainUniforms[qt].set(ut[qt])}for(let qt in this.fixedUniforms)this.fixedUniforms[qt].set(Ze[qt]);xe&&xe.setUniforms(w,this.binderUniforms,Cr,{zoom:ve});let nt=0;switch(B){case Xe.LINES:nt=2;break;case Xe.TRIANGLES:nt=3;break;case Xe.LINE_STRIP:nt=1}for(let qt of mr.get()){let jt=qt.vaos||(qt.vaos={});(jt[Mt]||(jt[Mt]=new Ar)).bind(w,this,Jt,xe?xe.getPaintVertexBuffers():[],$t,qt.vertexOffset,Ie,qe,Qe),Xe.drawElements(B,qt.primitiveLength*nt,Xe.UNSIGNED_SHORT,qt.primitiveOffset*nt*2)}}}function Sn(ue,w,B){let Q=1/Fn(B,1,w.transform.tileZoom),ee=Math.pow(2,B.tileID.overscaledZ),le=B.tileSize*Math.pow(2,w.transform.tileZoom)/ee,ze=le*(B.tileID.canonical.x+B.tileID.wrap*ee),Ze=le*B.tileID.canonical.y;return{u_image:0,u_texsize:B.imageAtlasTexture.size,u_scale:[Q,ue.fromScale,ue.toScale],u_fade:ue.t,u_pixel_coord_upper:[ze>>16,Ze>>16],u_pixel_coord_lower:[65535&ze,65535&Ze]}}let En=(ue,w,B,Q)=>{let ee=w.style.light,le=ee.properties.get(\"position\"),ze=[le.x,le.y,le.z],Ze=function(){var Mt=new a.A(9);return a.A!=Float32Array&&(Mt[1]=0,Mt[2]=0,Mt[3]=0,Mt[5]=0,Mt[6]=0,Mt[7]=0),Mt[0]=1,Mt[4]=1,Mt[8]=1,Mt}();ee.properties.get(\"anchor\")===\"viewport\"&&function(Mt,Jt){var $t=Math.sin(Jt),mr=Math.cos(Jt);Mt[0]=mr,Mt[1]=$t,Mt[2]=0,Mt[3]=-$t,Mt[4]=mr,Mt[5]=0,Mt[6]=0,Mt[7]=0,Mt[8]=1}(Ze,-w.transform.angle),function(Mt,Jt,$t){var mr=Jt[0],Cr=Jt[1],ve=Jt[2];Mt[0]=mr*$t[0]+Cr*$t[3]+ve*$t[6],Mt[1]=mr*$t[1]+Cr*$t[4]+ve*$t[7],Mt[2]=mr*$t[2]+Cr*$t[5]+ve*$t[8]}(ze,ze,Ze);let ut=ee.properties.get(\"color\");return{u_matrix:ue,u_lightpos:ze,u_lightintensity:ee.properties.get(\"intensity\"),u_lightcolor:[ut.r,ut.g,ut.b],u_vertical_gradient:+B,u_opacity:Q}},ki=(ue,w,B,Q,ee,le,ze)=>a.e(En(ue,w,B,Q),Sn(le,w,ze),{u_height_factor:-Math.pow(2,ee.overscaledZ)/ze.tileSize/8}),_n=ue=>({u_matrix:ue}),ya=(ue,w,B,Q)=>a.e(_n(ue),Sn(B,w,Q)),ea=(ue,w)=>({u_matrix:ue,u_world:w}),Ma=(ue,w,B,Q,ee)=>a.e(ya(ue,w,B,Q),{u_world:ee}),_o=(ue,w,B,Q)=>{let ee=ue.transform,le,ze;if(Q.paint.get(\"circle-pitch-alignment\")===\"map\"){let Ze=Fn(B,1,ee.zoom);le=!0,ze=[Ze,Ze]}else le=!1,ze=ee.pixelsToGLUnits;return{u_camera_to_center_distance:ee.cameraToCenterDistance,u_scale_with_map:+(Q.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:ue.translatePosMatrix(w.posMatrix,B,Q.paint.get(\"circle-translate\"),Q.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+le,u_device_pixel_ratio:ue.pixelRatio,u_extrude_scale:ze}},No=(ue,w,B)=>({u_matrix:ue,u_inv_matrix:w,u_camera_to_center_distance:B.cameraToCenterDistance,u_viewport_size:[B.width,B.height]}),po=(ue,w,B=1)=>({u_matrix:ue,u_color:w,u_overlay:0,u_overlay_scale:B}),Lo=ue=>({u_matrix:ue}),ko=(ue,w,B,Q)=>({u_matrix:ue,u_extrude_scale:Fn(w,1,B),u_intensity:Q}),Ds=(ue,w,B,Q)=>{let ee=a.H();a.aP(ee,0,ue.width,ue.height,0,0,1);let le=ue.context.gl;return{u_matrix:ee,u_world:[le.drawingBufferWidth,le.drawingBufferHeight],u_image:B,u_color_ramp:Q,u_opacity:w.paint.get(\"heatmap-opacity\")}};function Fs(ue,w){let B=Math.pow(2,w.canonical.z),Q=w.canonical.y;return[new a.Z(0,Q/B).toLngLat().lat,new a.Z(0,(Q+1)/B).toLngLat().lat]}let ll=(ue,w,B,Q)=>{let ee=ue.transform;return{u_matrix:As(ue,w,B,Q),u_ratio:1/Fn(w,1,ee.zoom),u_device_pixel_ratio:ue.pixelRatio,u_units_to_pixels:[1/ee.pixelsToGLUnits[0],1/ee.pixelsToGLUnits[1]]}},ul=(ue,w,B,Q,ee)=>a.e(ll(ue,w,B,ee),{u_image:0,u_image_height:Q}),zl=(ue,w,B,Q,ee)=>{let le=ue.transform,ze=il(w,le);return{u_matrix:As(ue,w,B,ee),u_texsize:w.imageAtlasTexture.size,u_ratio:1/Fn(w,1,le.zoom),u_device_pixel_ratio:ue.pixelRatio,u_image:0,u_scale:[ze,Q.fromScale,Q.toScale],u_fade:Q.t,u_units_to_pixels:[1/le.pixelsToGLUnits[0],1/le.pixelsToGLUnits[1]]}},us=(ue,w,B,Q,ee,le)=>{let ze=ue.lineAtlas,Ze=il(w,ue.transform),ut=B.layout.get(\"line-cap\")===\"round\",Mt=ze.getDash(Q.from,ut),Jt=ze.getDash(Q.to,ut),$t=Mt.width*ee.fromScale,mr=Jt.width*ee.toScale;return a.e(ll(ue,w,B,le),{u_patternscale_a:[Ze/$t,-Mt.height/2],u_patternscale_b:[Ze/mr,-Jt.height/2],u_sdfgamma:ze.width/(256*Math.min($t,mr)*ue.pixelRatio)/2,u_image:0,u_tex_y_a:Mt.y,u_tex_y_b:Jt.y,u_mix:ee.t})};function il(ue,w){return 1/Fn(ue,1,w.tileZoom)}function As(ue,w,B,Q){return ue.translatePosMatrix(Q?Q.posMatrix:w.tileID.posMatrix,w,B.paint.get(\"line-translate\"),B.paint.get(\"line-translate-anchor\"))}let cl=(ue,w,B,Q,ee)=>{return{u_matrix:ue,u_tl_parent:w,u_scale_parent:B,u_buffer_scale:1,u_fade_t:Q.mix,u_opacity:Q.opacity*ee.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:ee.paint.get(\"raster-brightness-min\"),u_brightness_high:ee.paint.get(\"raster-brightness-max\"),u_saturation_factor:(ze=ee.paint.get(\"raster-saturation\"),ze>0?1-1/(1.001-ze):-ze),u_contrast_factor:(le=ee.paint.get(\"raster-contrast\"),le>0?1/(1-le):1+le),u_spin_weights:Ks(ee.paint.get(\"raster-hue-rotate\"))};var le,ze};function Ks(ue){ue*=Math.PI/180;let w=Math.sin(ue),B=Math.cos(ue);return[(2*B+1)/3,(-Math.sqrt(3)*w-B+1)/3,(Math.sqrt(3)*w-B+1)/3]}let zs=(ue,w,B,Q,ee,le,ze,Ze,ut,Mt,Jt,$t,mr,Cr)=>{let ve=ze.transform;return{u_is_size_zoom_constant:+(ue===\"constant\"||ue===\"source\"),u_is_size_feature_constant:+(ue===\"constant\"||ue===\"camera\"),u_size_t:w?w.uSizeT:0,u_size:w?w.uSize:0,u_camera_to_center_distance:ve.cameraToCenterDistance,u_pitch:ve.pitch/360*2*Math.PI,u_rotate_symbol:+B,u_aspect_ratio:ve.width/ve.height,u_fade_change:ze.options.fadeDuration?ze.symbolFadeChange:1,u_matrix:Ze,u_label_plane_matrix:ut,u_coord_matrix:Mt,u_is_text:+$t,u_pitch_with_map:+Q,u_is_along_line:ee,u_is_variable_anchor:le,u_texsize:mr,u_texture:0,u_translation:Jt,u_pitched_scale:Cr}},Io=(ue,w,B,Q,ee,le,ze,Ze,ut,Mt,Jt,$t,mr,Cr,ve)=>{let xe=ze.transform;return a.e(zs(ue,w,B,Q,ee,le,ze,Ze,ut,Mt,Jt,$t,mr,ve),{u_gamma_scale:Q?Math.cos(xe._pitch)*xe.cameraToCenterDistance:1,u_device_pixel_ratio:ze.pixelRatio,u_is_halo:+Cr})},ls=(ue,w,B,Q,ee,le,ze,Ze,ut,Mt,Jt,$t,mr,Cr)=>a.e(Io(ue,w,B,Q,ee,le,ze,Ze,ut,Mt,Jt,!0,$t,!0,Cr),{u_texsize_icon:mr,u_texture_icon:1}),Yl=(ue,w,B)=>({u_matrix:ue,u_opacity:w,u_color:B}),Su=(ue,w,B,Q,ee,le)=>a.e(function(ze,Ze,ut,Mt){let Jt=ut.imageManager.getPattern(ze.from.toString()),$t=ut.imageManager.getPattern(ze.to.toString()),{width:mr,height:Cr}=ut.imageManager.getPixelSize(),ve=Math.pow(2,Mt.tileID.overscaledZ),xe=Mt.tileSize*Math.pow(2,ut.transform.tileZoom)/ve,Ie=xe*(Mt.tileID.canonical.x+Mt.tileID.wrap*ve),qe=xe*Mt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Jt.tl,u_pattern_br_a:Jt.br,u_pattern_tl_b:$t.tl,u_pattern_br_b:$t.br,u_texsize:[mr,Cr],u_mix:Ze.t,u_pattern_size_a:Jt.displaySize,u_pattern_size_b:$t.displaySize,u_scale_a:Ze.fromScale,u_scale_b:Ze.toScale,u_tile_units_to_pixels:1/Fn(Mt,1,ut.transform.tileZoom),u_pixel_coord_upper:[Ie>>16,qe>>16],u_pixel_coord_lower:[65535&Ie,65535&qe]}}(Q,le,B,ee),{u_matrix:ue,u_opacity:w}),nc={fillExtrusion:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_lightpos:new a.aN(ue,w.u_lightpos),u_lightintensity:new a.aI(ue,w.u_lightintensity),u_lightcolor:new a.aN(ue,w.u_lightcolor),u_vertical_gradient:new a.aI(ue,w.u_vertical_gradient),u_opacity:new a.aI(ue,w.u_opacity)}),fillExtrusionPattern:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_lightpos:new a.aN(ue,w.u_lightpos),u_lightintensity:new a.aI(ue,w.u_lightintensity),u_lightcolor:new a.aN(ue,w.u_lightcolor),u_vertical_gradient:new a.aI(ue,w.u_vertical_gradient),u_height_factor:new a.aI(ue,w.u_height_factor),u_image:new a.aH(ue,w.u_image),u_texsize:new a.aO(ue,w.u_texsize),u_pixel_coord_upper:new a.aO(ue,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(ue,w.u_pixel_coord_lower),u_scale:new a.aN(ue,w.u_scale),u_fade:new a.aI(ue,w.u_fade),u_opacity:new a.aI(ue,w.u_opacity)}),fill:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix)}),fillPattern:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_image:new a.aH(ue,w.u_image),u_texsize:new a.aO(ue,w.u_texsize),u_pixel_coord_upper:new a.aO(ue,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(ue,w.u_pixel_coord_lower),u_scale:new a.aN(ue,w.u_scale),u_fade:new a.aI(ue,w.u_fade)}),fillOutline:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_world:new a.aO(ue,w.u_world)}),fillOutlinePattern:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_world:new a.aO(ue,w.u_world),u_image:new a.aH(ue,w.u_image),u_texsize:new a.aO(ue,w.u_texsize),u_pixel_coord_upper:new a.aO(ue,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(ue,w.u_pixel_coord_lower),u_scale:new a.aN(ue,w.u_scale),u_fade:new a.aI(ue,w.u_fade)}),circle:(ue,w)=>({u_camera_to_center_distance:new a.aI(ue,w.u_camera_to_center_distance),u_scale_with_map:new a.aH(ue,w.u_scale_with_map),u_pitch_with_map:new a.aH(ue,w.u_pitch_with_map),u_extrude_scale:new a.aO(ue,w.u_extrude_scale),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_matrix:new a.aJ(ue,w.u_matrix)}),collisionBox:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_pixel_extrude_scale:new a.aO(ue,w.u_pixel_extrude_scale)}),collisionCircle:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_inv_matrix:new a.aJ(ue,w.u_inv_matrix),u_camera_to_center_distance:new a.aI(ue,w.u_camera_to_center_distance),u_viewport_size:new a.aO(ue,w.u_viewport_size)}),debug:(ue,w)=>({u_color:new a.aL(ue,w.u_color),u_matrix:new a.aJ(ue,w.u_matrix),u_overlay:new a.aH(ue,w.u_overlay),u_overlay_scale:new a.aI(ue,w.u_overlay_scale)}),clippingMask:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix)}),heatmap:(ue,w)=>({u_extrude_scale:new a.aI(ue,w.u_extrude_scale),u_intensity:new a.aI(ue,w.u_intensity),u_matrix:new a.aJ(ue,w.u_matrix)}),heatmapTexture:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_world:new a.aO(ue,w.u_world),u_image:new a.aH(ue,w.u_image),u_color_ramp:new a.aH(ue,w.u_color_ramp),u_opacity:new a.aI(ue,w.u_opacity)}),hillshade:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_image:new a.aH(ue,w.u_image),u_latrange:new a.aO(ue,w.u_latrange),u_light:new a.aO(ue,w.u_light),u_shadow:new a.aL(ue,w.u_shadow),u_highlight:new a.aL(ue,w.u_highlight),u_accent:new a.aL(ue,w.u_accent)}),hillshadePrepare:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_image:new a.aH(ue,w.u_image),u_dimension:new a.aO(ue,w.u_dimension),u_zoom:new a.aI(ue,w.u_zoom),u_unpack:new a.aK(ue,w.u_unpack)}),line:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_ratio:new a.aI(ue,w.u_ratio),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(ue,w.u_units_to_pixels)}),lineGradient:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_ratio:new a.aI(ue,w.u_ratio),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(ue,w.u_units_to_pixels),u_image:new a.aH(ue,w.u_image),u_image_height:new a.aI(ue,w.u_image_height)}),linePattern:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_texsize:new a.aO(ue,w.u_texsize),u_ratio:new a.aI(ue,w.u_ratio),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_image:new a.aH(ue,w.u_image),u_units_to_pixels:new a.aO(ue,w.u_units_to_pixels),u_scale:new a.aN(ue,w.u_scale),u_fade:new a.aI(ue,w.u_fade)}),lineSDF:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_ratio:new a.aI(ue,w.u_ratio),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(ue,w.u_units_to_pixels),u_patternscale_a:new a.aO(ue,w.u_patternscale_a),u_patternscale_b:new a.aO(ue,w.u_patternscale_b),u_sdfgamma:new a.aI(ue,w.u_sdfgamma),u_image:new a.aH(ue,w.u_image),u_tex_y_a:new a.aI(ue,w.u_tex_y_a),u_tex_y_b:new a.aI(ue,w.u_tex_y_b),u_mix:new a.aI(ue,w.u_mix)}),raster:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_tl_parent:new a.aO(ue,w.u_tl_parent),u_scale_parent:new a.aI(ue,w.u_scale_parent),u_buffer_scale:new a.aI(ue,w.u_buffer_scale),u_fade_t:new a.aI(ue,w.u_fade_t),u_opacity:new a.aI(ue,w.u_opacity),u_image0:new a.aH(ue,w.u_image0),u_image1:new a.aH(ue,w.u_image1),u_brightness_low:new a.aI(ue,w.u_brightness_low),u_brightness_high:new a.aI(ue,w.u_brightness_high),u_saturation_factor:new a.aI(ue,w.u_saturation_factor),u_contrast_factor:new a.aI(ue,w.u_contrast_factor),u_spin_weights:new a.aN(ue,w.u_spin_weights)}),symbolIcon:(ue,w)=>({u_is_size_zoom_constant:new a.aH(ue,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(ue,w.u_is_size_feature_constant),u_size_t:new a.aI(ue,w.u_size_t),u_size:new a.aI(ue,w.u_size),u_camera_to_center_distance:new a.aI(ue,w.u_camera_to_center_distance),u_pitch:new a.aI(ue,w.u_pitch),u_rotate_symbol:new a.aH(ue,w.u_rotate_symbol),u_aspect_ratio:new a.aI(ue,w.u_aspect_ratio),u_fade_change:new a.aI(ue,w.u_fade_change),u_matrix:new a.aJ(ue,w.u_matrix),u_label_plane_matrix:new a.aJ(ue,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(ue,w.u_coord_matrix),u_is_text:new a.aH(ue,w.u_is_text),u_pitch_with_map:new a.aH(ue,w.u_pitch_with_map),u_is_along_line:new a.aH(ue,w.u_is_along_line),u_is_variable_anchor:new a.aH(ue,w.u_is_variable_anchor),u_texsize:new a.aO(ue,w.u_texsize),u_texture:new a.aH(ue,w.u_texture),u_translation:new a.aO(ue,w.u_translation),u_pitched_scale:new a.aI(ue,w.u_pitched_scale)}),symbolSDF:(ue,w)=>({u_is_size_zoom_constant:new a.aH(ue,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(ue,w.u_is_size_feature_constant),u_size_t:new a.aI(ue,w.u_size_t),u_size:new a.aI(ue,w.u_size),u_camera_to_center_distance:new a.aI(ue,w.u_camera_to_center_distance),u_pitch:new a.aI(ue,w.u_pitch),u_rotate_symbol:new a.aH(ue,w.u_rotate_symbol),u_aspect_ratio:new a.aI(ue,w.u_aspect_ratio),u_fade_change:new a.aI(ue,w.u_fade_change),u_matrix:new a.aJ(ue,w.u_matrix),u_label_plane_matrix:new a.aJ(ue,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(ue,w.u_coord_matrix),u_is_text:new a.aH(ue,w.u_is_text),u_pitch_with_map:new a.aH(ue,w.u_pitch_with_map),u_is_along_line:new a.aH(ue,w.u_is_along_line),u_is_variable_anchor:new a.aH(ue,w.u_is_variable_anchor),u_texsize:new a.aO(ue,w.u_texsize),u_texture:new a.aH(ue,w.u_texture),u_gamma_scale:new a.aI(ue,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_is_halo:new a.aH(ue,w.u_is_halo),u_translation:new a.aO(ue,w.u_translation),u_pitched_scale:new a.aI(ue,w.u_pitched_scale)}),symbolTextAndIcon:(ue,w)=>({u_is_size_zoom_constant:new a.aH(ue,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(ue,w.u_is_size_feature_constant),u_size_t:new a.aI(ue,w.u_size_t),u_size:new a.aI(ue,w.u_size),u_camera_to_center_distance:new a.aI(ue,w.u_camera_to_center_distance),u_pitch:new a.aI(ue,w.u_pitch),u_rotate_symbol:new a.aH(ue,w.u_rotate_symbol),u_aspect_ratio:new a.aI(ue,w.u_aspect_ratio),u_fade_change:new a.aI(ue,w.u_fade_change),u_matrix:new a.aJ(ue,w.u_matrix),u_label_plane_matrix:new a.aJ(ue,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(ue,w.u_coord_matrix),u_is_text:new a.aH(ue,w.u_is_text),u_pitch_with_map:new a.aH(ue,w.u_pitch_with_map),u_is_along_line:new a.aH(ue,w.u_is_along_line),u_is_variable_anchor:new a.aH(ue,w.u_is_variable_anchor),u_texsize:new a.aO(ue,w.u_texsize),u_texsize_icon:new a.aO(ue,w.u_texsize_icon),u_texture:new a.aH(ue,w.u_texture),u_texture_icon:new a.aH(ue,w.u_texture_icon),u_gamma_scale:new a.aI(ue,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_is_halo:new a.aH(ue,w.u_is_halo),u_translation:new a.aO(ue,w.u_translation),u_pitched_scale:new a.aI(ue,w.u_pitched_scale)}),background:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_opacity:new a.aI(ue,w.u_opacity),u_color:new a.aL(ue,w.u_color)}),backgroundPattern:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_opacity:new a.aI(ue,w.u_opacity),u_image:new a.aH(ue,w.u_image),u_pattern_tl_a:new a.aO(ue,w.u_pattern_tl_a),u_pattern_br_a:new a.aO(ue,w.u_pattern_br_a),u_pattern_tl_b:new a.aO(ue,w.u_pattern_tl_b),u_pattern_br_b:new a.aO(ue,w.u_pattern_br_b),u_texsize:new a.aO(ue,w.u_texsize),u_mix:new a.aI(ue,w.u_mix),u_pattern_size_a:new a.aO(ue,w.u_pattern_size_a),u_pattern_size_b:new a.aO(ue,w.u_pattern_size_b),u_scale_a:new a.aI(ue,w.u_scale_a),u_scale_b:new a.aI(ue,w.u_scale_b),u_pixel_coord_upper:new a.aO(ue,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(ue,w.u_pixel_coord_lower),u_tile_units_to_pixels:new a.aI(ue,w.u_tile_units_to_pixels)}),terrain:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_texture:new a.aH(ue,w.u_texture),u_ele_delta:new a.aI(ue,w.u_ele_delta),u_fog_matrix:new a.aJ(ue,w.u_fog_matrix),u_fog_color:new a.aL(ue,w.u_fog_color),u_fog_ground_blend:new a.aI(ue,w.u_fog_ground_blend),u_fog_ground_blend_opacity:new a.aI(ue,w.u_fog_ground_blend_opacity),u_horizon_color:new a.aL(ue,w.u_horizon_color),u_horizon_fog_blend:new a.aI(ue,w.u_horizon_fog_blend)}),terrainDepth:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_ele_delta:new a.aI(ue,w.u_ele_delta)}),terrainCoords:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_texture:new a.aH(ue,w.u_texture),u_terrain_coords_id:new a.aI(ue,w.u_terrain_coords_id),u_ele_delta:new a.aI(ue,w.u_ele_delta)}),sky:(ue,w)=>({u_sky_color:new a.aL(ue,w.u_sky_color),u_horizon_color:new a.aL(ue,w.u_horizon_color),u_horizon:new a.aI(ue,w.u_horizon),u_sky_horizon_blend:new a.aI(ue,w.u_sky_horizon_blend)})};class bs{constructor(w,B,Q){this.context=w;let ee=w.gl;this.buffer=ee.createBuffer(),this.dynamicDraw=!!Q,this.context.unbindVAO(),w.bindElementBuffer.set(this.buffer),ee.bufferData(ee.ELEMENT_ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?ee.DYNAMIC_DRAW:ee.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(w){let B=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),B.bufferSubData(B.ELEMENT_ARRAY_BUFFER,0,w.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Rn={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class _a{constructor(w,B,Q,ee){this.length=B.length,this.attributes=Q,this.itemSize=B.bytesPerElement,this.dynamicDraw=ee,this.context=w;let le=w.gl;this.buffer=le.createBuffer(),w.bindVertexBuffer.set(this.buffer),le.bufferData(le.ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?le.DYNAMIC_DRAW:le.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(w){if(w.length!==this.length)throw new Error(`Length of new data is ${w.length}, which doesn't match current length of ${this.length}`);let B=this.context.gl;this.bind(),B.bufferSubData(B.ARRAY_BUFFER,0,w.arrayBuffer)}enableAttributes(w,B){for(let Q=0;Q0){let jt=a.H();a.aQ(jt,Xe.placementInvProjMatrix,ue.transform.glCoordMatrix),a.aQ(jt,jt,Xe.placementViewportMatrix),ut.push({circleArray:qt,circleOffset:Jt,transform:Qe.posMatrix,invTransform:jt,coord:Qe}),Mt+=qt.length/4,Jt=Mt}nt&&Ze.draw(le,ze.LINES,Po.disabled,Ko.disabled,ue.colorModeForRenderPass(),Pa.disabled,{u_matrix:Qe.posMatrix,u_pixel_extrude_scale:[1/($t=ue.transform).width,1/$t.height]},ue.style.map.terrain&&ue.style.map.terrain.getTerrainData(Qe),B.id,nt.layoutVertexBuffer,nt.indexBuffer,nt.segments,null,ue.transform.zoom,null,null,nt.collisionVertexBuffer)}var $t;if(!ee||!ut.length)return;let mr=ue.useProgram(\"collisionCircle\"),Cr=new a.aR;Cr.resize(4*Mt),Cr._trim();let ve=0;for(let qe of ut)for(let Qe=0;Qe=0&&(qe[Xe.associatedIconIndex]={shiftedAnchor:Yn,angle:Aa})}else Pi(Xe.numGlyphs,xe)}if(Mt){Ie.clear();let Qe=ue.icon.placedSymbolArray;for(let Xe=0;Xeue.style.map.terrain.getElevation(Hr,at,Wt):null,Pt=B.layout.get(\"text-rotation-alignment\")===\"map\";We(Ci,Hr.posMatrix,ue,ee,Ul,au,qe,Mt,Pt,xe,Hr.toUnwrapped(),ve.width,ve.height,Js,Ye)}let Tl=Hr.posMatrix,Al=ee&&fr||dc,X=Qe||Al?bl:Ul,se=Lu,Te=Ln&&B.paint.get(ee?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Oe;Oe=Ln?Ci.iconsInText?ls(Yn.kind,$a,Xe,qe,Qe,Al,ue,Tl,X,se,Js,Qa,Ts,Fr):Io(Yn.kind,$a,Xe,qe,Qe,Al,ue,Tl,X,se,Js,ee,Qa,!0,Fr):zs(Yn.kind,$a,Xe,qe,Qe,Al,ue,Tl,X,se,Js,ee,Qa,Fr);let Ve={program:fa,buffers:cn,uniformValues:Oe,atlasTexture:mo,atlasTextureIcon:wo,atlasInterpolation:Bo,atlasInterpolationIcon:Ps,isSDF:Ln,hasHalo:Te};if(qt&&Ci.canOverlap){jt=!0;let Ye=cn.segments.get();for(let Pt of Ye)br.push({segments:new a.a0([Pt]),sortKey:Pt.sortKey,state:Ve,terrainData:Co})}else br.push({segments:cn.segments,sortKey:0,state:Ve,terrainData:Co})}jt&&br.sort((Hr,ri)=>Hr.sortKey-ri.sortKey);for(let Hr of br){let ri=Hr.state;if(mr.activeTexture.set(Cr.TEXTURE0),ri.atlasTexture.bind(ri.atlasInterpolation,Cr.CLAMP_TO_EDGE),ri.atlasTextureIcon&&(mr.activeTexture.set(Cr.TEXTURE1),ri.atlasTextureIcon&&ri.atlasTextureIcon.bind(ri.atlasInterpolationIcon,Cr.CLAMP_TO_EDGE)),ri.isSDF){let Ci=ri.uniformValues;ri.hasHalo&&(Ci.u_is_halo=1,Qf(ri.buffers,Hr.segments,B,ue,ri.program,ar,Jt,$t,Ci,Hr.terrainData)),Ci.u_is_halo=0}Qf(ri.buffers,Hr.segments,B,ue,ri.program,ar,Jt,$t,ri.uniformValues,Hr.terrainData)}}function Qf(ue,w,B,Q,ee,le,ze,Ze,ut,Mt){let Jt=Q.context;ee.draw(Jt,Jt.gl.TRIANGLES,le,ze,Ze,Pa.disabled,ut,Mt,B.id,ue.layoutVertexBuffer,ue.indexBuffer,w,B.paint,Q.transform.zoom,ue.programConfigurations.get(B.id),ue.dynamicLayoutVertexBuffer,ue.opacityVertexBuffer)}function _f(ue,w,B,Q){let ee=ue.context,le=ee.gl,ze=Ko.disabled,Ze=new Os([le.ONE,le.ONE],a.aM.transparent,[!0,!0,!0,!0]),ut=w.getBucket(B);if(!ut)return;let Mt=Q.key,Jt=B.heatmapFbos.get(Mt);Jt||(Jt=eh(ee,w.tileSize,w.tileSize),B.heatmapFbos.set(Mt,Jt)),ee.bindFramebuffer.set(Jt.framebuffer),ee.viewport.set([0,0,w.tileSize,w.tileSize]),ee.clear({color:a.aM.transparent});let $t=ut.programConfigurations.get(B.id),mr=ue.useProgram(\"heatmap\",$t),Cr=ue.style.map.terrain.getTerrainData(Q);mr.draw(ee,le.TRIANGLES,Po.disabled,ze,Ze,Pa.disabled,ko(Q.posMatrix,w,ue.transform.zoom,B.paint.get(\"heatmap-intensity\")),Cr,B.id,ut.layoutVertexBuffer,ut.indexBuffer,ut.segments,B.paint,ue.transform.zoom,$t)}function Yc(ue,w,B){let Q=ue.context,ee=Q.gl;Q.setColorMode(ue.colorModeForRenderPass());let le=th(Q,w),ze=B.key,Ze=w.heatmapFbos.get(ze);Ze&&(Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Ze.colorAttachment.get()),Q.activeTexture.set(ee.TEXTURE1),le.bind(ee.LINEAR,ee.CLAMP_TO_EDGE),ue.useProgram(\"heatmapTexture\").draw(Q,ee.TRIANGLES,Po.disabled,Ko.disabled,ue.colorModeForRenderPass(),Pa.disabled,Ds(ue,w,0,1),null,w.id,ue.rasterBoundsBuffer,ue.quadTriangleIndexBuffer,ue.rasterBoundsSegments,w.paint,ue.transform.zoom),Ze.destroy(),w.heatmapFbos.delete(ze))}function eh(ue,w,B){var Q,ee;let le=ue.gl,ze=le.createTexture();le.bindTexture(le.TEXTURE_2D,ze),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_WRAP_S,le.CLAMP_TO_EDGE),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_WRAP_T,le.CLAMP_TO_EDGE),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_MIN_FILTER,le.LINEAR),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_MAG_FILTER,le.LINEAR);let Ze=(Q=ue.HALF_FLOAT)!==null&&Q!==void 0?Q:le.UNSIGNED_BYTE,ut=(ee=ue.RGBA16F)!==null&&ee!==void 0?ee:le.RGBA;le.texImage2D(le.TEXTURE_2D,0,ut,w,B,0,le.RGBA,Ze,null);let Mt=ue.createFramebuffer(w,B,!1,!1);return Mt.colorAttachment.set(ze),Mt}function th(ue,w){return w.colorRampTexture||(w.colorRampTexture=new g(ue,w.colorRamp,ue.gl.RGBA)),w.colorRampTexture}function ju(ue,w,B,Q,ee){if(!B||!Q||!Q.imageAtlas)return;let le=Q.imageAtlas.patternPositions,ze=le[B.to.toString()],Ze=le[B.from.toString()];if(!ze&&Ze&&(ze=Ze),!Ze&&ze&&(Ze=ze),!ze||!Ze){let ut=ee.getPaintProperty(w);ze=le[ut],Ze=le[ut]}ze&&Ze&&ue.setConstantPatternPositions(ze,Ze)}function jf(ue,w,B,Q,ee,le,ze){let Ze=ue.context.gl,ut=\"fill-pattern\",Mt=B.paint.get(ut),Jt=Mt&&Mt.constantOr(1),$t=B.getCrossfadeParameters(),mr,Cr,ve,xe,Ie;ze?(Cr=Jt&&!B.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",mr=Ze.LINES):(Cr=Jt?\"fillPattern\":\"fill\",mr=Ze.TRIANGLES);let qe=Mt.constantOr(null);for(let Qe of Q){let Xe=w.getTile(Qe);if(Jt&&!Xe.patternsLoaded())continue;let nt=Xe.getBucket(B);if(!nt)continue;let qt=nt.programConfigurations.get(B.id),jt=ue.useProgram(Cr,qt),ar=ue.style.map.terrain&&ue.style.map.terrain.getTerrainData(Qe);Jt&&(ue.context.activeTexture.set(Ze.TEXTURE0),Xe.imageAtlasTexture.bind(Ze.LINEAR,Ze.CLAMP_TO_EDGE),qt.updatePaintBuffers($t)),ju(qt,ut,qe,Xe,B);let fr=ar?Qe:null,br=ue.translatePosMatrix(fr?fr.posMatrix:Qe.posMatrix,Xe,B.paint.get(\"fill-translate\"),B.paint.get(\"fill-translate-anchor\"));if(ze){xe=nt.indexBuffer2,Ie=nt.segments2;let Fr=[Ze.drawingBufferWidth,Ze.drawingBufferHeight];ve=Cr===\"fillOutlinePattern\"&&Jt?Ma(br,ue,$t,Xe,Fr):ea(br,Fr)}else xe=nt.indexBuffer,Ie=nt.segments,ve=Jt?ya(br,ue,$t,Xe):_n(br);jt.draw(ue.context,mr,ee,ue.stencilModeForClipping(Qe),le,Pa.disabled,ve,ar,B.id,nt.layoutVertexBuffer,xe,Ie,B.paint,ue.transform.zoom,qt)}}function cc(ue,w,B,Q,ee,le,ze){let Ze=ue.context,ut=Ze.gl,Mt=\"fill-extrusion-pattern\",Jt=B.paint.get(Mt),$t=Jt.constantOr(1),mr=B.getCrossfadeParameters(),Cr=B.paint.get(\"fill-extrusion-opacity\"),ve=Jt.constantOr(null);for(let xe of Q){let Ie=w.getTile(xe),qe=Ie.getBucket(B);if(!qe)continue;let Qe=ue.style.map.terrain&&ue.style.map.terrain.getTerrainData(xe),Xe=qe.programConfigurations.get(B.id),nt=ue.useProgram($t?\"fillExtrusionPattern\":\"fillExtrusion\",Xe);$t&&(ue.context.activeTexture.set(ut.TEXTURE0),Ie.imageAtlasTexture.bind(ut.LINEAR,ut.CLAMP_TO_EDGE),Xe.updatePaintBuffers(mr)),ju(Xe,Mt,ve,Ie,B);let qt=ue.translatePosMatrix(xe.posMatrix,Ie,B.paint.get(\"fill-extrusion-translate\"),B.paint.get(\"fill-extrusion-translate-anchor\")),jt=B.paint.get(\"fill-extrusion-vertical-gradient\"),ar=$t?ki(qt,ue,jt,Cr,xe,mr,Ie):En(qt,ue,jt,Cr);nt.draw(Ze,Ze.gl.TRIANGLES,ee,le,ze,Pa.backCCW,ar,Qe,B.id,qe.layoutVertexBuffer,qe.indexBuffer,qe.segments,B.paint,ue.transform.zoom,Xe,ue.style.map.terrain&&qe.centroidVertexBuffer)}}function of(ue,w,B,Q,ee,le,ze){let Ze=ue.context,ut=Ze.gl,Mt=B.fbo;if(!Mt)return;let Jt=ue.useProgram(\"hillshade\"),$t=ue.style.map.terrain&&ue.style.map.terrain.getTerrainData(w);Ze.activeTexture.set(ut.TEXTURE0),ut.bindTexture(ut.TEXTURE_2D,Mt.colorAttachment.get()),Jt.draw(Ze,ut.TRIANGLES,ee,le,ze,Pa.disabled,((mr,Cr,ve,xe)=>{let Ie=ve.paint.get(\"hillshade-shadow-color\"),qe=ve.paint.get(\"hillshade-highlight-color\"),Qe=ve.paint.get(\"hillshade-accent-color\"),Xe=ve.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);ve.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(Xe-=mr.transform.angle);let nt=!mr.options.moving;return{u_matrix:xe?xe.posMatrix:mr.transform.calculatePosMatrix(Cr.tileID.toUnwrapped(),nt),u_image:0,u_latrange:Fs(0,Cr.tileID),u_light:[ve.paint.get(\"hillshade-exaggeration\"),Xe],u_shadow:Ie,u_highlight:qe,u_accent:Qe}})(ue,B,Q,$t?w:null),$t,Q.id,ue.rasterBoundsBuffer,ue.quadTriangleIndexBuffer,ue.rasterBoundsSegments)}function Nl(ue,w,B,Q,ee,le){let ze=ue.context,Ze=ze.gl,ut=w.dem;if(ut&&ut.data){let Mt=ut.dim,Jt=ut.stride,$t=ut.getPixels();if(ze.activeTexture.set(Ze.TEXTURE1),ze.pixelStoreUnpackPremultiplyAlpha.set(!1),w.demTexture=w.demTexture||ue.getTileTexture(Jt),w.demTexture){let Cr=w.demTexture;Cr.update($t,{premultiply:!1}),Cr.bind(Ze.NEAREST,Ze.CLAMP_TO_EDGE)}else w.demTexture=new g(ze,$t,Ze.RGBA,{premultiply:!1}),w.demTexture.bind(Ze.NEAREST,Ze.CLAMP_TO_EDGE);ze.activeTexture.set(Ze.TEXTURE0);let mr=w.fbo;if(!mr){let Cr=new g(ze,{width:Mt,height:Mt,data:null},Ze.RGBA);Cr.bind(Ze.LINEAR,Ze.CLAMP_TO_EDGE),mr=w.fbo=ze.createFramebuffer(Mt,Mt,!0,!1),mr.colorAttachment.set(Cr.texture)}ze.bindFramebuffer.set(mr.framebuffer),ze.viewport.set([0,0,Mt,Mt]),ue.useProgram(\"hillshadePrepare\").draw(ze,Ze.TRIANGLES,Q,ee,le,Pa.disabled,((Cr,ve)=>{let xe=ve.stride,Ie=a.H();return a.aP(Ie,0,a.X,-a.X,0,0,1),a.J(Ie,Ie,[0,-a.X,0]),{u_matrix:Ie,u_image:1,u_dimension:[xe,xe],u_zoom:Cr.overscaledZ,u_unpack:ve.getUnpackVector()}})(w.tileID,ut),null,B.id,ue.rasterBoundsBuffer,ue.quadTriangleIndexBuffer,ue.rasterBoundsSegments),w.needsHillshadePrepare=!1}}function Kc(ue,w,B,Q,ee,le){let ze=Q.paint.get(\"raster-fade-duration\");if(!le&&ze>0){let Ze=u.now(),ut=(Ze-ue.timeAdded)/ze,Mt=w?(Ze-w.timeAdded)/ze:-1,Jt=B.getSource(),$t=ee.coveringZoomLevel({tileSize:Jt.tileSize,roundZoom:Jt.roundZoom}),mr=!w||Math.abs(w.tileID.overscaledZ-$t)>Math.abs(ue.tileID.overscaledZ-$t),Cr=mr&&ue.refreshedUponExpiration?1:a.ac(mr?ut:1-Mt,0,1);return ue.refreshedUponExpiration&&ut>=1&&(ue.refreshedUponExpiration=!1),w?{opacity:1,mix:1-Cr}:{opacity:Cr,mix:0}}return{opacity:1,mix:0}}let Rc=new a.aM(1,0,0,1),gs=new a.aM(0,1,0,1),Wf=new a.aM(0,0,1,1),Wh=new a.aM(1,0,1,1),rh=new a.aM(0,1,1,1);function sf(ue,w,B,Q){Mu(ue,0,w+B/2,ue.transform.width,B,Q)}function Sh(ue,w,B,Q){Mu(ue,w-B/2,0,B,ue.transform.height,Q)}function Mu(ue,w,B,Q,ee,le){let ze=ue.context,Ze=ze.gl;Ze.enable(Ze.SCISSOR_TEST),Ze.scissor(w*ue.pixelRatio,B*ue.pixelRatio,Q*ue.pixelRatio,ee*ue.pixelRatio),ze.clear({color:le}),Ze.disable(Ze.SCISSOR_TEST)}function ih(ue,w,B){let Q=ue.context,ee=Q.gl,le=B.posMatrix,ze=ue.useProgram(\"debug\"),Ze=Po.disabled,ut=Ko.disabled,Mt=ue.colorModeForRenderPass(),Jt=\"$debug\",$t=ue.style.map.terrain&&ue.style.map.terrain.getTerrainData(B);Q.activeTexture.set(ee.TEXTURE0);let mr=w.getTileByID(B.key).latestRawTileData,Cr=Math.floor((mr&&mr.byteLength||0)/1024),ve=w.getTile(B).tileSize,xe=512/Math.min(ve,512)*(B.overscaledZ/ue.transform.zoom)*.5,Ie=B.canonical.toString();B.overscaledZ!==B.canonical.z&&(Ie+=` => ${B.overscaledZ}`),function(qe,Qe){qe.initDebugOverlayCanvas();let Xe=qe.debugOverlayCanvas,nt=qe.context.gl,qt=qe.debugOverlayCanvas.getContext(\"2d\");qt.clearRect(0,0,Xe.width,Xe.height),qt.shadowColor=\"white\",qt.shadowBlur=2,qt.lineWidth=1.5,qt.strokeStyle=\"white\",qt.textBaseline=\"top\",qt.font=\"bold 36px Open Sans, sans-serif\",qt.fillText(Qe,5,5),qt.strokeText(Qe,5,5),qe.debugOverlayTexture.update(Xe),qe.debugOverlayTexture.bind(nt.LINEAR,nt.CLAMP_TO_EDGE)}(ue,`${Ie} ${Cr}kB`),ze.draw(Q,ee.TRIANGLES,Ze,ut,Os.alphaBlended,Pa.disabled,po(le,a.aM.transparent,xe),null,Jt,ue.debugBuffer,ue.quadTriangleIndexBuffer,ue.debugSegments),ze.draw(Q,ee.LINE_STRIP,Ze,ut,Mt,Pa.disabled,po(le,a.aM.red),$t,Jt,ue.debugBuffer,ue.tileBorderIndexBuffer,ue.debugSegments)}function js(ue,w,B){let Q=ue.context,ee=Q.gl,le=ue.colorModeForRenderPass(),ze=new Po(ee.LEQUAL,Po.ReadWrite,ue.depthRangeFor3D),Ze=ue.useProgram(\"terrain\"),ut=w.getTerrainMesh();Q.bindFramebuffer.set(null),Q.viewport.set([0,0,ue.width,ue.height]);for(let Mt of B){let Jt=ue.renderToTexture.getTexture(Mt),$t=w.getTerrainData(Mt.tileID);Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Jt.texture);let mr=ue.transform.calculatePosMatrix(Mt.tileID.toUnwrapped()),Cr=w.getMeshFrameDelta(ue.transform.zoom),ve=ue.transform.calculateFogMatrix(Mt.tileID.toUnwrapped()),xe=Jr(mr,Cr,ve,ue.style.sky,ue.transform.pitch);Ze.draw(Q,ee.TRIANGLES,ze,Ko.disabled,le,Pa.backCCW,xe,$t,\"terrain\",ut.vertexBuffer,ut.indexBuffer,ut.segments)}}class Eu{constructor(w,B,Q){this.vertexBuffer=w,this.indexBuffer=B,this.segments=Q}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Dc{constructor(w,B){this.context=new od(w),this.transform=B,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:a.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=pt.maxUnderzooming+pt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Xo}resize(w,B,Q){if(this.width=Math.floor(w*Q),this.height=Math.floor(B*Q),this.pixelRatio=Q,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let ee of this.style._order)this.style._layers[ee].resize()}setup(){let w=this.context,B=new a.aX;B.emplaceBack(0,0),B.emplaceBack(a.X,0),B.emplaceBack(0,a.X),B.emplaceBack(a.X,a.X),this.tileExtentBuffer=w.createVertexBuffer(B,vo.members),this.tileExtentSegments=a.a0.simpleSegment(0,0,4,2);let Q=new a.aX;Q.emplaceBack(0,0),Q.emplaceBack(a.X,0),Q.emplaceBack(0,a.X),Q.emplaceBack(a.X,a.X),this.debugBuffer=w.createVertexBuffer(Q,vo.members),this.debugSegments=a.a0.simpleSegment(0,0,4,5);let ee=new a.$;ee.emplaceBack(0,0,0,0),ee.emplaceBack(a.X,0,a.X,0),ee.emplaceBack(0,a.X,0,a.X),ee.emplaceBack(a.X,a.X,a.X,a.X),this.rasterBoundsBuffer=w.createVertexBuffer(ee,ct.members),this.rasterBoundsSegments=a.a0.simpleSegment(0,0,4,2);let le=new a.aX;le.emplaceBack(0,0),le.emplaceBack(1,0),le.emplaceBack(0,1),le.emplaceBack(1,1),this.viewportBuffer=w.createVertexBuffer(le,vo.members),this.viewportSegments=a.a0.simpleSegment(0,0,4,2);let ze=new a.aZ;ze.emplaceBack(0),ze.emplaceBack(1),ze.emplaceBack(3),ze.emplaceBack(2),ze.emplaceBack(0),this.tileBorderIndexBuffer=w.createIndexBuffer(ze);let Ze=new a.aY;Ze.emplaceBack(0,1,2),Ze.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=w.createIndexBuffer(Ze);let ut=this.context.gl;this.stencilClearMode=new Ko({func:ut.ALWAYS,mask:0},0,255,ut.ZERO,ut.ZERO,ut.ZERO)}clearStencil(){let w=this.context,B=w.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Q=a.H();a.aP(Q,0,this.width,this.height,0,0,1),a.K(Q,Q,[B.drawingBufferWidth,B.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(w,B.TRIANGLES,Po.disabled,this.stencilClearMode,Os.disabled,Pa.disabled,Lo(Q),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(w,B){if(this.currentStencilSource===w.source||!w.isTileClipped()||!B||!B.length)return;this.currentStencilSource=w.source;let Q=this.context,ee=Q.gl;this.nextStencilID+B.length>256&&this.clearStencil(),Q.setColorMode(Os.disabled),Q.setDepthMode(Po.disabled);let le=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let ze of B){let Ze=this._tileClippingMaskIDs[ze.key]=this.nextStencilID++,ut=this.style.map.terrain&&this.style.map.terrain.getTerrainData(ze);le.draw(Q,ee.TRIANGLES,Po.disabled,new Ko({func:ee.ALWAYS,mask:0},Ze,255,ee.KEEP,ee.KEEP,ee.REPLACE),Os.disabled,Pa.disabled,Lo(ze.posMatrix),ut,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let w=this.nextStencilID++,B=this.context.gl;return new Ko({func:B.NOTEQUAL,mask:255},w,255,B.KEEP,B.KEEP,B.REPLACE)}stencilModeForClipping(w){let B=this.context.gl;return new Ko({func:B.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,B.KEEP,B.KEEP,B.REPLACE)}stencilConfigForOverlap(w){let B=this.context.gl,Q=w.sort((ze,Ze)=>Ze.overscaledZ-ze.overscaledZ),ee=Q[Q.length-1].overscaledZ,le=Q[0].overscaledZ-ee+1;if(le>1){this.currentStencilSource=void 0,this.nextStencilID+le>256&&this.clearStencil();let ze={};for(let Ze=0;Ze({u_sky_color:qe.properties.get(\"sky-color\"),u_horizon_color:qe.properties.get(\"horizon-color\"),u_horizon:(Qe.height/2+Qe.getHorizon())*Xe,u_sky_horizon_blend:qe.properties.get(\"sky-horizon-blend\")*Qe.height/2*Xe}))(Mt,ut.style.map.transform,ut.pixelRatio),Cr=new Po($t.LEQUAL,Po.ReadWrite,[0,1]),ve=Ko.disabled,xe=ut.colorModeForRenderPass(),Ie=ut.useProgram(\"sky\");if(!Mt.mesh){let qe=new a.aX;qe.emplaceBack(-1,-1),qe.emplaceBack(1,-1),qe.emplaceBack(1,1),qe.emplaceBack(-1,1);let Qe=new a.aY;Qe.emplaceBack(0,1,2),Qe.emplaceBack(0,2,3),Mt.mesh=new Eu(Jt.createVertexBuffer(qe,vo.members),Jt.createIndexBuffer(Qe),a.a0.simpleSegment(0,0,qe.length,Qe.length))}Ie.draw(Jt,$t.TRIANGLES,Cr,ve,xe,Pa.disabled,mr,void 0,\"sky\",Mt.mesh.vertexBuffer,Mt.mesh.indexBuffer,Mt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=B.showOverdrawInspector,this.depthRangeFor3D=[0,1-(w._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=Q.length-1;this.currentLayer>=0;this.currentLayer--){let ut=this.style._layers[Q[this.currentLayer]],Mt=ee[ut.source],Jt=le[ut.source];this._renderTileClippingMasks(ut,Jt),this.renderLayer(this,Mt,ut,Jt)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayerIe.source&&!Ie.isHidden(Jt)?[Mt.sourceCaches[Ie.source]]:[]),Cr=mr.filter(Ie=>Ie.getSource().type===\"vector\"),ve=mr.filter(Ie=>Ie.getSource().type!==\"vector\"),xe=Ie=>{(!$t||$t.getSource().maxzoomxe(Ie)),$t||ve.forEach(Ie=>xe(Ie)),$t}(this.style,this.transform.zoom);ut&&function(Mt,Jt,$t){for(let mr=0;mr<$t.length;mr++)ih(Mt,Jt,$t[mr])}(this,ut,ut.getVisibleCoordinates())}this.options.showPadding&&function(ut){let Mt=ut.transform.padding;sf(ut,ut.transform.height-(Mt.top||0),3,Rc),sf(ut,Mt.bottom||0,3,gs),Sh(ut,Mt.left||0,3,Wf),Sh(ut,ut.transform.width-(Mt.right||0),3,Wh);let Jt=ut.transform.centerPoint;(function($t,mr,Cr,ve){Mu($t,mr-1,Cr-10,2,20,ve),Mu($t,mr-10,Cr-1,20,2,ve)})(ut,Jt.x,ut.transform.height-Jt.y,rh)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(w){if(!this.style||!this.style.map||!this.style.map.terrain)return;let B=this.terrainFacilitator.matrix,Q=this.transform.modelViewProjectionMatrix,ee=this.terrainFacilitator.dirty;ee||(ee=w?!a.a_(B,Q):!a.a$(B,Q)),ee||(ee=this.style.map.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime).length>0),ee&&(a.b0(B,Q),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(le,ze){let Ze=le.context,ut=Ze.gl,Mt=Os.unblended,Jt=new Po(ut.LEQUAL,Po.ReadWrite,[0,1]),$t=ze.getTerrainMesh(),mr=ze.sourceCache.getRenderableTiles(),Cr=le.useProgram(\"terrainDepth\");Ze.bindFramebuffer.set(ze.getFramebuffer(\"depth\").framebuffer),Ze.viewport.set([0,0,le.width/devicePixelRatio,le.height/devicePixelRatio]),Ze.clear({color:a.aM.transparent,depth:1});for(let ve of mr){let xe=ze.getTerrainData(ve.tileID),Ie={u_matrix:le.transform.calculatePosMatrix(ve.tileID.toUnwrapped()),u_ele_delta:ze.getMeshFrameDelta(le.transform.zoom)};Cr.draw(Ze,ut.TRIANGLES,Jt,Ko.disabled,Mt,Pa.backCCW,Ie,xe,\"terrain\",$t.vertexBuffer,$t.indexBuffer,$t.segments)}Ze.bindFramebuffer.set(null),Ze.viewport.set([0,0,le.width,le.height])}(this,this.style.map.terrain),function(le,ze){let Ze=le.context,ut=Ze.gl,Mt=Os.unblended,Jt=new Po(ut.LEQUAL,Po.ReadWrite,[0,1]),$t=ze.getTerrainMesh(),mr=ze.getCoordsTexture(),Cr=ze.sourceCache.getRenderableTiles(),ve=le.useProgram(\"terrainCoords\");Ze.bindFramebuffer.set(ze.getFramebuffer(\"coords\").framebuffer),Ze.viewport.set([0,0,le.width/devicePixelRatio,le.height/devicePixelRatio]),Ze.clear({color:a.aM.transparent,depth:1}),ze.coordsIndex=[];for(let xe of Cr){let Ie=ze.getTerrainData(xe.tileID);Ze.activeTexture.set(ut.TEXTURE0),ut.bindTexture(ut.TEXTURE_2D,mr.texture);let qe={u_matrix:le.transform.calculatePosMatrix(xe.tileID.toUnwrapped()),u_terrain_coords_id:(255-ze.coordsIndex.length)/255,u_texture:0,u_ele_delta:ze.getMeshFrameDelta(le.transform.zoom)};ve.draw(Ze,ut.TRIANGLES,Jt,Ko.disabled,Mt,Pa.backCCW,qe,Ie,\"terrain\",$t.vertexBuffer,$t.indexBuffer,$t.segments),ze.coordsIndex.push(xe.tileID.key)}Ze.bindFramebuffer.set(null),Ze.viewport.set([0,0,le.width,le.height])}(this,this.style.map.terrain))}renderLayer(w,B,Q,ee){if(!Q.isHidden(this.transform.zoom)&&(Q.type===\"background\"||Q.type===\"custom\"||(ee||[]).length))switch(this.id=Q.id,Q.type){case\"symbol\":(function(le,ze,Ze,ut,Mt){if(le.renderPass!==\"translucent\")return;let Jt=Ko.disabled,$t=le.colorModeForRenderPass();(Ze._unevaluatedLayout.hasValue(\"text-variable-anchor\")||Ze._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(mr,Cr,ve,xe,Ie,qe,Qe,Xe,nt){let qt=Cr.transform,jt=yn(),ar=Ie===\"map\",fr=qe===\"map\";for(let br of mr){let Fr=xe.getTile(br),Hr=Fr.getBucket(ve);if(!Hr||!Hr.text||!Hr.text.segments.get().length)continue;let ri=a.ag(Hr.textSizeData,qt.zoom),Ci=Fn(Fr,1,Cr.transform.zoom),cn=qr(br.posMatrix,fr,ar,Cr.transform,Ci),sn=ve.layout.get(\"icon-text-fit\")!==\"none\"&&Hr.hasIconData();if(ri){let Ln=Math.pow(2,qt.zoom-Fr.tileID.overscaledZ),Yn=Cr.style.map.terrain?(fa,$a)=>Cr.style.map.terrain.getElevation(br,fa,$a):null,Aa=jt.translatePosition(qt,Fr,Qe,Xe);yf(Hr,ar,fr,nt,qt,cn,br.posMatrix,Ln,ri,sn,jt,Aa,br.toUnwrapped(),Yn)}}}(ut,le,Ze,ze,Ze.layout.get(\"text-rotation-alignment\"),Ze.layout.get(\"text-pitch-alignment\"),Ze.paint.get(\"text-translate\"),Ze.paint.get(\"text-translate-anchor\"),Mt),Ze.paint.get(\"icon-opacity\").constantOr(1)!==0&&Ah(le,ze,Ze,ut,!1,Ze.paint.get(\"icon-translate\"),Ze.paint.get(\"icon-translate-anchor\"),Ze.layout.get(\"icon-rotation-alignment\"),Ze.layout.get(\"icon-pitch-alignment\"),Ze.layout.get(\"icon-keep-upright\"),Jt,$t),Ze.paint.get(\"text-opacity\").constantOr(1)!==0&&Ah(le,ze,Ze,ut,!0,Ze.paint.get(\"text-translate\"),Ze.paint.get(\"text-translate-anchor\"),Ze.layout.get(\"text-rotation-alignment\"),Ze.layout.get(\"text-pitch-alignment\"),Ze.layout.get(\"text-keep-upright\"),Jt,$t),ze.map.showCollisionBoxes&&(Hu(le,ze,Ze,ut,!0),Hu(le,ze,Ze,ut,!1))})(w,B,Q,ee,this.style.placement.variableOffsets);break;case\"circle\":(function(le,ze,Ze,ut){if(le.renderPass!==\"translucent\")return;let Mt=Ze.paint.get(\"circle-opacity\"),Jt=Ze.paint.get(\"circle-stroke-width\"),$t=Ze.paint.get(\"circle-stroke-opacity\"),mr=!Ze.layout.get(\"circle-sort-key\").isConstant();if(Mt.constantOr(1)===0&&(Jt.constantOr(1)===0||$t.constantOr(1)===0))return;let Cr=le.context,ve=Cr.gl,xe=le.depthModeForSublayer(0,Po.ReadOnly),Ie=Ko.disabled,qe=le.colorModeForRenderPass(),Qe=[];for(let Xe=0;XeXe.sortKey-nt.sortKey);for(let Xe of Qe){let{programConfiguration:nt,program:qt,layoutVertexBuffer:jt,indexBuffer:ar,uniformValues:fr,terrainData:br}=Xe.state;qt.draw(Cr,ve.TRIANGLES,xe,Ie,qe,Pa.disabled,fr,br,Ze.id,jt,ar,Xe.segments,Ze.paint,le.transform.zoom,nt)}})(w,B,Q,ee);break;case\"heatmap\":(function(le,ze,Ze,ut){if(Ze.paint.get(\"heatmap-opacity\")===0)return;let Mt=le.context;if(le.style.map.terrain){for(let Jt of ut){let $t=ze.getTile(Jt);ze.hasRenderableParent(Jt)||(le.renderPass===\"offscreen\"?_f(le,$t,Ze,Jt):le.renderPass===\"translucent\"&&Yc(le,Ze,Jt))}Mt.viewport.set([0,0,le.width,le.height])}else le.renderPass===\"offscreen\"?function(Jt,$t,mr,Cr){let ve=Jt.context,xe=ve.gl,Ie=Ko.disabled,qe=new Os([xe.ONE,xe.ONE],a.aM.transparent,[!0,!0,!0,!0]);(function(Qe,Xe,nt){let qt=Qe.gl;Qe.activeTexture.set(qt.TEXTURE1),Qe.viewport.set([0,0,Xe.width/4,Xe.height/4]);let jt=nt.heatmapFbos.get(a.aU);jt?(qt.bindTexture(qt.TEXTURE_2D,jt.colorAttachment.get()),Qe.bindFramebuffer.set(jt.framebuffer)):(jt=eh(Qe,Xe.width/4,Xe.height/4),nt.heatmapFbos.set(a.aU,jt))})(ve,Jt,mr),ve.clear({color:a.aM.transparent});for(let Qe=0;Qe20&&Jt.texParameterf(Jt.TEXTURE_2D,Mt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,Mt.extTextureFilterAnisotropicMax);let Hr=le.style.map.terrain&&le.style.map.terrain.getTerrainData(Qe),ri=Hr?Qe:null,Ci=ri?ri.posMatrix:le.transform.calculatePosMatrix(Qe.toUnwrapped(),qe),cn=cl(Ci,br||[0,0],fr||1,ar,Ze);$t instanceof Qt?mr.draw(Mt,Jt.TRIANGLES,Xe,Ko.disabled,Cr,Pa.disabled,cn,Hr,Ze.id,$t.boundsBuffer,le.quadTriangleIndexBuffer,$t.boundsSegments):mr.draw(Mt,Jt.TRIANGLES,Xe,ve[Qe.overscaledZ],Cr,Pa.disabled,cn,Hr,Ze.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments)}})(w,B,Q,ee);break;case\"background\":(function(le,ze,Ze,ut){let Mt=Ze.paint.get(\"background-color\"),Jt=Ze.paint.get(\"background-opacity\");if(Jt===0)return;let $t=le.context,mr=$t.gl,Cr=le.transform,ve=Cr.tileSize,xe=Ze.paint.get(\"background-pattern\");if(le.isPatternMissing(xe))return;let Ie=!xe&&Mt.a===1&&Jt===1&&le.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(le.renderPass!==Ie)return;let qe=Ko.disabled,Qe=le.depthModeForSublayer(0,Ie===\"opaque\"?Po.ReadWrite:Po.ReadOnly),Xe=le.colorModeForRenderPass(),nt=le.useProgram(xe?\"backgroundPattern\":\"background\"),qt=ut||Cr.coveringTiles({tileSize:ve,terrain:le.style.map.terrain});xe&&($t.activeTexture.set(mr.TEXTURE0),le.imageManager.bind(le.context));let jt=Ze.getCrossfadeParameters();for(let ar of qt){let fr=ut?ar.posMatrix:le.transform.calculatePosMatrix(ar.toUnwrapped()),br=xe?Su(fr,Jt,le,xe,{tileID:ar,tileSize:ve},jt):Yl(fr,Jt,Mt),Fr=le.style.map.terrain&&le.style.map.terrain.getTerrainData(ar);nt.draw($t,mr.TRIANGLES,Qe,qe,Xe,Pa.disabled,br,Fr,Ze.id,le.tileExtentBuffer,le.quadTriangleIndexBuffer,le.tileExtentSegments)}})(w,0,Q,ee);break;case\"custom\":(function(le,ze,Ze){let ut=le.context,Mt=Ze.implementation;if(le.renderPass===\"offscreen\"){let Jt=Mt.prerender;Jt&&(le.setCustomLayerDefaults(),ut.setColorMode(le.colorModeForRenderPass()),Jt.call(Mt,ut.gl,le.transform.customLayerMatrix()),ut.setDirty(),le.setBaseState())}else if(le.renderPass===\"translucent\"){le.setCustomLayerDefaults(),ut.setColorMode(le.colorModeForRenderPass()),ut.setStencilMode(Ko.disabled);let Jt=Mt.renderingMode===\"3d\"?new Po(le.context.gl.LEQUAL,Po.ReadWrite,le.depthRangeFor3D):le.depthModeForSublayer(0,Po.ReadOnly);ut.setDepthMode(Jt),Mt.render(ut.gl,le.transform.customLayerMatrix(),{farZ:le.transform.farZ,nearZ:le.transform.nearZ,fov:le.transform._fov,modelViewProjectionMatrix:le.transform.modelViewProjectionMatrix,projectionMatrix:le.transform.projectionMatrix}),ut.setDirty(),le.setBaseState(),ut.bindFramebuffer.set(null)}})(w,0,Q)}}translatePosMatrix(w,B,Q,ee,le){if(!Q[0]&&!Q[1])return w;let ze=le?ee===\"map\"?this.transform.angle:0:ee===\"viewport\"?-this.transform.angle:0;if(ze){let Mt=Math.sin(ze),Jt=Math.cos(ze);Q=[Q[0]*Jt-Q[1]*Mt,Q[0]*Mt+Q[1]*Jt]}let Ze=[le?Q[0]:Fn(B,Q[0],this.transform.zoom),le?Q[1]:Fn(B,Q[1],this.transform.zoom),0],ut=new Float32Array(16);return a.J(ut,w,Ze),ut}saveTileTexture(w){let B=this._tileTextures[w.size[0]];B?B.push(w):this._tileTextures[w.size[0]]=[w]}getTileTexture(w){let B=this._tileTextures[w];return B&&B.length>0?B.pop():null}isPatternMissing(w){if(!w)return!1;if(!w.from||!w.to)return!0;let B=this.imageManager.getPattern(w.from.toString()),Q=this.imageManager.getPattern(w.to.toString());return!B||!Q}useProgram(w,B){this.cache=this.cache||{};let Q=w+(B?B.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[Q]||(this.cache[Q]=new hn(this.context,Gn[w],B,nc[w],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Q]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let w=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(w.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new g(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:w,drawingBufferHeight:B}=this.context.gl;return this.width!==w||this.height!==B}}class ks{constructor(w,B){this.points=w,this.planes=B}static fromInvProjectionMatrix(w,B,Q){let ee=Math.pow(2,Q),le=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(Ze=>{let ut=1/(Ze=a.af([],Ze,w))[3]/B*ee;return a.b1(Ze,Ze,[ut,ut,1/Ze[3],ut])}),ze=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(Ze=>{let ut=function(mr,Cr){var ve=Cr[0],xe=Cr[1],Ie=Cr[2],qe=ve*ve+xe*xe+Ie*Ie;return qe>0&&(qe=1/Math.sqrt(qe)),mr[0]=Cr[0]*qe,mr[1]=Cr[1]*qe,mr[2]=Cr[2]*qe,mr}([],function(mr,Cr,ve){var xe=Cr[0],Ie=Cr[1],qe=Cr[2],Qe=ve[0],Xe=ve[1],nt=ve[2];return mr[0]=Ie*nt-qe*Xe,mr[1]=qe*Qe-xe*nt,mr[2]=xe*Xe-Ie*Qe,mr}([],L([],le[Ze[0]],le[Ze[1]]),L([],le[Ze[2]],le[Ze[1]]))),Mt=-((Jt=ut)[0]*($t=le[Ze[1]])[0]+Jt[1]*$t[1]+Jt[2]*$t[2]);var Jt,$t;return ut.concat(Mt)});return new ks(le,ze)}}class bc{constructor(w,B){this.min=w,this.max=B,this.center=function(Q,ee,le){return Q[0]=.5*ee[0],Q[1]=.5*ee[1],Q[2]=.5*ee[2],Q}([],function(Q,ee,le){return Q[0]=ee[0]+le[0],Q[1]=ee[1]+le[1],Q[2]=ee[2]+le[2],Q}([],this.min,this.max))}quadrant(w){let B=[w%2==0,w<2],Q=M(this.min),ee=M(this.max);for(let le=0;le=0&&ze++;if(ze===0)return 0;ze!==B.length&&(Q=!1)}if(Q)return 2;for(let ee=0;ee<3;ee++){let le=Number.MAX_VALUE,ze=-Number.MAX_VALUE;for(let Ze=0;Zethis.max[ee]-this.min[ee])return 0}return 1}}class hu{constructor(w=0,B=0,Q=0,ee=0){if(isNaN(w)||w<0||isNaN(B)||B<0||isNaN(Q)||Q<0||isNaN(ee)||ee<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=w,this.bottom=B,this.left=Q,this.right=ee}interpolate(w,B,Q){return B.top!=null&&w.top!=null&&(this.top=a.y.number(w.top,B.top,Q)),B.bottom!=null&&w.bottom!=null&&(this.bottom=a.y.number(w.bottom,B.bottom,Q)),B.left!=null&&w.left!=null&&(this.left=a.y.number(w.left,B.left,Q)),B.right!=null&&w.right!=null&&(this.right=a.y.number(w.right,B.right,Q)),this}getCenter(w,B){let Q=a.ac((this.left+w-this.right)/2,0,w),ee=a.ac((this.top+B-this.bottom)/2,0,B);return new a.P(Q,ee)}equals(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right}clone(){return new hu(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let _u=85.051129;class nl{constructor(w,B,Q,ee,le){this.tileSize=512,this._renderWorldCopies=le===void 0||!!le,this._minZoom=w||0,this._maxZoom=B||22,this._minPitch=Q==null?0:Q,this._maxPitch=ee==null?60:ee,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new hu,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let w=new nl(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.apply(this),w}apply(w){this.tileSize=w.tileSize,this.latRange=w.latRange,this.lngRange=w.lngRange,this.width=w.width,this.height=w.height,this._center=w._center,this._elevation=w._elevation,this.minElevationForCurrentTile=w.minElevationForCurrentTile,this.zoom=w.zoom,this.angle=w.angle,this._fov=w._fov,this._pitch=w._pitch,this._unmodified=w._unmodified,this._edgeInsets=w._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))}get maxZoom(){return this._maxZoom}set maxZoom(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))}get minPitch(){return this._minPitch}set minPitch(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))}get maxPitch(){return this._maxPitch}set maxPitch(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new a.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(w){let B=-a.b3(w,-180,180)*Math.PI/180;this.angle!==B&&(this._unmodified=!1,this.angle=B,this._calcMatrices(),this.rotationMatrix=function(){var Q=new a.A(4);return a.A!=Float32Array&&(Q[1]=0,Q[2]=0),Q[0]=1,Q[3]=1,Q}(),function(Q,ee,le){var ze=ee[0],Ze=ee[1],ut=ee[2],Mt=ee[3],Jt=Math.sin(le),$t=Math.cos(le);Q[0]=ze*$t+ut*Jt,Q[1]=Ze*$t+Mt*Jt,Q[2]=ze*-Jt+ut*$t,Q[3]=Ze*-Jt+Mt*$t}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(w){let B=a.ac(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==B&&(this._unmodified=!1,this._pitch=B,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(w){let B=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==B&&(this._unmodified=!1,this._zoom=B,this.tileZoom=Math.max(0,Math.floor(B)),this.scale=this.zoomScale(B),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(w){w!==this._elevation&&(this._elevation=w,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(w){return this._edgeInsets.equals(w)}interpolatePadding(w,B,Q){this._unmodified=!1,this._edgeInsets.interpolate(w,B,Q),this._constrain(),this._calcMatrices()}coveringZoomLevel(w){let B=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,B)}getVisibleUnwrappedCoordinates(w){let B=[new a.b4(0,w)];if(this._renderWorldCopies){let Q=this.pointCoordinate(new a.P(0,0)),ee=this.pointCoordinate(new a.P(this.width,0)),le=this.pointCoordinate(new a.P(this.width,this.height)),ze=this.pointCoordinate(new a.P(0,this.height)),Ze=Math.floor(Math.min(Q.x,ee.x,le.x,ze.x)),ut=Math.floor(Math.max(Q.x,ee.x,le.x,ze.x)),Mt=1;for(let Jt=Ze-Mt;Jt<=ut+Mt;Jt++)Jt!==0&&B.push(new a.b4(Jt,w))}return B}coveringTiles(w){var B,Q;let ee=this.coveringZoomLevel(w),le=ee;if(w.minzoom!==void 0&&eew.maxzoom&&(ee=w.maxzoom);let ze=this.pointCoordinate(this.getCameraPoint()),Ze=a.Z.fromLngLat(this.center),ut=Math.pow(2,ee),Mt=[ut*ze.x,ut*ze.y,0],Jt=[ut*Ze.x,ut*Ze.y,0],$t=ks.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,ee),mr=w.minzoom||0;!w.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(mr=ee);let Cr=w.terrain?2/Math.min(this.tileSize,w.tileSize)*this.tileSize:3,ve=Xe=>({aabb:new bc([Xe*ut,0,0],[(Xe+1)*ut,ut,0]),zoom:0,x:0,y:0,wrap:Xe,fullyVisible:!1}),xe=[],Ie=[],qe=ee,Qe=w.reparseOverscaled?le:ee;if(this._renderWorldCopies)for(let Xe=1;Xe<=3;Xe++)xe.push(ve(-Xe)),xe.push(ve(Xe));for(xe.push(ve(0));xe.length>0;){let Xe=xe.pop(),nt=Xe.x,qt=Xe.y,jt=Xe.fullyVisible;if(!jt){let Hr=Xe.aabb.intersects($t);if(Hr===0)continue;jt=Hr===2}let ar=w.terrain?Mt:Jt,fr=Xe.aabb.distanceX(ar),br=Xe.aabb.distanceY(ar),Fr=Math.max(Math.abs(fr),Math.abs(br));if(Xe.zoom===qe||Fr>Cr+(1<=mr){let Hr=qe-Xe.zoom,ri=Mt[0]-.5-(nt<>1),cn=Xe.zoom+1,sn=Xe.aabb.quadrant(Hr);if(w.terrain){let Ln=new a.S(cn,Xe.wrap,cn,ri,Ci),Yn=w.terrain.getMinMaxElevation(Ln),Aa=(B=Yn.minElevation)!==null&&B!==void 0?B:this.elevation,fa=(Q=Yn.maxElevation)!==null&&Q!==void 0?Q:this.elevation;sn=new bc([sn.min[0],sn.min[1],Aa],[sn.max[0],sn.max[1],fa])}xe.push({aabb:sn,zoom:cn,x:ri,y:Ci,wrap:Xe.wrap,fullyVisible:jt})}}return Ie.sort((Xe,nt)=>Xe.distanceSq-nt.distanceSq).map(Xe=>Xe.tileID)}resize(w,B){this.width=w,this.height=B,this.pixelsToGLUnits=[2/w,-2/B],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(w){return Math.pow(2,w)}scaleZoom(w){return Math.log(w)/Math.LN2}project(w){let B=a.ac(w.lat,-85.051129,_u);return new a.P(a.O(w.lng)*this.worldSize,a.Q(B)*this.worldSize)}unproject(w){return new a.Z(w.x/this.worldSize,w.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(w){let B=this.elevation,Q=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,ee=this.pointLocation(this.centerPoint,w),le=w.getElevationForLngLatZoom(ee,this.tileZoom);if(!(this.elevation-le))return;let ze=Q+B-le,Ze=Math.cos(this._pitch)*this.cameraToCenterDistance/ze/a.b5(1,ee.lat),ut=this.scaleZoom(Ze/this.tileSize);this._elevation=le,this._center=ee,this.zoom=ut}setLocationAtPoint(w,B){let Q=this.pointCoordinate(B),ee=this.pointCoordinate(this.centerPoint),le=this.locationCoordinate(w),ze=new a.Z(le.x-(Q.x-ee.x),le.y-(Q.y-ee.y));this.center=this.coordinateLocation(ze),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(w,B){return B?this.coordinatePoint(this.locationCoordinate(w),B.getElevationForLngLatZoom(w,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(w))}pointLocation(w,B){return this.coordinateLocation(this.pointCoordinate(w,B))}locationCoordinate(w){return a.Z.fromLngLat(w)}coordinateLocation(w){return w&&w.toLngLat()}pointCoordinate(w,B){if(B){let mr=B.pointCoordinate(w);if(mr!=null)return mr}let Q=[w.x,w.y,0,1],ee=[w.x,w.y,1,1];a.af(Q,Q,this.pixelMatrixInverse),a.af(ee,ee,this.pixelMatrixInverse);let le=Q[3],ze=ee[3],Ze=Q[1]/le,ut=ee[1]/ze,Mt=Q[2]/le,Jt=ee[2]/ze,$t=Mt===Jt?0:(0-Mt)/(Jt-Mt);return new a.Z(a.y.number(Q[0]/le,ee[0]/ze,$t)/this.worldSize,a.y.number(Ze,ut,$t)/this.worldSize)}coordinatePoint(w,B=0,Q=this.pixelMatrix){let ee=[w.x*this.worldSize,w.y*this.worldSize,B,1];return a.af(ee,ee,Q),new a.P(ee[0]/ee[3],ee[1]/ee[3])}getBounds(){let w=Math.max(0,this.height/2-this.getHorizon());return new ce().extend(this.pointLocation(new a.P(0,w))).extend(this.pointLocation(new a.P(this.width,w))).extend(this.pointLocation(new a.P(this.width,this.height))).extend(this.pointLocation(new a.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ce([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,_u])}calculateTileMatrix(w){let B=w.canonical,Q=this.worldSize/this.zoomScale(B.z),ee=B.x+Math.pow(2,B.z)*w.wrap,le=a.an(new Float64Array(16));return a.J(le,le,[ee*Q,B.y*Q,0]),a.K(le,le,[Q/a.X,Q/a.X,1]),le}calculatePosMatrix(w,B=!1){let Q=w.key,ee=B?this._alignedPosMatrixCache:this._posMatrixCache;if(ee[Q])return ee[Q];let le=this.calculateTileMatrix(w);return a.L(le,B?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,le),ee[Q]=new Float32Array(le),ee[Q]}calculateFogMatrix(w){let B=w.key,Q=this._fogMatrixCache;if(Q[B])return Q[B];let ee=this.calculateTileMatrix(w);return a.L(ee,this.fogMatrix,ee),Q[B]=new Float32Array(ee),Q[B]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(w,B){B=a.ac(+B,this.minZoom,this.maxZoom);let Q={center:new a.N(w.lng,w.lat),zoom:B},ee=this.lngRange;if(!this._renderWorldCopies&&ee===null){let Xe=179.9999999999;ee=[-Xe,Xe]}let le=this.tileSize*this.zoomScale(Q.zoom),ze=0,Ze=le,ut=0,Mt=le,Jt=0,$t=0,{x:mr,y:Cr}=this.size;if(this.latRange){let Xe=this.latRange;ze=a.Q(Xe[1])*le,Ze=a.Q(Xe[0])*le,Ze-zeZe&&(qe=Ze-Xe)}if(ee){let Xe=(ut+Mt)/2,nt=ve;this._renderWorldCopies&&(nt=a.b3(ve,Xe-le/2,Xe+le/2));let qt=mr/2;nt-qtMt&&(Ie=Mt-qt)}if(Ie!==void 0||qe!==void 0){let Xe=new a.P(Ie!=null?Ie:ve,qe!=null?qe:xe);Q.center=this.unproject.call({worldSize:le},Xe).wrap()}return Q}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let w=this._unmodified,{center:B,zoom:Q}=this.getConstrained(this.center,this.zoom);this.center=B,this.zoom=Q,this._unmodified=w,this._constraining=!1}_calcMatrices(){if(!this.height)return;let w=this.centerOffset,B=this.point.x,Q=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=a.b5(1,this.center.lat)*this.worldSize;let ee=a.an(new Float64Array(16));a.K(ee,ee,[this.width/2,-this.height/2,1]),a.J(ee,ee,[1,-1,0]),this.labelPlaneMatrix=ee,ee=a.an(new Float64Array(16)),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[-1,-1,0]),a.K(ee,ee,[2/this.width,2/this.height,1]),this.glCoordMatrix=ee;let le=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),ze=Math.min(this.elevation,this.minElevationForCurrentTile),Ze=le-ze*this._pixelPerMeter/Math.cos(this._pitch),ut=ze<0?Ze:le,Mt=Math.PI/2+this._pitch,Jt=this._fov*(.5+w.y/this.height),$t=Math.sin(Jt)*ut/Math.sin(a.ac(Math.PI-Mt-Jt,.01,Math.PI-.01)),mr=this.getHorizon(),Cr=2*Math.atan(mr/this.cameraToCenterDistance)*(.5+w.y/(2*mr)),ve=Math.sin(Cr)*ut/Math.sin(a.ac(Math.PI-Mt-Cr,.01,Math.PI-.01)),xe=Math.min($t,ve);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*xe+ut),this.nearZ=this.height/50,ee=new Float64Array(16),a.b6(ee,this._fov,this.width/this.height,this.nearZ,this.farZ),ee[8]=2*-w.x/this.width,ee[9]=2*w.y/this.height,this.projectionMatrix=a.ae(ee),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[0,0,-this.cameraToCenterDistance]),a.b7(ee,ee,this._pitch),a.ad(ee,ee,this.angle),a.J(ee,ee,[-B,-Q,0]),this.mercatorMatrix=a.K([],ee,[this.worldSize,this.worldSize,this.worldSize]),a.K(ee,ee,[1,1,this._pixelPerMeter]),this.pixelMatrix=a.L(new Float64Array(16),this.labelPlaneMatrix,ee),a.J(ee,ee,[0,0,-this.elevation]),this.modelViewProjectionMatrix=ee,this.invModelViewProjectionMatrix=a.as([],ee),this.fogMatrix=new Float64Array(16),a.b6(this.fogMatrix,this._fov,this.width/this.height,le,this.farZ),this.fogMatrix[8]=2*-w.x/this.width,this.fogMatrix[9]=2*w.y/this.height,a.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),a.b7(this.fogMatrix,this.fogMatrix,this._pitch),a.ad(this.fogMatrix,this.fogMatrix,this.angle),a.J(this.fogMatrix,this.fogMatrix,[-B,-Q,0]),a.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=a.L(new Float64Array(16),this.labelPlaneMatrix,ee);let Ie=this.width%2/2,qe=this.height%2/2,Qe=Math.cos(this.angle),Xe=Math.sin(this.angle),nt=B-Math.round(B)+Qe*Ie+Xe*qe,qt=Q-Math.round(Q)+Qe*qe+Xe*Ie,jt=new Float64Array(ee);if(a.J(jt,jt,[nt>.5?nt-1:nt,qt>.5?qt-1:qt,0]),this.alignedModelViewProjectionMatrix=jt,ee=a.as(new Float64Array(16),this.pixelMatrix),!ee)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=ee,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let w=this.pointCoordinate(new a.P(0,0)),B=[w.x*this.worldSize,w.y*this.worldSize,0,1];return a.af(B,B,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.P(0,w))}getCameraQueryGeometry(w){let B=this.getCameraPoint();if(w.length===1)return[w[0],B];{let Q=B.x,ee=B.y,le=B.x,ze=B.y;for(let Ze of w)Q=Math.min(Q,Ze.x),ee=Math.min(ee,Ze.y),le=Math.max(le,Ze.x),ze=Math.max(ze,Ze.y);return[new a.P(Q,ee),new a.P(le,ee),new a.P(le,ze),new a.P(Q,ze),new a.P(Q,ee)]}}lngLatToCameraDepth(w,B){let Q=this.locationCoordinate(w),ee=[Q.x*this.worldSize,Q.y*this.worldSize,B,1];return a.af(ee,ee,this.modelViewProjectionMatrix),ee[2]/ee[3]}}function nh(ue,w){let B,Q=!1,ee=null,le=null,ze=()=>{ee=null,Q&&(ue.apply(le,B),ee=setTimeout(ze,w),Q=!1)};return(...Ze)=>(Q=!0,le=this,B=Ze,ee||ze(),ee)}class Mh{constructor(w){this._getCurrentHash=()=>{let B=window.location.hash.replace(\"#\",\"\");if(this._hashName){let Q;return B.split(\"&\").map(ee=>ee.split(\"=\")).forEach(ee=>{ee[0]===this._hashName&&(Q=ee)}),(Q&&Q[1]||\"\").split(\"/\")}return B.split(\"/\")},this._onHashChange=()=>{let B=this._getCurrentHash();if(B.length>=3&&!B.some(Q=>isNaN(Q))){let Q=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(B[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+B[2],+B[1]],zoom:+B[0],bearing:Q,pitch:+(B[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let B=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,B)},this._removeHash=()=>{let B=this._getCurrentHash();if(B.length===0)return;let Q=B.join(\"/\"),ee=Q;ee.split(\"&\").length>0&&(ee=ee.split(\"&\")[0]),this._hashName&&(ee=`${this._hashName}=${Q}`);let le=window.location.hash.replace(ee,\"\");le.startsWith(\"#&\")?le=le.slice(0,1)+le.slice(2):le===\"#\"&&(le=\"\");let ze=window.location.href.replace(/(#.+)?$/,le);ze=ze.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,ze)},this._updateHash=nh(this._updateHashUnthrottled,300),this._hashName=w&&encodeURIComponent(w)}addTo(w){return this._map=w,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(w){let B=this._map.getCenter(),Q=Math.round(100*this._map.getZoom())/100,ee=Math.ceil((Q*Math.LN2+Math.log(512/360/.5))/Math.LN10),le=Math.pow(10,ee),ze=Math.round(B.lng*le)/le,Ze=Math.round(B.lat*le)/le,ut=this._map.getBearing(),Mt=this._map.getPitch(),Jt=\"\";if(Jt+=w?`/${ze}/${Ze}/${Q}`:`${Q}/${Ze}/${ze}`,(ut||Mt)&&(Jt+=\"/\"+Math.round(10*ut)/10),Mt&&(Jt+=`/${Math.round(Mt)}`),this._hashName){let $t=this._hashName,mr=!1,Cr=window.location.hash.slice(1).split(\"&\").map(ve=>{let xe=ve.split(\"=\")[0];return xe===$t?(mr=!0,`${xe}=${Jt}`):ve}).filter(ve=>ve);return mr||Cr.push(`${$t}=${Jt}`),`#${Cr.join(\"&\")}`}return`#${Jt}`}}let zu={linearity:.3,easing:a.b8(0,0,.3,1)},Fc=a.e({deceleration:2500,maxSpeed:1400},zu),wc=a.e({deceleration:20,maxSpeed:1400},zu),bd=a.e({deceleration:1e3,maxSpeed:360},zu),xf=a.e({deceleration:1e3,maxSpeed:90},zu);class Pf{constructor(w){this._map=w,this.clear()}clear(){this._inertiaBuffer=[]}record(w){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:w})}_drainInertiaBuffer(){let w=this._inertiaBuffer,B=u.now();for(;w.length>0&&B-w[0].time>160;)w.shift()}_onMoveEnd(w){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let B={zoom:0,bearing:0,pitch:0,pan:new a.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:le}of this._inertiaBuffer)B.zoom+=le.zoomDelta||0,B.bearing+=le.bearingDelta||0,B.pitch+=le.pitchDelta||0,le.panDelta&&B.pan._add(le.panDelta),le.around&&(B.around=le.around),le.pinchAround&&(B.pinchAround=le.pinchAround);let Q=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,ee={};if(B.pan.mag()){let le=bf(B.pan.mag(),Q,a.e({},Fc,w||{}));ee.offset=B.pan.mult(le.amount/B.pan.mag()),ee.center=this._map.transform.center,qu(ee,le)}if(B.zoom){let le=bf(B.zoom,Q,wc);ee.zoom=this._map.transform.zoom+le.amount,qu(ee,le)}if(B.bearing){let le=bf(B.bearing,Q,bd);ee.bearing=this._map.transform.bearing+a.ac(le.amount,-179,179),qu(ee,le)}if(B.pitch){let le=bf(B.pitch,Q,xf);ee.pitch=this._map.transform.pitch+le.amount,qu(ee,le)}if(ee.zoom||ee.bearing){let le=B.pinchAround===void 0?B.around:B.pinchAround;ee.around=le?this._map.unproject(le):this._map.getCenter()}return this.clear(),a.e(ee,{noMoveStart:!0})}}function qu(ue,w){(!ue.duration||ue.durationB.unproject(ut)),Ze=le.reduce((ut,Mt,Jt,$t)=>ut.add(Mt.div($t.length)),new a.P(0,0));super(w,{points:le,point:Ze,lngLats:ze,lngLat:B.unproject(Ze),originalEvent:Q}),this._defaultPrevented=!1}}class Xh extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){super(w,{originalEvent:Q}),this._defaultPrevented=!1}}class If{constructor(w,B){this._map=w,this._clickTolerance=B.clickTolerance}reset(){delete this._mousedownPos}wheel(w){return this._firePreventable(new Xh(w.type,this._map,w))}mousedown(w,B){return this._mousedownPos=B,this._firePreventable(new jl(w.type,this._map,w))}mouseup(w){this._map.fire(new jl(w.type,this._map,w))}click(w,B){this._mousedownPos&&this._mousedownPos.dist(B)>=this._clickTolerance||this._map.fire(new jl(w.type,this._map,w))}dblclick(w){return this._firePreventable(new jl(w.type,this._map,w))}mouseover(w){this._map.fire(new jl(w.type,this._map,w))}mouseout(w){this._map.fire(new jl(w.type,this._map,w))}touchstart(w){return this._firePreventable(new lf(w.type,this._map,w))}touchmove(w){this._map.fire(new lf(w.type,this._map,w))}touchend(w){this._map.fire(new lf(w.type,this._map,w))}touchcancel(w){this._map.fire(new lf(w.type,this._map,w))}_firePreventable(w){if(this._map.fire(w),w.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Cs{constructor(w){this._map=w}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(w){this._map.fire(new jl(w.type,this._map,w))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new jl(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(w){this._delayContextMenu?this._contextMenuEvent=w:this._ignoreContextMenu||this._map.fire(new jl(w.type,this._map,w)),this._map.listens(\"contextmenu\")&&w.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class du{constructor(w){this._map=w}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(w){return this.transform.pointLocation(a.P.convert(w),this._map.terrain)}}class ku{constructor(w,B){this._map=w,this._tr=new du(w),this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=B.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(w,B){this.isEnabled()&&w.shiftKey&&w.button===0&&(c.disableDrag(),this._startPos=this._lastPos=B,this._active=!0)}mousemoveWindow(w,B){if(!this._active)return;let Q=B;if(this._lastPos.equals(Q)||!this._box&&Q.dist(this._startPos)le.fitScreenCoordinates(Q,ee,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",w)}keydown(w){this._active&&w.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",w))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(w,B){return this._map.fire(new a.k(w,{originalEvent:B}))}}function Xf(ue,w){if(ue.length!==w.length)throw new Error(`The number of touches and points are not equal - touches ${ue.length}, points ${w.length}`);let B={};for(let Q=0;Qthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),Q.length===this.numTouches&&(this.centroid=function(ee){let le=new a.P(0,0);for(let ze of ee)le._add(ze);return le.div(ee.length)}(B),this.touches=Xf(Q,B)))}touchmove(w,B,Q){if(this.aborted||!this.centroid)return;let ee=Xf(Q,B);for(let le in this.touches){let ze=ee[le];(!ze||ze.dist(this.touches[le])>30)&&(this.aborted=!0)}}touchend(w,B,Q){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),Q.length===0){let ee=!this.aborted&&this.centroid;if(this.reset(),ee)return ee}}}class wf{constructor(w){this.singleTap=new Us(w),this.numTaps=w.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(w,B,Q){this.singleTap.touchstart(w,B,Q)}touchmove(w,B,Q){this.singleTap.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this.singleTap.touchend(w,B,Q);if(ee){let le=w.timeStamp-this.lastTime<500,ze=!this.lastTap||this.lastTap.dist(ee)<30;if(le&&ze||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=ee,this.count===this.numTaps)return this.reset(),ee}}}class zc{constructor(w){this._tr=new du(w),this._zoomIn=new wf({numTouches:1,numTaps:2}),this._zoomOut=new wf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(w,B,Q){this._zoomIn.touchstart(w,B,Q),this._zoomOut.touchstart(w,B,Q)}touchmove(w,B,Q){this._zoomIn.touchmove(w,B,Q),this._zoomOut.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this._zoomIn.touchend(w,B,Q),le=this._zoomOut.touchend(w,B,Q),ze=this._tr;return ee?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:Ze=>Ze.easeTo({duration:300,zoom:ze.zoom+1,around:ze.unproject(ee)},{originalEvent:w})}):le?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:Ze=>Ze.easeTo({duration:300,zoom:ze.zoom-1,around:ze.unproject(le)},{originalEvent:w})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Wu{constructor(w){this._enabled=!!w.enable,this._moveStateManager=w.moveStateManager,this._clickTolerance=w.clickTolerance||1,this._moveFunction=w.move,this._activateOnStart=!!w.activateOnStart,w.assignEvents(this),this.reset()}reset(w){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(w)}_move(...w){let B=this._moveFunction(...w);if(B.bearingDelta||B.pitchDelta||B.around||B.panDelta)return this._active=!0,B}dragStart(w,B){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(w)&&(this._moveStateManager.startMove(w),this._lastPoint=B.length?B[0]:B,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(w,B){if(!this.isEnabled())return;let Q=this._lastPoint;if(!Q)return;if(w.preventDefault(),!this._moveStateManager.isValidMoveEvent(w))return void this.reset(w);let ee=B.length?B[0]:B;return!this._moved&&ee.dist(Q){ue.mousedown=ue.dragStart,ue.mousemoveWindow=ue.dragMove,ue.mouseup=ue.dragEnd,ue.contextmenu=w=>{w.preventDefault()}},Wl=({enable:ue,clickTolerance:w,bearingDegreesPerPixelMoved:B=.8})=>{let Q=new Xu({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new Wu({clickTolerance:w,move:(ee,le)=>({bearingDelta:(le.x-ee.x)*B}),moveStateManager:Q,enable:ue,assignEvents:Zf})},ah=({enable:ue,clickTolerance:w,pitchDegreesPerPixelMoved:B=-.5})=>{let Q=new Xu({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new Wu({clickTolerance:w,move:(ee,le)=>({pitchDelta:(le.y-ee.y)*B}),moveStateManager:Q,enable:ue,assignEvents:Zf})};class Zu{constructor(w,B){this._clickTolerance=w.clickTolerance||1,this._map=B,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new a.P(0,0)}_shouldBePrevented(w){return w<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(w,B,Q){return this._calculateTransform(w,B,Q)}touchmove(w,B,Q){if(this._active){if(!this._shouldBePrevented(Q.length))return w.preventDefault(),this._calculateTransform(w,B,Q);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",w)}}touchend(w,B,Q){this._calculateTransform(w,B,Q),this._active&&this._shouldBePrevented(Q.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(w,B,Q){Q.length>0&&(this._active=!0);let ee=Xf(Q,B),le=new a.P(0,0),ze=new a.P(0,0),Ze=0;for(let Mt in ee){let Jt=ee[Mt],$t=this._touches[Mt];$t&&(le._add(Jt),ze._add(Jt.sub($t)),Ze++,ee[Mt]=Jt)}if(this._touches=ee,this._shouldBePrevented(Ze)||!ze.mag())return;let ut=ze.div(Ze);return this._sum._add(ut),this._sum.mag()Math.abs(ue.x)}class Bc extends qc{constructor(w){super(),this._currentTouchCount=0,this._map=w}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(w,B,Q){super.touchstart(w,B,Q),this._currentTouchCount=Q.length}_start(w){this._lastPoints=w,fc(w[0].sub(w[1]))&&(this._valid=!1)}_move(w,B,Q){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let ee=w[0].sub(this._lastPoints[0]),le=w[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(ee,le,Q.timeStamp),this._valid?(this._lastPoints=w,this._active=!0,{pitchDelta:(ee.y+le.y)/2*-.5}):void 0}gestureBeginsVertically(w,B,Q){if(this._valid!==void 0)return this._valid;let ee=w.mag()>=2,le=B.mag()>=2;if(!ee&&!le)return;if(!ee||!le)return this._firstMove===void 0&&(this._firstMove=Q),Q-this._firstMove<100&&void 0;let ze=w.y>0==B.y>0;return fc(w)&&fc(B)&&ze}}let kt={panStep:100,bearingStep:15,pitchStep:10};class Zt{constructor(w){this._tr=new du(w);let B=kt;this._panStep=B.panStep,this._bearingStep=B.bearingStep,this._pitchStep=B.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(w){if(w.altKey||w.ctrlKey||w.metaKey)return;let B=0,Q=0,ee=0,le=0,ze=0;switch(w.keyCode){case 61:case 107:case 171:case 187:B=1;break;case 189:case 109:case 173:B=-1;break;case 37:w.shiftKey?Q=-1:(w.preventDefault(),le=-1);break;case 39:w.shiftKey?Q=1:(w.preventDefault(),le=1);break;case 38:w.shiftKey?ee=1:(w.preventDefault(),ze=-1);break;case 40:w.shiftKey?ee=-1:(w.preventDefault(),ze=1);break;default:return}return this._rotationDisabled&&(Q=0,ee=0),{cameraAnimation:Ze=>{let ut=this._tr;Ze.easeTo({duration:300,easeId:\"keyboardHandler\",easing:Mr,zoom:B?Math.round(ut.zoom)+B*(w.shiftKey?2:1):ut.zoom,bearing:ut.bearing+Q*this._bearingStep,pitch:ut.pitch+ee*this._pitchStep,offset:[-le*this._panStep,-ze*this._panStep],center:ut.center},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function Mr(ue){return ue*(2-ue)}let xr=4.000244140625;class Kr{constructor(w,B){this._onTimeout=Q=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(Q)},this._map=w,this._tr=new du(w),this._triggerRenderFrame=B,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(w){this._defaultZoomRate=w}setWheelZoomRate(w){this._wheelZoomRate=w}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(w){return!!this._map.cooperativeGestures.isEnabled()&&!(w.ctrlKey||this._map.cooperativeGestures.isBypassed(w))}wheel(w){if(!this.isEnabled())return;if(this._shouldBePrevented(w))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",w);let B=w.deltaMode===WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,Q=u.now(),ee=Q-(this._lastWheelEventTime||0);this._lastWheelEventTime=Q,B!==0&&B%xr==0?this._type=\"wheel\":B!==0&&Math.abs(B)<4?this._type=\"trackpad\":ee>400?(this._type=null,this._lastValue=B,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(ee*B)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,B+=this._lastValue)),w.shiftKey&&B&&(B/=4),this._type&&(this._lastWheelEvent=w,this._delta-=B,this._active||this._start(w)),w.preventDefault()}_start(w){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let B=c.mousePos(this._map.getCanvas(),w),Q=this._tr;this._around=B.y>Q.transform.height/2-Q.transform.getHorizon()?a.N.convert(this._aroundCenter?Q.center:Q.unproject(B)):a.N.convert(Q.center),this._aroundPoint=Q.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let w=this._tr.transform;if(this._delta!==0){let ut=this._type===\"wheel\"&&Math.abs(this._delta)>xr?this._wheelZoomRate:this._defaultZoomRate,Mt=2/(1+Math.exp(-Math.abs(this._delta*ut)));this._delta<0&&Mt!==0&&(Mt=1/Mt);let Jt=typeof this._targetZoom==\"number\"?w.zoomScale(this._targetZoom):w.scale;this._targetZoom=Math.min(w.maxZoom,Math.max(w.minZoom,w.scaleZoom(Jt*Mt))),this._type===\"wheel\"&&(this._startZoom=w.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let B=typeof this._targetZoom==\"number\"?this._targetZoom:w.zoom,Q=this._startZoom,ee=this._easing,le,ze=!1,Ze=u.now()-this._lastWheelEventTime;if(this._type===\"wheel\"&&Q&&ee&&Ze){let ut=Math.min(Ze/200,1),Mt=ee(ut);le=a.y.number(Q,B,Mt),ut<1?this._frameId||(this._frameId=!0):ze=!0}else le=B,ze=!0;return this._active=!0,ze&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!ze,zoomDelta:le-w.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(w){let B=a.b9;if(this._prevEase){let Q=this._prevEase,ee=(u.now()-Q.start)/Q.duration,le=Q.easing(ee+.01)-Q.easing(ee),ze=.27/Math.sqrt(le*le+1e-4)*.01,Ze=Math.sqrt(.0729-ze*ze);B=a.b8(ze,Ze,.25,1)}return this._prevEase={start:u.now(),duration:w,easing:B},B}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Mi{constructor(w,B){this._clickZoom=w,this._tapZoom=B}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Wi{constructor(w){this._tr=new du(w),this.reset()}reset(){this._active=!1}dblclick(w,B){return w.preventDefault(),{cameraAnimation:Q=>{Q.easeTo({duration:300,zoom:this._tr.zoom+(w.shiftKey?-1:1),around:this._tr.unproject(B)},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class dn{constructor(){this._tap=new wf({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(w,B,Q){if(!this._swipePoint)if(this._tapTime){let ee=B[0],le=w.timeStamp-this._tapTime<500,ze=this._tapPoint.dist(ee)<30;le&&ze?Q.length>0&&(this._swipePoint=ee,this._swipeTouch=Q[0].identifier):this.reset()}else this._tap.touchstart(w,B,Q)}touchmove(w,B,Q){if(this._tapTime){if(this._swipePoint){if(Q[0].identifier!==this._swipeTouch)return;let ee=B[0],le=ee.y-this._swipePoint.y;return this._swipePoint=ee,w.preventDefault(),this._active=!0,{zoomDelta:le/128}}}else this._tap.touchmove(w,B,Q)}touchend(w,B,Q){if(this._tapTime)this._swipePoint&&Q.length===0&&this.reset();else{let ee=this._tap.touchend(w,B,Q);ee&&(this._tapTime=w.timeStamp,this._tapPoint=ee)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class wn{constructor(w,B,Q){this._el=w,this._mousePan=B,this._touchPan=Q}enable(w){this._inertiaOptions=w||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class On{constructor(w,B,Q){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=B,this._mousePitch=Q}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Yi{constructor(w,B,Q,ee){this._el=w,this._touchZoom=B,this._touchRotate=Q,this._tapDragZoom=ee,this._rotationDisabled=!1,this._enabled=!0}enable(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class $i{constructor(w,B){this._bypassKey=navigator.userAgent.indexOf(\"Mac\")!==-1?\"metaKey\":\"ctrlKey\",this._map=w,this._options=B,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let w=this._map.getCanvasContainer();w.classList.add(\"maplibregl-cooperative-gestures\"),this._container=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",w);let B=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");this._bypassKey===\"metaKey\"&&(B=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));let Q=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),ee=document.createElement(\"div\");ee.className=\"maplibregl-desktop-message\",ee.textContent=B,this._container.appendChild(ee);let le=document.createElement(\"div\");le.className=\"maplibregl-mobile-message\",le.textContent=Q,this._container.appendChild(le),this._container.setAttribute(\"aria-hidden\",\"true\")}_destroyUI(){this._container&&(c.remove(this._container),this._map.getCanvasContainer().classList.remove(\"maplibregl-cooperative-gestures\")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(w){return w[this._bypassKey]}notifyGestureBlocked(w,B){this._enabled&&(this._map.fire(new a.k(\"cooperativegestureprevented\",{gestureType:w,originalEvent:B})),this._container.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._container.classList.remove(\"maplibregl-show\")},100))}}let an=ue=>ue.zoom||ue.drag||ue.pitch||ue.rotate;class Fi extends a.k{}function ta(ue){return ue.panDelta&&ue.panDelta.mag()||ue.zoomDelta||ue.bearingDelta||ue.pitchDelta}class Ca{constructor(w,B){this.handleWindowEvent=ee=>{this.handleEvent(ee,`${ee.type}Window`)},this.handleEvent=(ee,le)=>{if(ee.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let ze=ee.type===\"renderFrame\"?void 0:ee,Ze={needsRenderFrame:!1},ut={},Mt={},Jt=ee.touches,$t=Jt?this._getMapTouches(Jt):void 0,mr=$t?c.touchPos(this._map.getCanvas(),$t):c.mousePos(this._map.getCanvas(),ee);for(let{handlerName:xe,handler:Ie,allowed:qe}of this._handlers){if(!Ie.isEnabled())continue;let Qe;this._blockedByActive(Mt,qe,xe)?Ie.reset():Ie[le||ee.type]&&(Qe=Ie[le||ee.type](ee,mr,$t),this.mergeHandlerResult(Ze,ut,Qe,xe,ze),Qe&&Qe.needsRenderFrame&&this._triggerRenderFrame()),(Qe||Ie.isActive())&&(Mt[xe]=Ie)}let Cr={};for(let xe in this._previousActiveHandlers)Mt[xe]||(Cr[xe]=ze);this._previousActiveHandlers=Mt,(Object.keys(Cr).length||ta(Ze))&&(this._changes.push([Ze,ut,Cr]),this._triggerRenderFrame()),(Object.keys(Mt).length||ta(Ze))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:ve}=Ze;ve&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],ve(this._map))},this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Pf(w),this._bearingSnap=B.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(B);let Q=this._el;this._listeners=[[Q,\"touchstart\",{passive:!0}],[Q,\"touchmove\",{passive:!1}],[Q,\"touchend\",void 0],[Q,\"touchcancel\",void 0],[Q,\"mousedown\",void 0],[Q,\"mousemove\",void 0],[Q,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[Q,\"mouseover\",void 0],[Q,\"mouseout\",void 0],[Q,\"dblclick\",void 0],[Q,\"click\",void 0],[Q,\"keydown\",{capture:!1}],[Q,\"keyup\",void 0],[Q,\"wheel\",{passive:!1}],[Q,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[ee,le,ze]of this._listeners)c.addEventListener(ee,le,ee===document?this.handleWindowEvent:this.handleEvent,ze)}destroy(){for(let[w,B,Q]of this._listeners)c.removeEventListener(w,B,w===document?this.handleWindowEvent:this.handleEvent,Q)}_addDefaultHandlers(w){let B=this._map,Q=B.getCanvasContainer();this._add(\"mapEvent\",new If(B,w));let ee=B.boxZoom=new ku(B,w);this._add(\"boxZoom\",ee),w.interactive&&w.boxZoom&&ee.enable();let le=B.cooperativeGestures=new $i(B,w.cooperativeGestures);this._add(\"cooperativeGestures\",le),w.cooperativeGestures&&le.enable();let ze=new zc(B),Ze=new Wi(B);B.doubleClickZoom=new Mi(Ze,ze),this._add(\"tapZoom\",ze),this._add(\"clickZoom\",Ze),w.interactive&&w.doubleClickZoom&&B.doubleClickZoom.enable();let ut=new dn;this._add(\"tapDragZoom\",ut);let Mt=B.touchPitch=new Bc(B);this._add(\"touchPitch\",Mt),w.interactive&&w.touchPitch&&B.touchPitch.enable(w.touchPitch);let Jt=Wl(w),$t=ah(w);B.dragRotate=new On(w,Jt,$t),this._add(\"mouseRotate\",Jt,[\"mousePitch\"]),this._add(\"mousePitch\",$t,[\"mouseRotate\"]),w.interactive&&w.dragRotate&&B.dragRotate.enable();let mr=(({enable:Qe,clickTolerance:Xe})=>{let nt=new Xu({checkCorrectEvent:qt=>c.mouseButton(qt)===0&&!qt.ctrlKey});return new Wu({clickTolerance:Xe,move:(qt,jt)=>({around:jt,panDelta:jt.sub(qt)}),activateOnStart:!0,moveStateManager:nt,enable:Qe,assignEvents:Zf})})(w),Cr=new Zu(w,B);B.dragPan=new wn(Q,mr,Cr),this._add(\"mousePan\",mr),this._add(\"touchPan\",Cr,[\"touchZoom\",\"touchRotate\"]),w.interactive&&w.dragPan&&B.dragPan.enable(w.dragPan);let ve=new cf,xe=new vu;B.touchZoomRotate=new Yi(Q,xe,ve,ut),this._add(\"touchRotate\",ve,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",xe,[\"touchPan\",\"touchRotate\"]),w.interactive&&w.touchZoomRotate&&B.touchZoomRotate.enable(w.touchZoomRotate);let Ie=B.scrollZoom=new Kr(B,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",Ie,[\"mousePan\"]),w.interactive&&w.scrollZoom&&B.scrollZoom.enable(w.scrollZoom);let qe=B.keyboard=new Zt(B);this._add(\"keyboard\",qe),w.interactive&&w.keyboard&&B.keyboard.enable(),this._add(\"blockableMapEvent\",new Cs(B))}_add(w,B,Q){this._handlers.push({handlerName:w,handler:B,allowed:Q}),this._handlersById[w]=B}stop(w){if(!this._updatingCamera){for(let{handler:B}of this._handlers)B.reset();this._inertia.clear(),this._fireEvents({},{},w),this._changes=[]}}isActive(){for(let{handler:w}of this._handlers)if(w.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!an(this._eventsInProgress)||this.isZooming()}_blockedByActive(w,B,Q){for(let ee in w)if(ee!==Q&&(!B||B.indexOf(ee)<0))return!0;return!1}_getMapTouches(w){let B=[];for(let Q of w)this._el.contains(Q.target)&&B.push(Q);return B}mergeHandlerResult(w,B,Q,ee,le){if(!Q)return;a.e(w,Q);let ze={handlerName:ee,originalEvent:Q.originalEvent||le};Q.zoomDelta!==void 0&&(B.zoom=ze),Q.panDelta!==void 0&&(B.drag=ze),Q.pitchDelta!==void 0&&(B.pitch=ze),Q.bearingDelta!==void 0&&(B.rotate=ze)}_applyChanges(){let w={},B={},Q={};for(let[ee,le,ze]of this._changes)ee.panDelta&&(w.panDelta=(w.panDelta||new a.P(0,0))._add(ee.panDelta)),ee.zoomDelta&&(w.zoomDelta=(w.zoomDelta||0)+ee.zoomDelta),ee.bearingDelta&&(w.bearingDelta=(w.bearingDelta||0)+ee.bearingDelta),ee.pitchDelta&&(w.pitchDelta=(w.pitchDelta||0)+ee.pitchDelta),ee.around!==void 0&&(w.around=ee.around),ee.pinchAround!==void 0&&(w.pinchAround=ee.pinchAround),ee.noInertia&&(w.noInertia=ee.noInertia),a.e(B,le),a.e(Q,ze);this._updateMapTransform(w,B,Q),this._changes=[]}_updateMapTransform(w,B,Q){let ee=this._map,le=ee._getTransformForUpdate(),ze=ee.terrain;if(!(ta(w)||ze&&this._terrainMovement))return this._fireEvents(B,Q,!0);let{panDelta:Ze,zoomDelta:ut,bearingDelta:Mt,pitchDelta:Jt,around:$t,pinchAround:mr}=w;mr!==void 0&&($t=mr),ee._stop(!0),$t=$t||ee.transform.centerPoint;let Cr=le.pointLocation(Ze?$t.sub(Ze):$t);Mt&&(le.bearing+=Mt),Jt&&(le.pitch+=Jt),ut&&(le.zoom+=ut),ze?this._terrainMovement||!B.drag&&!B.zoom?B.drag&&this._terrainMovement?le.center=le.pointLocation(le.centerPoint.sub(Ze)):le.setLocationAtPoint(Cr,$t):(this._terrainMovement=!0,this._map._elevationFreeze=!0,le.setLocationAtPoint(Cr,$t)):le.setLocationAtPoint(Cr,$t),ee._applyUpdatedTransform(le),this._map._update(),w.noInertia||this._inertia.record(w),this._fireEvents(B,Q,!0)}_fireEvents(w,B,Q){let ee=an(this._eventsInProgress),le=an(w),ze={};for(let $t in w){let{originalEvent:mr}=w[$t];this._eventsInProgress[$t]||(ze[`${$t}start`]=mr),this._eventsInProgress[$t]=w[$t]}!ee&&le&&this._fireEvent(\"movestart\",le.originalEvent);for(let $t in ze)this._fireEvent($t,ze[$t]);le&&this._fireEvent(\"move\",le.originalEvent);for(let $t in w){let{originalEvent:mr}=w[$t];this._fireEvent($t,mr)}let Ze={},ut;for(let $t in this._eventsInProgress){let{handlerName:mr,originalEvent:Cr}=this._eventsInProgress[$t];this._handlersById[mr].isActive()||(delete this._eventsInProgress[$t],ut=B[mr]||Cr,Ze[`${$t}end`]=ut)}for(let $t in Ze)this._fireEvent($t,Ze[$t]);let Mt=an(this._eventsInProgress),Jt=(ee||le)&&!Mt;if(Jt&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let $t=this._map._getTransformForUpdate();$t.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform($t)}if(Q&&Jt){this._updatingCamera=!0;let $t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),mr=Cr=>Cr!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Fi(\"renderFrame\",{timeStamp:w})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ra extends a.E{constructor(w,B){super(),this._renderFrameCallback=()=>{let Q=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Q)),Q<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=w,this._bearingSnap=B.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new a.N(this.transform.center.lng,this.transform.center.lat)}setCenter(w,B){return this.jumpTo({center:w},B)}panBy(w,B,Q){return w=a.P.convert(w).mult(-1),this.panTo(this.transform.center,a.e({offset:w},B),Q)}panTo(w,B,Q){return this.easeTo(a.e({center:w},B),Q)}getZoom(){return this.transform.zoom}setZoom(w,B){return this.jumpTo({zoom:w},B),this}zoomTo(w,B,Q){return this.easeTo(a.e({zoom:w},B),Q)}zoomIn(w,B){return this.zoomTo(this.getZoom()+1,w,B),this}zoomOut(w,B){return this.zoomTo(this.getZoom()-1,w,B),this}getBearing(){return this.transform.bearing}setBearing(w,B){return this.jumpTo({bearing:w},B),this}getPadding(){return this.transform.padding}setPadding(w,B){return this.jumpTo({padding:w},B),this}rotateTo(w,B,Q){return this.easeTo(a.e({bearing:w},B),Q)}resetNorth(w,B){return this.rotateTo(0,a.e({duration:1e3},w),B),this}resetNorthPitch(w,B){return this.easeTo(a.e({bearing:0,pitch:0,duration:1e3},w),B),this}snapToNorth(w,B){return Math.abs(this.getBearing()){if(this._zooming&&(ee.zoom=a.y.number(le,Ie,ar)),this._rotating&&(ee.bearing=a.y.number(ze,Mt,ar)),this._pitching&&(ee.pitch=a.y.number(Ze,Jt,ar)),this._padding&&(ee.interpolatePadding(ut,$t,ar),Cr=ee.centerPoint.add(mr)),this.terrain&&!w.freezeElevation&&this._updateElevation(ar),nt)ee.setLocationAtPoint(nt,qt);else{let fr=ee.zoomScale(ee.zoom-le),br=Ie>le?Math.min(2,Xe):Math.max(.5,Xe),Fr=Math.pow(br,1-ar),Hr=ee.unproject(qe.add(Qe.mult(ar*Fr)).mult(fr));ee.setLocationAtPoint(ee.renderWorldCopies?Hr.wrap():Hr,Cr)}this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},ar=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B,ar)},w),this}_prepareEase(w,B,Q={}){this._moving=!0,B||Q.moving||this.fire(new a.k(\"movestart\",w)),this._zooming&&!Q.zooming&&this.fire(new a.k(\"zoomstart\",w)),this._rotating&&!Q.rotating&&this.fire(new a.k(\"rotatestart\",w)),this._pitching&&!Q.pitching&&this.fire(new a.k(\"pitchstart\",w))}_prepareElevation(w){this._elevationCenter=w,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(w,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(w){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let B=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(w<1&&B!==this._elevationTarget){let Q=this._elevationTarget-this._elevationStart;this._elevationStart+=w*(Q-(B-(Q*w+this._elevationStart))/(1-w)),this._elevationTarget=B}this.transform.elevation=a.y.number(this._elevationStart,this._elevationTarget,w)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(w){let B=w.getCameraPosition(),Q=this.terrain.getElevationForLngLatZoom(B.lngLat,w.zoom);if(B.altitudethis._elevateCameraIfInsideTerrain(ee)),this.transformCameraUpdate&&B.push(ee=>this.transformCameraUpdate(ee)),!B.length)return;let Q=w.clone();for(let ee of B){let le=Q.clone(),{center:ze,zoom:Ze,pitch:ut,bearing:Mt,elevation:Jt}=ee(le);ze&&(le.center=ze),Ze!==void 0&&(le.zoom=Ze),ut!==void 0&&(le.pitch=ut),Mt!==void 0&&(le.bearing=Mt),Jt!==void 0&&(le.elevation=Jt),Q.apply(le)}this.transform.apply(Q)}_fireMoveEvents(w){this.fire(new a.k(\"move\",w)),this._zooming&&this.fire(new a.k(\"zoom\",w)),this._rotating&&this.fire(new a.k(\"rotate\",w)),this._pitching&&this.fire(new a.k(\"pitch\",w))}_afterEase(w,B){if(this._easeId&&B&&this._easeId===B)return;delete this._easeId;let Q=this._zooming,ee=this._rotating,le=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Q&&this.fire(new a.k(\"zoomend\",w)),ee&&this.fire(new a.k(\"rotateend\",w)),le&&this.fire(new a.k(\"pitchend\",w)),this.fire(new a.k(\"moveend\",w))}flyTo(w,B){var Q;if(!w.essential&&u.prefersReducedMotion){let Ln=a.M(w,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(Ln,B)}this.stop(),w=a.e({offset:[0,0],speed:1.2,curve:1.42,easing:a.b9},w);let ee=this._getTransformForUpdate(),le=ee.zoom,ze=ee.bearing,Ze=ee.pitch,ut=ee.padding,Mt=\"bearing\"in w?this._normalizeBearing(w.bearing,ze):ze,Jt=\"pitch\"in w?+w.pitch:Ze,$t=\"padding\"in w?w.padding:ee.padding,mr=a.P.convert(w.offset),Cr=ee.centerPoint.add(mr),ve=ee.pointLocation(Cr),{center:xe,zoom:Ie}=ee.getConstrained(a.N.convert(w.center||ve),(Q=w.zoom)!==null&&Q!==void 0?Q:le);this._normalizeCenter(xe,ee);let qe=ee.zoomScale(Ie-le),Qe=ee.project(ve),Xe=ee.project(xe).sub(Qe),nt=w.curve,qt=Math.max(ee.width,ee.height),jt=qt/qe,ar=Xe.mag();if(\"minZoom\"in w){let Ln=a.ac(Math.min(w.minZoom,le,Ie),ee.minZoom,ee.maxZoom),Yn=qt/ee.zoomScale(Ln-le);nt=Math.sqrt(Yn/ar*2)}let fr=nt*nt;function br(Ln){let Yn=(jt*jt-qt*qt+(Ln?-1:1)*fr*fr*ar*ar)/(2*(Ln?jt:qt)*fr*ar);return Math.log(Math.sqrt(Yn*Yn+1)-Yn)}function Fr(Ln){return(Math.exp(Ln)-Math.exp(-Ln))/2}function Hr(Ln){return(Math.exp(Ln)+Math.exp(-Ln))/2}let ri=br(!1),Ci=function(Ln){return Hr(ri)/Hr(ri+nt*Ln)},cn=function(Ln){return qt*((Hr(ri)*(Fr(Yn=ri+nt*Ln)/Hr(Yn))-Fr(ri))/fr)/ar;var Yn},sn=(br(!0)-ri)/nt;if(Math.abs(ar)<1e-6||!isFinite(sn)){if(Math.abs(qt-jt)<1e-6)return this.easeTo(w,B);let Ln=jt0,Ci=Yn=>Math.exp(Ln*nt*Yn)}return w.duration=\"duration\"in w?+w.duration:1e3*sn/(\"screenSpeed\"in w?+w.screenSpeed/nt:+w.speed),w.maxDuration&&w.duration>w.maxDuration&&(w.duration=0),this._zooming=!0,this._rotating=ze!==Mt,this._pitching=Jt!==Ze,this._padding=!ee.isPaddingEqual($t),this._prepareEase(B,!1),this.terrain&&this._prepareElevation(xe),this._ease(Ln=>{let Yn=Ln*sn,Aa=1/Ci(Yn);ee.zoom=Ln===1?Ie:le+ee.scaleZoom(Aa),this._rotating&&(ee.bearing=a.y.number(ze,Mt,Ln)),this._pitching&&(ee.pitch=a.y.number(Ze,Jt,Ln)),this._padding&&(ee.interpolatePadding(ut,$t,Ln),Cr=ee.centerPoint.add(mr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Ln);let fa=Ln===1?xe:ee.unproject(Qe.add(Xe.mult(cn(Yn))).mult(Aa));ee.setLocationAtPoint(ee.renderWorldCopies?fa.wrap():fa,Cr),this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},()=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B)},w),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(w,B){var Q;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let ee=this._onEaseEnd;delete this._onEaseEnd,ee.call(this,B)}return w||(Q=this.handlers)===null||Q===void 0||Q.stop(!1),this}_ease(w,B,Q){Q.animate===!1||Q.duration===0?(w(1),B()):(this._easeStart=u.now(),this._easeOptions=Q,this._onEaseFrame=w,this._onEaseEnd=B,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(w,B){w=a.b3(w,-180,180);let Q=Math.abs(w-B);return Math.abs(w-360-B)180?-360:Q<-180?360:0}queryTerrainElevation(w){return this.terrain?this.terrain.getElevationForLngLatZoom(a.N.convert(w),this.transform.tileZoom)-this.transform.elevation:null}}let La={compact:!0,customAttribution:'MapLibre'};class Na{constructor(w=La){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")))},this._updateData=B=>{!B||B.sourceDataType!==\"metadata\"&&B.sourceDataType!==\"visibility\"&&B.dataType!==\"style\"&&B.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"))},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\")},this.options=w}getDefaultPosition(){return\"bottom-right\"}onAdd(w){return this._map=w,this._compact=this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(w,B){let Q=this._map._getUIString(`AttributionControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)}_updateAttributions(){if(!this._map.style)return;let w=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?w=w.concat(this.options.customAttribution.map(ee=>typeof ee!=\"string\"?\"\":ee)):typeof this.options.customAttribution==\"string\"&&w.push(this.options.customAttribution)),this._map.style.stylesheet){let ee=this._map.style.stylesheet;this.styleOwner=ee.owner,this.styleId=ee.id}let B=this._map.style.sourceCaches;for(let ee in B){let le=B[ee];if(le.used||le.usedForTerrain){let ze=le.getSource();ze.attribution&&w.indexOf(ze.attribution)<0&&w.push(ze.attribution)}}w=w.filter(ee=>String(ee).trim()),w.sort((ee,le)=>ee.length-le.length),w=w.filter((ee,le)=>{for(let ze=le+1;ze=0)return!1;return!0});let Q=w.join(\" | \");Q!==this._attribHTML&&(this._attribHTML=Q,w.length?(this._innerContainer.innerHTML=Q,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class Zn{constructor(w={}){this._updateCompact=()=>{let B=this._container.children;if(B.length){let Q=B[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Q.classList.add(\"maplibregl-compact\"):Q.classList.remove(\"maplibregl-compact\")}},this.options=w}getDefaultPosition(){return\"bottom-left\"}onAdd(w){this._map=w,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let B=c.create(\"a\",\"maplibregl-ctrl-logo\");return B.target=\"_blank\",B.rel=\"noopener nofollow\",B.href=\"https://maplibre.org/\",B.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),B.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(B),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class Dn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(w){let B=++this._id;return this._queue.push({callback:w,id:B,cancelled:!1}),B}remove(w){let B=this._currentlyRunning,Q=B?this._queue.concat(B):this._queue;for(let ee of Q)if(ee.id===w)return void(ee.cancelled=!0)}run(w=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let B=this._currentlyRunning=this._queue;this._queue=[];for(let Q of B)if(!Q.cancelled&&(Q.callback(w),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ka=a.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class bo extends a.E{constructor(w){super(),this.sourceCache=w,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,w.usedForTerrain=!0,w.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(w,B){this.sourceCache.update(w,B),this._renderableTilesKeys=[];let Q={};for(let ee of w.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:B}))Q[ee.key]=!0,this._renderableTilesKeys.push(ee.key),this._tiles[ee.key]||(ee.posMatrix=new Float64Array(16),a.aP(ee.posMatrix,0,a.X,0,a.X,0,1),this._tiles[ee.key]=new Tt(ee,this.tileSize));for(let ee in this._tiles)Q[ee]||delete this._tiles[ee]}freeRtt(w){for(let B in this._tiles){let Q=this._tiles[B];(!w||Q.tileID.equals(w)||Q.tileID.isChildOf(w)||w.isChildOf(Q.tileID))&&(Q.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(w=>this.getTileByID(w))}getTileByID(w){return this._tiles[w]}getTerrainCoords(w){let B={};for(let Q of this._renderableTilesKeys){let ee=this._tiles[Q].tileID;if(ee.canonical.equals(w.canonical)){let le=w.clone();le.posMatrix=new Float64Array(16),a.aP(le.posMatrix,0,a.X,0,a.X,0,1),B[Q]=le}else if(ee.canonical.isChildOf(w.canonical)){let le=w.clone();le.posMatrix=new Float64Array(16);let ze=ee.canonical.z-w.canonical.z,Ze=ee.canonical.x-(ee.canonical.x>>ze<>ze<>ze;a.aP(le.posMatrix,0,Mt,0,Mt,0,1),a.J(le.posMatrix,le.posMatrix,[-Ze*Mt,-ut*Mt,0]),B[Q]=le}else if(w.canonical.isChildOf(ee.canonical)){let le=w.clone();le.posMatrix=new Float64Array(16);let ze=w.canonical.z-ee.canonical.z,Ze=w.canonical.x-(w.canonical.x>>ze<>ze<>ze;a.aP(le.posMatrix,0,a.X,0,a.X,0,1),a.J(le.posMatrix,le.posMatrix,[Ze*Mt,ut*Mt,0]),a.K(le.posMatrix,le.posMatrix,[1/2**ze,1/2**ze,0]),B[Q]=le}}return B}getSourceTile(w,B){let Q=this.sourceCache._source,ee=w.overscaledZ-this.deltaZoom;if(ee>Q.maxzoom&&(ee=Q.maxzoom),ee=Q.minzoom&&(!le||!le.dem);)le=this.sourceCache.getTileByID(w.scaledTo(ee--).key);return le}tilesAfterTime(w=Date.now()){return Object.values(this._tiles).filter(B=>B.timeAdded>=w)}}class Zo{constructor(w,B,Q){this.painter=w,this.sourceCache=new bo(B),this.options=Q,this.exaggeration=typeof Q.exaggeration==\"number\"?Q.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(w,B,Q,ee=a.X){var le;if(!(B>=0&&B=0&&Qw.canonical.z&&(w.canonical.z>=ee?le=w.canonical.z-ee:a.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let ze=w.canonical.x-(w.canonical.x>>le<>le<>8<<4|le>>8,B[ze+3]=0;let Q=new a.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(B.buffer)),ee=new g(w,Q,w.gl.RGBA,{premultiply:!1});return ee.bind(w.gl.NEAREST,w.gl.CLAMP_TO_EDGE),this._coordsTexture=ee,ee}pointCoordinate(w){this.painter.maybeDrawDepthAndCoords(!0);let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl,le=Math.round(w.x*this.painter.pixelRatio/devicePixelRatio),ze=Math.round(w.y*this.painter.pixelRatio/devicePixelRatio),Ze=Math.round(this.painter.height/devicePixelRatio);Q.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),ee.readPixels(le,Ze-ze-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null);let ut=B[0]+(B[2]>>4<<8),Mt=B[1]+((15&B[2])<<8),Jt=this.coordsIndex[255-B[3]],$t=Jt&&this.sourceCache.getTileByID(Jt);if(!$t)return null;let mr=this._coordsTextureSize,Cr=(1<<$t.tileID.canonical.z)*mr;return new a.Z(($t.tileID.canonical.x*mr+ut)/Cr+$t.tileID.wrap,($t.tileID.canonical.y*mr+Mt)/Cr,this.getElevation($t.tileID,ut,Mt,mr))}depthAtPoint(w){let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl;return Q.bindFramebuffer.set(this.getFramebuffer(\"depth\").framebuffer),ee.readPixels(w.x,this.painter.height/devicePixelRatio-w.y-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null),(B[0]/16777216+B[1]/65536+B[2]/256+B[3])/256}getTerrainMesh(){if(this._mesh)return this._mesh;let w=this.painter.context,B=new a.bd,Q=new a.aY,ee=this.meshSize,le=a.X/ee,ze=ee*ee;for(let $t=0;$t<=ee;$t++)for(let mr=0;mr<=ee;mr++)B.emplaceBack(mr*le,$t*le,0);for(let $t=0;$tw.id!==B),this._recentlyUsed.push(w.id)}stampObject(w){w.stamp=++this._stamp}getOrCreateFreeObject(){for(let B of this._recentlyUsed)if(!this._objects[B].inUse)return this._objects[B];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let w=this._createObject(this._objects.length);return this._objects.push(w),w}freeObject(w){w.inUse=!1}freeAllObjects(){for(let w of this._objects)this.freeObject(w)}isFull(){return!(this._objects.length!w.inUse)===!1}}let as={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class ws{constructor(w,B){this.painter=w,this.terrain=B,this.pool=new Ss(w.context,30,B.sourceCache.tileSize*B.qualityFactor)}destruct(){this.pool.destruct()}getTexture(w){return this.pool.getObjectForId(w.rtt[this._stacks.length-1].id).texture}prepareForRender(w,B){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=w._order.filter(Q=>!w._layers[Q].isHidden(B)),this._coordsDescendingInv={};for(let Q in w.sourceCaches){this._coordsDescendingInv[Q]={};let ee=w.sourceCaches[Q].getVisibleCoordinates();for(let le of ee){let ze=this.terrain.sourceCache.getTerrainCoords(le);for(let Ze in ze)this._coordsDescendingInv[Q][Ze]||(this._coordsDescendingInv[Q][Ze]=[]),this._coordsDescendingInv[Q][Ze].push(ze[Ze])}}this._coordsDescendingInvStr={};for(let Q of w._order){let ee=w._layers[Q],le=ee.source;if(as[ee.type]&&!this._coordsDescendingInvStr[le]){this._coordsDescendingInvStr[le]={};for(let ze in this._coordsDescendingInv[le])this._coordsDescendingInvStr[le][ze]=this._coordsDescendingInv[le][ze].map(Ze=>Ze.key).sort().join()}}for(let Q of this._renderableTiles)for(let ee in this._coordsDescendingInvStr){let le=this._coordsDescendingInvStr[ee][Q.tileID.key];le&&le!==Q.rttCoords[ee]&&(Q.rtt=[])}}renderLayer(w){if(w.isHidden(this.painter.transform.zoom))return!1;let B=w.type,Q=this.painter,ee=this._renderableLayerIds[this._renderableLayerIds.length-1]===w.id;if(as[B]&&(this._prevType&&as[this._prevType]||this._stacks.push([]),this._prevType=B,this._stacks[this._stacks.length-1].push(w.id),!ee))return!0;if(as[this._prevType]||as[B]&&ee){this._prevType=B;let le=this._stacks.length-1,ze=this._stacks[le]||[];for(let Ze of this._renderableTiles){if(this.pool.isFull()&&(js(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(Ze),Ze.rtt[le]){let Mt=this.pool.getObjectForId(Ze.rtt[le].id);if(Mt.stamp===Ze.rtt[le].stamp){this.pool.useObject(Mt);continue}}let ut=this.pool.getOrCreateFreeObject();this.pool.useObject(ut),this.pool.stampObject(ut),Ze.rtt[le]={id:ut.id,stamp:ut.stamp},Q.context.bindFramebuffer.set(ut.fbo.framebuffer),Q.context.clear({color:a.aM.transparent,stencil:0}),Q.currentStencilSource=void 0;for(let Mt=0;Mt{ue.touchstart=ue.dragStart,ue.touchmoveWindow=ue.dragMove,ue.touchend=ue.dragEnd},va={showCompass:!0,showZoom:!0,visualizePitch:!1};class no{constructor(w,B,Q=!1){this.mousedown=ze=>{this.startMouse(a.e({},ze,{ctrlKey:!0,preventDefault:()=>ze.preventDefault()}),c.mousePos(this.element,ze)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=ze=>{this.moveMouse(ze,c.mousePos(this.element,ze))},this.mouseup=ze=>{this.mouseRotate.dragEnd(ze),this.mousePitch&&this.mousePitch.dragEnd(ze),this.offTemp()},this.touchstart=ze=>{ze.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,ze.targetTouches)[0],this.startTouch(ze,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=ze=>{ze.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,ze.targetTouches)[0],this.moveTouch(ze,this._lastPos))},this.touchend=ze=>{ze.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let ee=w.dragRotate._mouseRotate.getClickTolerance(),le=w.dragRotate._mousePitch.getClickTolerance();this.element=B,this.mouseRotate=Wl({clickTolerance:ee,enable:!0}),this.touchRotate=(({enable:ze,clickTolerance:Ze,bearingDegreesPerPixelMoved:ut=.8})=>{let Mt=new uf;return new Wu({clickTolerance:Ze,move:(Jt,$t)=>({bearingDelta:($t.x-Jt.x)*ut}),moveStateManager:Mt,enable:ze,assignEvents:Ls})})({clickTolerance:ee,enable:!0}),this.map=w,Q&&(this.mousePitch=ah({clickTolerance:le,enable:!0}),this.touchPitch=(({enable:ze,clickTolerance:Ze,pitchDegreesPerPixelMoved:ut=-.5})=>{let Mt=new uf;return new Wu({clickTolerance:Ze,move:(Jt,$t)=>({pitchDelta:($t.y-Jt.y)*ut}),moveStateManager:Mt,enable:ze,assignEvents:Ls})})({clickTolerance:le,enable:!0})),c.addEventListener(B,\"mousedown\",this.mousedown),c.addEventListener(B,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(B,\"touchcancel\",this.reset)}startMouse(w,B){this.mouseRotate.dragStart(w,B),this.mousePitch&&this.mousePitch.dragStart(w,B),c.disableDrag()}startTouch(w,B){this.touchRotate.dragStart(w,B),this.touchPitch&&this.touchPitch.dragStart(w,B),c.disableDrag()}moveMouse(w,B){let Q=this.map,{bearingDelta:ee}=this.mouseRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.mousePitch){let{pitchDelta:le}=this.mousePitch.dragMove(w,B)||{};le&&Q.setPitch(Q.getPitch()+le)}}moveTouch(w,B){let Q=this.map,{bearingDelta:ee}=this.touchRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.touchPitch){let{pitchDelta:le}=this.touchPitch.dragMove(w,B)||{};le&&Q.setPitch(Q.getPitch()+le)}}off(){let w=this.element;c.removeEventListener(w,\"mousedown\",this.mousedown),c.removeEventListener(w,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(w,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let ys;function rs(ue,w,B){let Q=new a.N(ue.lng,ue.lat);if(ue=new a.N(ue.lng,ue.lat),w){let ee=new a.N(ue.lng-360,ue.lat),le=new a.N(ue.lng+360,ue.lat),ze=B.locationPoint(ue).distSqr(w);B.locationPoint(ee).distSqr(w)180;){let ee=B.locationPoint(ue);if(ee.x>=0&&ee.y>=0&&ee.x<=B.width&&ee.y<=B.height)break;ue.lng>B.center.lng?ue.lng-=360:ue.lng+=360}return ue.lng!==Q.lng&&B.locationPoint(ue).y>B.height/2-B.getHorizon()?ue:Q}let Ql={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 Cu(ue,w,B){let Q=ue.classList;for(let ee in Ql)Q.remove(`maplibregl-${B}-anchor-${ee}`);Q.add(`maplibregl-${B}-anchor-${w}`)}class Yu extends a.E{constructor(w){if(super(),this._onKeyPress=B=>{let Q=B.code,ee=B.charCode||B.keyCode;Q!==\"Space\"&&Q!==\"Enter\"&&ee!==32&&ee!==13||this.togglePopup()},this._onMapClick=B=>{let Q=B.originalEvent.target,ee=this._element;this._popup&&(Q===ee||ee.contains(Q))&&this.togglePopup()},this._update=B=>{var Q;if(!this._map)return;let ee=this._map.loaded()&&!this._map.isMoving();((B==null?void 0:B.type)===\"terrain\"||(B==null?void 0:B.type)===\"render\"&&!ee)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?rs(this._lngLat,this._flatPos,this._map.transform):(Q=this._lngLat)===null||Q===void 0?void 0:Q.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let le=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?le=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(le=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let ze=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?ze=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(ze=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||B&&B.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${Ql[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${ze} ${le}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(B&&B.type===\"moveend\")}).catch(()=>{})},this._onMove=B=>{if(!this._isDragging){let Q=this._clickTolerance||this._map._clickTolerance;this._isDragging=B.point.dist(this._pointerdownPos)>=Q}this._isDragging&&(this._pos=B.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new a.k(\"dragstart\"))),this.fire(new a.k(\"drag\")))},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new a.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=B=>{this._element.contains(B.originalEvent.target)&&(B.preventDefault(),this._positionDelta=B.point.sub(this._pos).add(this._offset),this._pointerdownPos=B.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},this._anchor=w&&w.anchor||\"center\",this._color=w&&w.color||\"#3FB1CE\",this._scale=w&&w.scale||1,this._draggable=w&&w.draggable||!1,this._clickTolerance=w&&w.clickTolerance||0,this._subpixelPositioning=w&&w.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=w&&w.rotation||0,this._rotationAlignment=w&&w.rotationAlignment||\"auto\",this._pitchAlignment=w&&w.pitchAlignment&&w.pitchAlignment!==\"auto\"?w.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(w==null?void 0:w.opacity,w==null?void 0:w.opacityWhenCovered),w&&w.element)this._element=w.element,this._offset=a.P.convert(w&&w.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),Q=41,ee=27;B.setAttributeNS(null,\"display\",\"block\"),B.setAttributeNS(null,\"height\",`${Q}px`),B.setAttributeNS(null,\"width\",`${ee}px`),B.setAttributeNS(null,\"viewBox\",`0 0 ${ee} ${Q}`);let le=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");le.setAttributeNS(null,\"stroke\",\"none\"),le.setAttributeNS(null,\"stroke-width\",\"1\"),le.setAttributeNS(null,\"fill\",\"none\"),le.setAttributeNS(null,\"fill-rule\",\"evenodd\");let ze=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");ze.setAttributeNS(null,\"fill-rule\",\"nonzero\");let Ze=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ze.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),Ze.setAttributeNS(null,\"fill\",\"#000000\");let ut=[{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\"}];for(let qe of ut){let Qe=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Qe.setAttributeNS(null,\"opacity\",\"0.04\"),Qe.setAttributeNS(null,\"cx\",\"10.5\"),Qe.setAttributeNS(null,\"cy\",\"5.80029008\"),Qe.setAttributeNS(null,\"rx\",qe.rx),Qe.setAttributeNS(null,\"ry\",qe.ry),Ze.appendChild(Qe)}let Mt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Mt.setAttributeNS(null,\"fill\",this._color);let Jt=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Jt.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),Mt.appendChild(Jt);let $t=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");$t.setAttributeNS(null,\"opacity\",\"0.25\"),$t.setAttributeNS(null,\"fill\",\"#000000\");let mr=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");mr.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),$t.appendChild(mr);let Cr=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Cr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),Cr.setAttributeNS(null,\"fill\",\"#FFFFFF\");let ve=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");ve.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let xe=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");xe.setAttributeNS(null,\"fill\",\"#000000\"),xe.setAttributeNS(null,\"opacity\",\"0.25\"),xe.setAttributeNS(null,\"cx\",\"5.5\"),xe.setAttributeNS(null,\"cy\",\"5.5\"),xe.setAttributeNS(null,\"r\",\"5.4999962\");let Ie=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Ie.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Ie.setAttributeNS(null,\"cx\",\"5.5\"),Ie.setAttributeNS(null,\"cy\",\"5.5\"),Ie.setAttributeNS(null,\"r\",\"5.4999962\"),ve.appendChild(xe),ve.appendChild(Ie),ze.appendChild(Ze),ze.appendChild(Mt),ze.appendChild($t),ze.appendChild(Cr),ze.appendChild(ve),B.appendChild(ze),B.setAttributeNS(null,\"height\",Q*this._scale+\"px\"),B.setAttributeNS(null,\"width\",ee*this._scale+\"px\"),this._element.appendChild(B),this._offset=a.P.convert(w&&w.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",B=>{B.preventDefault()}),this._element.addEventListener(\"mousedown\",B=>{B.preventDefault()}),Cu(this._element,this._anchor,\"marker\"),w&&w.className)for(let B of w.className.split(\" \"))this._element.classList.add(B);this._popup=null}addTo(w){return this.remove(),this._map=w,this._element.setAttribute(\"aria-label\",w._getUIString(\"Marker.Title\")),w.getCanvasContainer().appendChild(this._element),w.on(\"move\",this._update),w.on(\"moveend\",this._update),w.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"terrain\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(w){return this._lngLat=a.N.convert(w),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(w){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),w){if(!(\"offset\"in w.options)){let ee=Math.abs(13.5)/Math.SQRT2;w.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[ee,-1*(38.1-13.5+ee)],\"bottom-right\":[-ee,-1*(38.1-13.5+ee)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=w,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}setSubpixelPositioning(w){return this._subpixelPositioning=w,this}getPopup(){return this._popup}togglePopup(){let w=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:w?(w.isOpen()?w.remove():(w.setLngLat(this._lngLat),w.addTo(this._map)),this):this}_updateOpacity(w=!1){var B,Q;if(!(!((B=this._map)===null||B===void 0)&&B.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(w)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let ee=this._map,le=ee.terrain.depthAtPoint(this._pos),ze=ee.terrain.getElevationForLngLatZoom(this._lngLat,ee.transform.tileZoom);if(ee.transform.lngLatToCameraDepth(this._lngLat,ze)-le<.006)return void(this._element.style.opacity=this._opacity);let Ze=-this._offset.y/ee.transform._pixelPerMeter,ut=Math.sin(ee.getPitch()*Math.PI/180)*Ze,Mt=ee.terrain.depthAtPoint(new a.P(this._pos.x,this._pos.y-this._offset.y)),Jt=ee.transform.lngLatToCameraDepth(this._lngLat,ze+ut)-Mt>.006;!((Q=this._popup)===null||Q===void 0)&&Q.isOpen()&&Jt&&this._popup.remove(),this._element.style.opacity=Jt?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(w){return this._offset=a.P.convert(w),this._update(),this}addClassName(w){this._element.classList.add(w)}removeClassName(w){this._element.classList.remove(w)}toggleClassName(w){return this._element.classList.toggle(w)}setDraggable(w){return this._draggable=!!w,this._map&&(w?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(w){return this._rotation=w||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(w){return this._rotationAlignment=w||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(w){return this._pitchAlignment=w&&w!==\"auto\"?w:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(w,B){return w===void 0&&B===void 0&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),w!==void 0&&(this._opacity=w),B!==void 0&&(this._opacityWhenCovered=B),this._map&&this._updateOpacity(!0),this}}let Nc={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},pu=0,Uc=!1,xu={maxWidth:100,unit:\"metric\"};function Ac(ue,w,B){let Q=B&&B.maxWidth||100,ee=ue._container.clientHeight/2,le=ue.unproject([0,ee]),ze=ue.unproject([Q,ee]),Ze=le.distanceTo(ze);if(B&&B.unit===\"imperial\"){let ut=3.2808*Ze;ut>5280?Ua(w,Q,ut/5280,ue._getUIString(\"ScaleControl.Miles\")):Ua(w,Q,ut,ue._getUIString(\"ScaleControl.Feet\"))}else B&&B.unit===\"nautical\"?Ua(w,Q,Ze/1852,ue._getUIString(\"ScaleControl.NauticalMiles\")):Ze>=1e3?Ua(w,Q,Ze/1e3,ue._getUIString(\"ScaleControl.Kilometers\")):Ua(w,Q,Ze,ue._getUIString(\"ScaleControl.Meters\"))}function Ua(ue,w,B,Q){let ee=function(le){let ze=Math.pow(10,`${Math.floor(le)}`.length-1),Ze=le/ze;return Ze=Ze>=10?10:Ze>=5?5:Ze>=3?3:Ze>=2?2:Ze>=1?1:function(ut){let Mt=Math.pow(10,Math.ceil(-Math.log(ut)/Math.LN10));return Math.round(ut*Mt)/Mt}(Ze),ze*Ze}(B);ue.style.width=w*(ee/B)+\"px\",ue.innerHTML=`${ee} ${Q}`}let oo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Vc=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function hc(ue){if(ue){if(typeof ue==\"number\"){let w=Math.round(Math.abs(ue)/Math.SQRT2);return{center:new a.P(0,0),top:new a.P(0,ue),\"top-left\":new a.P(w,w),\"top-right\":new a.P(-w,w),bottom:new a.P(0,-ue),\"bottom-left\":new a.P(w,-w),\"bottom-right\":new a.P(-w,-w),left:new a.P(ue,0),right:new a.P(-ue,0)}}if(ue instanceof a.P||Array.isArray(ue)){let w=a.P.convert(ue);return{center:w,top:w,\"top-left\":w,\"top-right\":w,bottom:w,\"bottom-left\":w,\"bottom-right\":w,left:w,right:w}}return{center:a.P.convert(ue.center||[0,0]),top:a.P.convert(ue.top||[0,0]),\"top-left\":a.P.convert(ue[\"top-left\"]||[0,0]),\"top-right\":a.P.convert(ue[\"top-right\"]||[0,0]),bottom:a.P.convert(ue.bottom||[0,0]),\"bottom-left\":a.P.convert(ue[\"bottom-left\"]||[0,0]),\"bottom-right\":a.P.convert(ue[\"bottom-right\"]||[0,0]),left:a.P.convert(ue.left||[0,0]),right:a.P.convert(ue.right||[0,0])}}return hc(new a.P(0,0))}let Ku=o;i.AJAXError=a.bh,i.Evented=a.E,i.LngLat=a.N,i.MercatorCoordinate=a.Z,i.Point=a.P,i.addProtocol=a.bi,i.config=a.a,i.removeProtocol=a.bj,i.AttributionControl=Na,i.BoxZoomHandler=ku,i.CanvasSource=nr,i.CooperativeGesturesHandler=$i,i.DoubleClickZoomHandler=Mi,i.DragPanHandler=wn,i.DragRotateHandler=On,i.EdgeInsets=hu,i.FullscreenControl=class extends a.E{constructor(ue={}){super(),this._onFullscreenChange=()=>{var w;let B=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((w=B==null?void 0:B.shadowRoot)===null||w===void 0)&&w.fullscreenElement;)B=B.shadowRoot.fullscreenElement;B===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,ue&&ue.container&&(ue.container instanceof HTMLElement?this._container=ue.container:a.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\")}onAdd(ue){return this._map=ue,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let ue=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",ue).setAttribute(\"aria-hidden\",\"true\"),ue.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let ue=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",ue),this._fullscreenButton.title=ue}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new a.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new a.k(\"fullscreenend\")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize()}},i.GeoJSONSource=st,i.GeolocateControl=class extends a.E{constructor(ue){super(),this._onSuccess=w=>{if(this._map){if(this._isOutOfMapMaxBounds(w))return this._setErrorState(),this.fire(new a.k(\"outofmaxbounds\",w)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=w,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(w),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(w),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"geolocate\",w)),this._finish()}},this._updateCamera=w=>{let B=new a.N(w.coords.longitude,w.coords.latitude),Q=w.coords.accuracy,ee=this._map.getBearing(),le=a.e({bearing:ee},this.options.fitBoundsOptions),ze=ce.fromLngLat(B,Q);this._map.fitBounds(ze,le,{geolocateSource:!0})},this._updateMarker=w=>{if(w){let B=new a.N(w.coords.longitude,w.coords.latitude);this._accuracyCircleMarker.setLngLat(B).addTo(this._map),this._userLocationDotMarker.setLngLat(B).addTo(this._map),this._accuracy=w.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=w=>{if(this._map){if(this.options.trackUserLocation)if(w.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(w.code===3&&Uc)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"error\",w)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0)},this._finishSetupUI=w=>{if(this._map){if(w===!1){a.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}else{let B=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new Yu({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Yu({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",B=>{B.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||B.originalEvent&&B.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new a.k(\"trackuserlocationend\")),this.fire(new a.k(\"userlocationlostfocus\")))})}},this.options=a.e({},Nc,ue)}onAdd(ue){return this._map=ue,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return a._(this,arguments,void 0,function*(w=!1){if(ys!==void 0&&!w)return ys;if(window.navigator.permissions===void 0)return ys=!!window.navigator.geolocation,ys;try{ys=(yield window.navigator.permissions.query({name:\"geolocation\"})).state!==\"denied\"}catch(B){ys=!!window.navigator.geolocation}return ys})}().then(w=>this._finishSetupUI(w)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,pu=0,Uc=!1}_isOutOfMapMaxBounds(ue){let w=this._map.getMaxBounds(),B=ue.coords;return w&&(B.longitudew.getEast()||B.latitudew.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let ue=this._map.getBounds(),w=ue.getSouthEast(),B=ue.getNorthEast(),Q=w.distanceTo(B),ee=Math.ceil(this._accuracy/(Q/this._map._container.clientHeight)*2);this._circleElement.style.width=`${ee}px`,this._circleElement.style.height=`${ee}px`}trigger(){if(!this._setup)return a.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new a.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":pu--,Uc=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new a.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new a.k(\"trackuserlocationstart\")),this.fire(new a.k(\"userlocationfocus\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let ue;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),pu++,pu>1?(ue={maximumAge:6e5,timeout:0},Uc=!0):(ue=this.options.positionOptions,Uc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,ue)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}},i.Hash=Mh,i.ImageSource=Qt,i.KeyboardHandler=Zt,i.LngLatBounds=ce,i.LogoControl=Zn,i.Map=class extends Ra{constructor(ue){a.bf.mark(a.bg.create);let w=Object.assign(Object.assign({},Ws),ue);if(w.minZoom!=null&&w.maxZoom!=null&&w.minZoom>w.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(w.minPitch!=null&&w.maxPitch!=null&&w.minPitch>w.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(w.minPitch!=null&&w.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(w.maxPitch!=null&&w.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new nl(w.minZoom,w.maxZoom,w.minPitch,w.maxPitch,w.renderWorldCopies),{bearingSnap:w.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Dn,this._controls=[],this._mapId=a.a4(),this._contextLost=B=>{B.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new a.k(\"webglcontextlost\",{originalEvent:B}))},this._contextRestored=B=>{this._setupPainter(),this.resize(),this._update(),this.fire(new a.k(\"webglcontextrestored\",{originalEvent:B}))},this._onMapScroll=B=>{if(B.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=w.interactive,this._maxTileCacheSize=w.maxTileCacheSize,this._maxTileCacheZoomLevels=w.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=w.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=w.preserveDrawingBuffer===!0,this._antialias=w.antialias===!0,this._trackResize=w.trackResize===!0,this._bearingSnap=w.bearingSnap,this._refreshExpiredTiles=w.refreshExpiredTiles===!0,this._fadeDuration=w.fadeDuration,this._crossSourceCollisions=w.crossSourceCollisions===!0,this._collectResourceTiming=w.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Ho),w.locale),this._clickTolerance=w.clickTolerance,this._overridePixelRatio=w.pixelRatio,this._maxCanvasSize=w.maxCanvasSize,this.transformCameraUpdate=w.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=w.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=p.addThrottleControl(()=>this.isMoving()),this._requestManager=new k(w.transformRequest),typeof w.container==\"string\"){if(this._container=document.getElementById(w.container),!this._container)throw new Error(`Container '${w.container}' not found.`)}else{if(!(w.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=w.container}if(w.maxBounds&&this.setMaxBounds(w.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",()=>this._update(!1)).on(\"moveend\",()=>this._update(!1)).on(\"zoom\",()=>this._update(!0)).on(\"terrain\",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}).once(\"idle\",()=>{this._idleTriggered=!0}),typeof window!=\"undefined\"){addEventListener(\"online\",this._onWindowOnline,!1);let B=!1,Q=nh(ee=>{this._trackResize&&!this._removed&&(this.resize(ee),this.redraw())},50);this._resizeObserver=new ResizeObserver(ee=>{B?Q(ee):B=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ca(this,w),this._hash=w.hash&&new Mh(typeof w.hash==\"string\"&&w.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch}),w.bounds&&(this.resize(),this.fitBounds(w.bounds,a.e({},w.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=w.localIdeographFontFamily,this._validateStyle=w.validateStyle,w.style&&this.setStyle(w.style,{localIdeographFontFamily:w.localIdeographFontFamily}),w.attributionControl&&this.addControl(new Na(typeof w.attributionControl==\"boolean\"?void 0:w.attributionControl)),w.maplibreLogo&&this.addControl(new Zn,w.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",B=>{this._update(B.dataType===\"style\"),this.fire(new a.k(`${B.dataType}data`,B))}),this.on(\"dataloading\",B=>{this.fire(new a.k(`${B.dataType}dataloading`,B))}),this.on(\"dataabort\",B=>{this.fire(new a.k(\"sourcedataabort\",B))})}_getMapId(){return this._mapId}addControl(ue,w){if(w===void 0&&(w=ue.getDefaultPosition?ue.getDefaultPosition():\"top-right\"),!ue||!ue.onAdd)return this.fire(new a.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let B=ue.onAdd(this);this._controls.push(ue);let Q=this._controlPositions[w];return w.indexOf(\"bottom\")!==-1?Q.insertBefore(B,Q.firstChild):Q.appendChild(B),this}removeControl(ue){if(!ue||!ue.onRemove)return this.fire(new a.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let w=this._controls.indexOf(ue);return w>-1&&this._controls.splice(w,1),ue.onRemove(this),this}hasControl(ue){return this._controls.indexOf(ue)>-1}calculateCameraOptionsFromTo(ue,w,B,Q){return Q==null&&this.terrain&&(Q=this.terrain.getElevationForLngLatZoom(B,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(ue,w,B,Q)}resize(ue){var w;let B=this._containerDimensions(),Q=B[0],ee=B[1],le=this._getClampedPixelRatio(Q,ee);if(this._resizeCanvas(Q,ee,le),this.painter.resize(Q,ee,le),this.painter.overLimit()){let Ze=this.painter.context.gl;this._maxCanvasSize=[Ze.drawingBufferWidth,Ze.drawingBufferHeight];let ut=this._getClampedPixelRatio(Q,ee);this._resizeCanvas(Q,ee,ut),this.painter.resize(Q,ee,ut)}this.transform.resize(Q,ee),(w=this._requestedCameraState)===null||w===void 0||w.resize(Q,ee);let ze=!this._moving;return ze&&(this.stop(),this.fire(new a.k(\"movestart\",ue)).fire(new a.k(\"move\",ue))),this.fire(new a.k(\"resize\",ue)),ze&&this.fire(new a.k(\"moveend\",ue)),this}_getClampedPixelRatio(ue,w){let{0:B,1:Q}=this._maxCanvasSize,ee=this.getPixelRatio(),le=ue*ee,ze=w*ee;return Math.min(le>B?B/le:1,ze>Q?Q/ze:1)*ee}getPixelRatio(){var ue;return(ue=this._overridePixelRatio)!==null&&ue!==void 0?ue:devicePixelRatio}setPixelRatio(ue){this._overridePixelRatio=ue,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(ue){return this.transform.setMaxBounds(ce.convert(ue)),this._update()}setMinZoom(ue){if((ue=ue==null?-2:ue)>=-2&&ue<=this.transform.maxZoom)return this.transform.minZoom=ue,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=ue,this._update(),this.getZoom()>ue&&this.setZoom(ue),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(ue){if((ue=ue==null?0:ue)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(ue>=0&&ue<=this.transform.maxPitch)return this.transform.minPitch=ue,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(ue>=this.transform.minPitch)return this.transform.maxPitch=ue,this._update(),this.getPitch()>ue&&this.setPitch(ue),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(ue){return this.transform.renderWorldCopies=ue,this._update()}project(ue){return this.transform.locationPoint(a.N.convert(ue),this.style&&this.terrain)}unproject(ue){return this.transform.pointLocation(a.P.convert(ue),this.terrain)}isMoving(){var ue;return this._moving||((ue=this.handlers)===null||ue===void 0?void 0:ue.isMoving())}isZooming(){var ue;return this._zooming||((ue=this.handlers)===null||ue===void 0?void 0:ue.isZooming())}isRotating(){var ue;return this._rotating||((ue=this.handlers)===null||ue===void 0?void 0:ue.isRotating())}_createDelegatedListener(ue,w,B){if(ue===\"mouseenter\"||ue===\"mouseover\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:le=>{let ze=w.filter(ut=>this.getLayer(ut)),Ze=ze.length!==0?this.queryRenderedFeatures(le.point,{layers:ze}):[];Ze.length?Q||(Q=!0,B.call(this,new jl(ue,this,le.originalEvent,{features:Ze}))):Q=!1},mouseout:()=>{Q=!1}}}}if(ue===\"mouseleave\"||ue===\"mouseout\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:ze=>{let Ze=w.filter(ut=>this.getLayer(ut));(Ze.length!==0?this.queryRenderedFeatures(ze.point,{layers:Ze}):[]).length?Q=!0:Q&&(Q=!1,B.call(this,new jl(ue,this,ze.originalEvent)))},mouseout:ze=>{Q&&(Q=!1,B.call(this,new jl(ue,this,ze.originalEvent)))}}}}{let Q=ee=>{let le=w.filter(Ze=>this.getLayer(Ze)),ze=le.length!==0?this.queryRenderedFeatures(ee.point,{layers:le}):[];ze.length&&(ee.features=ze,B.call(this,ee),delete ee.features)};return{layers:w,listener:B,delegates:{[ue]:Q}}}}_saveDelegatedListener(ue,w){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[ue]=this._delegatedListeners[ue]||[],this._delegatedListeners[ue].push(w)}_removeDelegatedListener(ue,w,B){if(!this._delegatedListeners||!this._delegatedListeners[ue])return;let Q=this._delegatedListeners[ue];for(let ee=0;eew.includes(ze))){for(let ze in le.delegates)this.off(ze,le.delegates[ze]);return void Q.splice(ee,1)}}}on(ue,w,B){if(B===void 0)return super.on(ue,w);let Q=this._createDelegatedListener(ue,typeof w==\"string\"?[w]:w,B);this._saveDelegatedListener(ue,Q);for(let ee in Q.delegates)this.on(ee,Q.delegates[ee]);return this}once(ue,w,B){if(B===void 0)return super.once(ue,w);let Q=typeof w==\"string\"?[w]:w,ee=this._createDelegatedListener(ue,Q,B);for(let le in ee.delegates){let ze=ee.delegates[le];ee.delegates[le]=(...Ze)=>{this._removeDelegatedListener(ue,Q,B),ze(...Ze)}}this._saveDelegatedListener(ue,ee);for(let le in ee.delegates)this.once(le,ee.delegates[le]);return this}off(ue,w,B){return B===void 0?super.off(ue,w):(this._removeDelegatedListener(ue,typeof w==\"string\"?[w]:w,B),this)}queryRenderedFeatures(ue,w){if(!this.style)return[];let B,Q=ue instanceof a.P||Array.isArray(ue),ee=Q?ue:[[0,0],[this.transform.width,this.transform.height]];if(w=w||(Q?{}:ue)||{},ee instanceof a.P||typeof ee[0]==\"number\")B=[a.P.convert(ee)];else{let le=a.P.convert(ee[0]),ze=a.P.convert(ee[1]);B=[le,new a.P(ze.x,le.y),ze,new a.P(le.x,ze.y),le]}return this.style.queryRenderedFeatures(B,w,this.transform)}querySourceFeatures(ue,w){return this.style.querySourceFeatures(ue,w)}setStyle(ue,w){return(w=a.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},w)).diff!==!1&&w.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&ue?(this._diffStyle(ue,w),this):(this._localIdeographFontFamily=w.localIdeographFontFamily,this._updateStyle(ue,w))}setTransformRequest(ue){return this._requestManager.setTransformRequest(ue),this}_getUIString(ue){let w=this._locale[ue];if(w==null)throw new Error(`Missing UI string '${ue}'`);return w}_updateStyle(ue,w){if(w.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(\"style.load\",()=>this._updateStyle(ue,w));let B=this.style&&w.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!ue)),ue?(this.style=new Ha(this,w||{}),this.style.setEventedParent(this,{style:this.style}),typeof ue==\"string\"?this.style.loadURL(ue,w,B):this.style.loadJSON(ue,w,B),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ha(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(ue,w){if(typeof ue==\"string\"){let B=this._requestManager.transformRequest(ue,\"Style\");a.h(B,new AbortController).then(Q=>{this._updateDiff(Q.data,w)}).catch(Q=>{Q&&this.fire(new a.j(Q))})}else typeof ue==\"object\"&&this._updateDiff(ue,w)}_updateDiff(ue,w){try{this.style.setState(ue,w)&&this._update(!0)}catch(B){a.w(`Unable to perform style diff: ${B.message||B.error||B}. Rebuilding the style from scratch.`),this._updateStyle(ue,w)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():a.w(\"There is no style added to the map.\")}addSource(ue,w){return this._lazyInitEmptyStyle(),this.style.addSource(ue,w),this._update(!0)}isSourceLoaded(ue){let w=this.style&&this.style.sourceCaches[ue];if(w!==void 0)return w.loaded();this.fire(new a.j(new Error(`There is no source with ID '${ue}'`)))}setTerrain(ue){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),ue){let w=this.style.sourceCaches[ue.source];if(!w)throw new Error(`cannot load terrain, because there exists no source with ID: ${ue.source}`);this.terrain===null&&w.reload();for(let B in this.style._layers){let Q=this.style._layers[B];Q.type===\"hillshade\"&&Q.source===ue.source&&a.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\")}this.terrain=new Zo(this.painter,w,ue),this.painter.renderToTexture=new ws(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=B=>{B.dataType===\"style\"?this.terrain.sourceCache.freeRtt():B.dataType===\"source\"&&B.tile&&(B.sourceId!==ue.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(B.tile.tileID))},this.style.on(\"data\",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new a.k(\"terrain\",{terrain:ue})),this}getTerrain(){var ue,w;return(w=(ue=this.terrain)===null||ue===void 0?void 0:ue.options)!==null&&w!==void 0?w:null}areTilesLoaded(){let ue=this.style&&this.style.sourceCaches;for(let w in ue){let B=ue[w]._tiles;for(let Q in B){let ee=B[Q];if(ee.state!==\"loaded\"&&ee.state!==\"errored\")return!1}}return!0}removeSource(ue){return this.style.removeSource(ue),this._update(!0)}getSource(ue){return this.style.getSource(ue)}addImage(ue,w,B={}){let{pixelRatio:Q=1,sdf:ee=!1,stretchX:le,stretchY:ze,content:Ze,textFitWidth:ut,textFitHeight:Mt}=B;if(this._lazyInitEmptyStyle(),!(w instanceof HTMLImageElement||a.b(w))){if(w.width===void 0||w.height===void 0)return this.fire(new a.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{let{width:Jt,height:$t,data:mr}=w,Cr=w;return this.style.addImage(ue,{data:new a.R({width:Jt,height:$t},new Uint8Array(mr)),pixelRatio:Q,stretchX:le,stretchY:ze,content:Ze,textFitWidth:ut,textFitHeight:Mt,sdf:ee,version:0,userImage:Cr}),Cr.onAdd&&Cr.onAdd(this,ue),this}}{let{width:Jt,height:$t,data:mr}=u.getImageData(w);this.style.addImage(ue,{data:new a.R({width:Jt,height:$t},mr),pixelRatio:Q,stretchX:le,stretchY:ze,content:Ze,textFitWidth:ut,textFitHeight:Mt,sdf:ee,version:0})}}updateImage(ue,w){let B=this.style.getImage(ue);if(!B)return this.fire(new a.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let Q=w instanceof HTMLImageElement||a.b(w)?u.getImageData(w):w,{width:ee,height:le,data:ze}=Q;if(ee===void 0||le===void 0)return this.fire(new a.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(ee!==B.data.width||le!==B.data.height)return this.fire(new a.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let Ze=!(w instanceof HTMLImageElement||a.b(w));return B.data.replace(ze,Ze),this.style.updateImage(ue,B),this}getImage(ue){return this.style.getImage(ue)}hasImage(ue){return ue?!!this.style.getImage(ue):(this.fire(new a.j(new Error(\"Missing required image id\"))),!1)}removeImage(ue){this.style.removeImage(ue)}loadImage(ue){return p.getImage(this._requestManager.transformRequest(ue,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(ue,w){return this._lazyInitEmptyStyle(),this.style.addLayer(ue,w),this._update(!0)}moveLayer(ue,w){return this.style.moveLayer(ue,w),this._update(!0)}removeLayer(ue){return this.style.removeLayer(ue),this._update(!0)}getLayer(ue){return this.style.getLayer(ue)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(ue,w,B){return this.style.setLayerZoomRange(ue,w,B),this._update(!0)}setFilter(ue,w,B={}){return this.style.setFilter(ue,w,B),this._update(!0)}getFilter(ue){return this.style.getFilter(ue)}setPaintProperty(ue,w,B,Q={}){return this.style.setPaintProperty(ue,w,B,Q),this._update(!0)}getPaintProperty(ue,w){return this.style.getPaintProperty(ue,w)}setLayoutProperty(ue,w,B,Q={}){return this.style.setLayoutProperty(ue,w,B,Q),this._update(!0)}getLayoutProperty(ue,w){return this.style.getLayoutProperty(ue,w)}setGlyphs(ue,w={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(ue,w),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(ue,w,B={}){return this._lazyInitEmptyStyle(),this.style.addSprite(ue,w,B,Q=>{Q||this._update(!0)}),this}removeSprite(ue){return this._lazyInitEmptyStyle(),this.style.removeSprite(ue),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(ue,w={}){return this._lazyInitEmptyStyle(),this.style.setSprite(ue,w,B=>{B||this._update(!0)}),this}setLight(ue,w={}){return this._lazyInitEmptyStyle(),this.style.setLight(ue,w),this._update(!0)}getLight(){return this.style.getLight()}setSky(ue){return this._lazyInitEmptyStyle(),this.style.setSky(ue),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(ue,w){return this.style.setFeatureState(ue,w),this._update()}removeFeatureState(ue,w){return this.style.removeFeatureState(ue,w),this._update()}getFeatureState(ue){return this.style.getFeatureState(ue)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let ue=0,w=0;return this._container&&(ue=this._container.clientWidth||400,w=this._container.clientHeight||300),[ue,w]}_setupContainer(){let ue=this._container;ue.classList.add(\"maplibregl-map\");let w=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",ue);this._interactive&&w.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",w),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",this._interactive?\"0\":\"-1\"),this._canvas.setAttribute(\"aria-label\",this._getUIString(\"Map.Title\")),this._canvas.setAttribute(\"role\",\"region\");let B=this._containerDimensions(),Q=this._getClampedPixelRatio(B[0],B[1]);this._resizeCanvas(B[0],B[1],Q);let ee=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",ue),le=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(ze=>{le[ze]=c.create(\"div\",`maplibregl-ctrl-${ze} `,ee)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(ue,w,B){this._canvas.width=Math.floor(B*ue),this._canvas.height=Math.floor(B*w),this._canvas.style.width=`${ue}px`,this._canvas.style.height=`${w}px`}_setupPainter(){let ue={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},w=null;this._canvas.addEventListener(\"webglcontextcreationerror\",Q=>{w={requestedAttributes:ue},Q&&(w.statusMessage=Q.statusMessage,w.type=Q.type)},{once:!0});let B=this._canvas.getContext(\"webgl2\",ue)||this._canvas.getContext(\"webgl\",ue);if(!B){let Q=\"Failed to initialize WebGL\";throw w?(w.message=Q,new Error(JSON.stringify(w))):new Error(Q)}this.painter=new Dc(B,this.transform),f.testSupport(B)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(ue){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||ue,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(ue){return this._update(),this._renderTaskQueue.add(ue)}_cancelRenderFrame(ue){this._renderTaskQueue.remove(ue)}_render(ue){let w=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(ue),this._removed)return;let B=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let ee=this.transform.zoom,le=u.now();this.style.zoomHistory.update(ee,le);let ze=new a.z(ee,{now:le,fadeDuration:w,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),Ze=ze.crossFadingFactor();Ze===1&&Ze===this._crossFadingFactor||(B=!0,this._crossFadingFactor=Ze),this.style.update(ze)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,w,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:w,showPadding:this.showPadding}),this.fire(new a.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,a.bf.mark(a.bg.load),this.fire(new a.k(\"load\"))),this.style&&(this.style.hasTransitions()||B)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Q=this._sourcesDirty||this._styleDirty||this._placementDirty;return Q||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new a.k(\"idle\")),!this._loaded||this._fullyLoaded||Q||(this._fullyLoaded=!0,a.bf.mark(a.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var ue;this._hash&&this._hash.remove();for(let B of this._controls)B.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window!=\"undefined\"&&removeEventListener(\"online\",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),(ue=this._resizeObserver)===null||ue===void 0||ue.disconnect();let w=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");w!=null&&w.loseContext&&w.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),a.bf.clearMetrics(),this._removed=!0,this.fire(new a.k(\"remove\"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(ue=>{a.bf.frame(ue),this._frameRequest=null,this._render(ue)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(ue){this._showTileBoundaries!==ue&&(this._showTileBoundaries=ue,this._update())}get showPadding(){return!!this._showPadding}set showPadding(ue){this._showPadding!==ue&&(this._showPadding=ue,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(ue){this._showCollisionBoxes!==ue&&(this._showCollisionBoxes=ue,ue?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(ue){this._showOverdrawInspector!==ue&&(this._showOverdrawInspector=ue,this._update())}get repaint(){return!!this._repaint}set repaint(ue){this._repaint!==ue&&(this._repaint=ue,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(ue){this._vertices=ue,this._update()}get version(){return ml}getCameraTargetElevation(){return this.transform.elevation}},i.MapMouseEvent=jl,i.MapTouchEvent=lf,i.MapWheelEvent=Xh,i.Marker=Yu,i.NavigationControl=class{constructor(ue){this._updateZoomButtons=()=>{let w=this._map.getZoom(),B=w===this._map.getMaxZoom(),Q=w===this._map.getMinZoom();this._zoomInButton.disabled=B,this._zoomOutButton.disabled=Q,this._zoomInButton.setAttribute(\"aria-disabled\",B.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",Q.toString())},this._rotateCompassArrow=()=>{let w=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._compassIcon.style.transform=w},this._setButtonTitle=(w,B)=>{let Q=this._map._getUIString(`NavigationControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)},this.options=a.e({},va,ue),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",w=>this._map.zoomIn({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",w=>this._map.zoomOut({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",w=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:w}):this._map.resetNorth({},{originalEvent:w})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(ue){return this._map=ue,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new no(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.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),this._handler.off(),delete this._handler),delete this._map}_createButton(ue,w){let B=c.create(\"button\",ue,this._container);return B.type=\"button\",B.addEventListener(\"click\",w),B}},i.Popup=class extends a.E{constructor(ue){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\"),delete this._map,this.fire(new a.k(\"close\"))),this),this._onMouseUp=w=>{this._update(w.point)},this._onMouseMove=w=>{this._update(w.point)},this._onDrag=w=>{this._update(w.point)},this._update=w=>{var B;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let Ze of this.options.className.split(\" \"))this._container.classList.add(Ze);this._closeButton&&this._closeButton.setAttribute(\"aria-label\",this._map._getUIString(\"Popup.Close\")),this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?rs(this._lngLat,this._flatPos,this._map.transform):(B=this._lngLat)===null||B===void 0?void 0:B.wrap(),this._trackPointer&&!w)return;let Q=this._flatPos=this._pos=this._trackPointer&&w?w:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&w?w:this._map.transform.locationPoint(this._lngLat));let ee=this.options.anchor,le=hc(this.options.offset);if(!ee){let Ze=this._container.offsetWidth,ut=this._container.offsetHeight,Mt;Mt=Q.y+le.bottom.ythis._map.transform.height-ut?[\"bottom\"]:[],Q.xthis._map.transform.width-Ze/2&&Mt.push(\"right\"),ee=Mt.length===0?\"bottom\":Mt.join(\"-\")}let ze=Q.add(le[ee]);this.options.subpixelPositioning||(ze=ze.round()),c.setTransform(this._container,`${Ql[ee]} translate(${ze.x}px,${ze.y}px)`),Cu(this._container,ee,\"popup\")},this._onClose=()=>{this.remove()},this.options=a.e(Object.create(oo),ue)}addTo(ue){return this._map&&this.remove(),this._map=ue,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new a.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(ue){return this._lngLat=a.N.convert(ue),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(ue){return this.setDOMContent(document.createTextNode(ue))}setHTML(ue){let w=document.createDocumentFragment(),B=document.createElement(\"body\"),Q;for(B.innerHTML=ue;Q=B.firstChild,Q;)w.appendChild(Q);return this.setDOMContent(w)}getMaxWidth(){var ue;return(ue=this._container)===null||ue===void 0?void 0:ue.style.maxWidth}setMaxWidth(ue){return this.options.maxWidth=ue,this._update(),this}setDOMContent(ue){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(ue),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(ue){return this._container&&this._container.classList.add(ue),this}removeClassName(ue){return this._container&&this._container.classList.remove(ue),this}setOffset(ue){return this.options.offset=ue,this._update(),this}toggleClassName(ue){if(this._container)return this._container.classList.toggle(ue)}setSubpixelPositioning(ue){this.options.subpixelPositioning=ue}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let ue=this._container.querySelector(Vc);ue&&ue.focus()}},i.RasterDEMTileSource=Vt,i.RasterTileSource=mt,i.ScaleControl=class{constructor(ue){this._onMove=()=>{Ac(this._map,this._container,this.options)},this.setUnit=w=>{this.options.unit=w,Ac(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},xu),ue)}getDefaultPosition(){return\"bottom-left\"}onAdd(ue){return this._map=ue,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",ue.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},i.ScrollZoomHandler=Kr,i.Style=Ha,i.TerrainControl=class{constructor(ue){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Disable\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Enable\"))},this.options=ue}onAdd(ue){return this._map=ue,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},i.TwoFingersTouchPitchHandler=Bc,i.TwoFingersTouchRotateHandler=cf,i.TwoFingersTouchZoomHandler=vu,i.TwoFingersTouchZoomRotateHandler=Yi,i.VectorTileSource=lt,i.VideoSource=Ht,i.addSourceType=(ue,w)=>a._(void 0,void 0,void 0,function*(){if(je(ue))throw new Error(`A source type called \"${ue}\" already exists.`);((B,Q)=>{tt[B]=Q})(ue,w)}),i.clearPrewarmedResources=function(){let ue=ge;ue&&(ue.isPreloaded()&&ue.numActive()===1?(ue.release(_e),ge=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},i.getMaxParallelImageRequests=function(){return a.a.MAX_PARALLEL_IMAGE_REQUESTS},i.getRTLTextPluginStatus=function(){return St().getRTLTextPluginStatus()},i.getVersion=function(){return Ku},i.getWorkerCount=function(){return ke.workerCount},i.getWorkerUrl=function(){return a.a.WORKER_URL},i.importScriptInWorkers=function(ue){return we().broadcast(\"IS\",ue)},i.prewarm=function(){Se().acquire(_e)},i.setMaxParallelImageRequests=function(ue){a.a.MAX_PARALLEL_IMAGE_REQUESTS=ue},i.setRTLTextPlugin=function(ue,w){return St().setRTLTextPlugin(ue,w)},i.setWorkerCount=function(ue){ke.workerCount=ue},i.setWorkerUrl=function(ue){a.a.WORKER_URL=ue}});var n=e;return n})});var xje=ye((Xbr,_je)=>{\"use strict\";var pw=Pr(),VXt=Zl().sanitizeHTML,GXt=IJ(),gje=Px();function mje(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=gje.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var sg=mje.prototype;sg.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=v7(t)};sg.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};sg.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};sg.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};sg.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};sg.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};sg.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!v7(e)){var r=HXt(e);t.addSource(this.idSource,r)}};sg.findFollowingMapLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function yje(e){var t={},r={};switch(e.type){case\"circle\":pw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":pw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":pw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=GXt(n.textposition,n.iconsize);pw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),pw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":pw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function HXt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=VXt(e.sourceattribution)),n}_je.exports=function(t,r,n){var i=new mje(t,r);return i.update(n),i}});var kje=ye((Zbr,Eje)=>{\"use strict\";var OJ=pje(),BJ=Pr(),Tje=hx(),bje=Oa(),jXt=ho(),WXt=yv(),p7=vf(),Aje=Cg(),XXt=Aje.drawMode,ZXt=Aje.selectMode,YXt=qf().prepSelect,KXt=qf().clearOutline,JXt=qf().clearSelectionsCache,$Xt=qf().selectOnClick,gw=Px(),QXt=xje();function Sje(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Hh=Sje.prototype;Hh.plot=function(e,t,r){var n=this,i;n.map?i=new Promise(function(a,o){n.updateMap(e,t,a,o)}):i=new Promise(function(a,o){n.createMap(e,t,a,o)}),r.push(i)};Hh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=Mje(a.style),s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new OJ.Map({container:i.div,style:o.style,center:NJ(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new OJ.AttributionControl({compact:!0})),c={};u.on(\"styleimagemissing\",function(h){var d=h.id;if(!c[d]&&d.includes(\"-15\")){c[d]=!0;var v=new Image(15,15);v.onload=function(){u.addImage(d,v)},v.crossOrigin=\"Anonymous\",v.src=\"https://unpkg.com/maki@2.1.0/icons/\"+d+\".svg\"}}),u.setTransformRequest(function(h){return h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular\",\"https://fonts.openmaptiles.org/Klokantech Noto Sans Regular\"),{url:h}}),u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var f=[];f.push(new Promise(function(h){u.once(\"load\",h)})),f=f.concat(Tje.fetchTraceGeoData(e)),Promise.all(f).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Hh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=Mje(o.style);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(Tje.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Hh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i1)for(i=0;i-1&&$Xt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&p7.click(n,l.originalEvent)}}};Hh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=BJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),ZXt(a)||XXt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){YXt(l,u,c,t.dragOptions,a)},WXt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Hh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Hh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i{\"use strict\";var UJ=Pr(),tZt=q_(),rZt=Zd(),Cje=Qk();Lje.exports=function(t,r,n){tZt(t,r,n,{type:\"map\",attributes:Cje,handleDefaults:iZt,partition:\"y\"})};function iZt(e,t,r){r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var n=r(\"bounds.west\"),i=r(\"bounds.east\"),a=r(\"bounds.south\"),o=r(\"bounds.north\");(n===void 0||i===void 0||a===void 0||o===void 0)&&delete t.bounds,rZt(e,t,{name:\"layers\",handleItemDefaults:nZt}),t._input=e}function nZt(e,t){function r(l,u){return UJ.coerce(e,t,Cje.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",UJ.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),UJ.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var m7=ye(u0=>{\"use strict\";var g7=Pr(),Ije=g7.strTranslate,aZt=g7.strScale,oZt=Id().getSubplotCalcData,sZt=Wp(),lZt=qa(),Rje=So(),uZt=Zl(),cZt=kje(),Ix=\"map\";u0.name=Ix;u0.attr=\"subplot\";u0.idRoot=Ix;u0.idRegex=u0.attrRegex=g7.counterRegex(Ix);u0.attributes={subplot:{valType:\"subplotid\",dflt:\"map\",editType:\"calc\"}};u0.layoutAttributes=Qk();u0.supplyLayoutDefaults=Pje();u0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[Ix],a=0;am/2){var b=f.split(\"|\").join(\"
\");d.text(b).attr(\"data-unformatted\",b).call(uZt.convertToTspans,e),v=Rje.bBox(d.node())}d.attr(\"transform\",Ije(-3,-v.height+8)),h.insert(\"rect\",\".static-attribution\").attr({x:-v.width-6,y:-v.height-3,width:v.width+6,height:v.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var p=1;v.width+6>m&&(p=m/(v.width+6));var k=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr(\"transform\",Ije(k[0],k[1])+aZt(p))}};u0.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Ix],n=0;n{\"use strict\";Dje.exports={attributes:l7(),supplyDefaults:XHe(),colorbar:$d(),formatLabels:PJ(),calc:_F(),plot:sje(),hoverPoints:d7().hoverPoints,eventData:fje(),selectPoints:dje(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermap\",basePlotModule:m7(),categories:[\"map\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var qje=ye(($br,zje)=>{\"use strict\";zje.exports=Fje()});var VJ=ye((Qbr,Oje)=>{\"use strict\";var x1=a5(),fZt=Tu(),{hovertemplateAttrs:hZt,templatefallbackAttrs:dZt}=Ll(),vZt=Gl(),Rx=Ao().extendFlat;Oje.exports=Rx({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:Rx({},x1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:x1.text,hovertext:x1.hovertext,marker:{line:{color:Rx({},x1.marker.line.color,{editType:\"plot\"}),width:Rx({},x1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:Rx({},x1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:Rx({},x1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:Rx({},x1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:x1.hoverinfo,hovertemplate:hZt({},{keys:[\"properties\"]}),hovertemplatefallback:dZt(),showlegend:Rx({},vZt.showlegend,{dflt:!1})},fZt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var Nje=ye((e2r,Bje)=>{\"use strict\";var iC=Pr(),pZt=td(),gZt=VJ();Bje.exports=function(t,r,n,i){function a(c,f){return iC.coerce(t,r,gZt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!iC.isArrayOrTypedArray(o)||!o.length||!iC.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||iC.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),pZt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),iC.coerceSelectionMarkerOpacity(r,a)}});var GJ=ye((t2r,Gje)=>{\"use strict\";var mZt=Eo(),b1=Pr(),yZt=tc(),_Zt=So(),xZt=cx().makeBlank,Uje=hx();function bZt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:xZt()};if(!r)return a;var o=Uje.extractTraceFeature(e);if(!o)return a;var s=yZt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;b1.isArrayOrTypedArray(l.opacity)&&(c=function(k){var M=k.mo;return mZt(M)?+b1.constrain(M,0,1):0});var f;b1.isArrayOrTypedArray(u.color)&&(f=function(k){return k.mlc});var h;b1.isArrayOrTypedArray(u.width)&&(h=function(k){return k.mlw});for(var d=0;d{\"use strict\";var jje=GJ().convert,wZt=GJ().convertOnSelect,Hje=Px().traceLayerPrefix;function Wje(e,t){this.type=\"choroplethmap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",Hje+t+\"-fill\"],[\"line\",Hje+t+\"-line\"]],this.below=null}var D5=Wje.prototype;D5.update=function(e){this._update(jje(e)),e[0].trace._glTrace=this};D5.updateOnSelect=function(e){this._update(wZt(e))};D5._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};D5.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};Xje.exports=function(t,r){var n=r[0].trace,i=new Wje(t,n.uid),a=i.sourceId,o=jje(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var Kje=ye((i2r,Yje)=>{\"use strict\";Yje.exports={attributes:VJ(),supplyDefaults:Nje(),colorbar:D_(),calc:NF(),plot:Zje(),hoverPoints:VF(),eventData:GF(),selectPoints:HF(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a{\"use strict\";Jje.exports=Kje()});var jJ=ye((a2r,eWe)=>{\"use strict\";var TZt=Tu(),{hovertemplateAttrs:AZt,templatefallbackAttrs:SZt}=Ll(),Qje=Gl(),y7=l7(),HJ=Ao().extendFlat;eWe.exports=HJ({lon:y7.lon,lat:y7.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:y7.text,hovertext:y7.hovertext,hoverinfo:HJ({},Qje.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:AZt(),hovertemplatefallback:SZt(),showlegend:HJ({},Qje.showlegend,{dflt:!1})},TZt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var rWe=ye((o2r,tWe)=>{\"use strict\";var MZt=Pr(),EZt=td(),kZt=jJ();tWe.exports=function(t,r,n,i){function a(u,c){return MZt.coerce(t,r,kZt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),EZt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var aWe=ye((s2r,nWe)=>{\"use strict\";var WJ=Eo(),CZt=Pr().isArrayOrTypedArray,XJ=fs().BADNUM,LZt=gv(),iWe=Pr()._;nWe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=CZt(a)&&a.length,s=0;s{\"use strict\";var PZt=Eo(),ZJ=Pr(),oWe=ka(),sWe=tc(),lWe=fs().BADNUM,IZt=cx().makeBlank;uWe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:IZt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=ZJ.isArrayOrTypedArray(l)&&l.length,f=ZJ.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=sWe.extractOpts(r),p=b.reversescale?sWe.flipScale(b.colorscale):b.colorscale,k=p[0][1],M=oWe.opacity(k)<1?k:oWe.addOpacity(k,0),T=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,M];for(s=1;s{\"use strict\";var fWe=cWe(),RZt=Px().traceLayerPrefix;function hWe(e,t){this.type=\"densitymap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",RZt+t+\"-heatmap\"]],this.below=null}var _7=hWe.prototype;_7.update=function(e){var t=this.subplot,r=this.layerList,n=fWe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};_7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};dWe.exports=function(t,r){var n=r[0].trace,i=new hWe(t,n.uid),a=i.sourceId,o=fWe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var gWe=ye((c2r,pWe)=>{\"use strict\";var DZt=ho(),FZt=d7().hoverPoints,zZt=d7().getExtraText;pWe.exports=function(t,r,n){var i=FZt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=DZt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=zZt(s,l,o[0].t.labels),[a]}}});var yWe=ye((f2r,mWe)=>{\"use strict\";mWe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var xWe=ye((h2r,_We)=>{\"use strict\";_We.exports={attributes:jJ(),supplyDefaults:rWe(),colorbar:D_(),formatLabels:PJ(),calc:aWe(),plot:vWe(),hoverPoints:gWe(),eventData:yWe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{\"use strict\";bWe.exports=xWe()});var KJ=ye((p2r,EWe)=>{\"use strict\";var qZt=ec(),OZt=Gl(),TWe=Ih(),YJ=p3(),BZt=Cc().attributes,{hovertemplateAttrs:AWe,templatefallbackAttrs:SWe}=Ll(),NZt=Tu(),UZt=vl().templatedArray,VZt=df().descriptionOnlyNumbers,MWe=Ao().extendFlat,GZt=mc().overrideAll,v2r=EWe.exports=GZt({hoverinfo:MWe({},OZt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:YJ.hoverlabel,domain:BZt({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:VZt(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:qZt({autoShadowDflt:!0}),customdata:void 0,node:{label:{valType:\"data_array\",dflt:[]},groups:{valType:\"info_array\",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:\"number\",editType:\"calc\"}},x:{valType:\"data_array\",dflt:[]},y:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:TWe.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:YJ.hoverlabel,hovertemplate:AWe({},{keys:[\"value\",\"label\"]}),hovertemplatefallback:SWe(),align:{valType:\"enumerated\",values:[\"justify\",\"left\",\"right\",\"center\"],dflt:\"justify\"}},link:{arrowlen:{valType:\"number\",min:0,dflt:0},label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},hovercolor:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:TWe.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:YJ.hoverlabel,hovertemplate:AWe({},{keys:[\"value\",\"label\"]}),hovertemplatefallback:SWe(),colorscales:UZt(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:MWe(NZt().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")});var IWe=ye((g2r,PWe)=>{\"use strict\";var F5=Pr(),x7=KJ(),HZt=ka(),kWe=fd(),jZt=Cc().defaults,CWe=_M(),LWe=vl(),WZt=Zd();PWe.exports=function(t,r,n,i){function a(T,L){return F5.coerce(t,r,x7,T,L)}var o=F5.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=LWe.newContainer(r,\"node\");function u(T,L){return F5.coerce(s,l,x7.node,T,L)}u(\"label\"),u(\"groups\"),u(\"x\"),u(\"y\"),u(\"pad\"),u(\"thickness\"),u(\"line.color\"),u(\"line.width\"),u(\"hoverinfo\",t.hoverinfo),CWe(s,l,u,o),u(\"hovertemplate\"),u(\"align\");var c=i.colorway,f=function(T){return c[T%c.length]};u(\"color\",l.label.map(function(T,L){return HZt.addOpacity(f(L),.8)})),u(\"customdata\");var h=t.link||{},d=LWe.newContainer(r,\"link\");function v(T,L){return F5.coerce(h,d,x7.link,T,L)}v(\"label\"),v(\"arrowlen\"),v(\"source\"),v(\"target\"),v(\"value\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),CWe(h,d,v,o),v(\"hovertemplate\");var m=kWe(i.paper_bgcolor).getLuminance()<.333,b=m?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\",p=v(\"color\",b);function k(T){var L=kWe(T);if(!L.isValid())return T;var x=L.getAlpha();return x<=.8?L.setAlpha(x+.2):L=m?L.brighten():L.darken(),L.toRgbString()}v(\"hovercolor\",Array.isArray(p)?p.map(k):k(p)),v(\"customdata\"),WZt(h,d,{name:\"colorscales\",handleItemDefaults:XZt}),jZt(r,i,a),a(\"orientation\"),a(\"valueformat\"),a(\"valuesuffix\");var M;l.x.length&&l.y.length&&(M=\"freeform\"),a(\"arrangement\",M),F5.coerceFont(a,\"textfont\",i.font,{autoShadowDflt:!0}),r._length=null};function XZt(e,t){function r(n,i){return F5.coerce(e,t,x7.link.colorscales,n,i)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}});var JJ=ye((m2r,RWe)=>{\"use strict\";RWe.exports=ZZt;function ZZt(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l0;){b=k[k.length-1];var M=e[b];if(a[b]=0&&s[b].push(o[L])}a[b]=T}else{if(n[b]===r[b]){for(var x=[],C=[],S=0,T=p.length-1;T>=0;--T){var g=p[T];if(i[g]=!1,x.push(g),C.push(s[g]),S+=s[g].length,o[g]=c.length,g===b){p.length=T;break}}c.push(x);for(var P=new Array(S),T=0;T{\"use strict\";var YZt=JJ(),z5=Pr(),KZt=iy().wrap,nC=z5.isArrayOrTypedArray,DWe=z5.isIndex,FWe=tc();function JZt(e){var t=e.node,r=e.link,n=[],i=nC(r.color),a=nC(r.hovercolor),o=nC(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;cv&&(v=r.source[c]),r.target[c]>v&&(v=r.target[c]);var m=v+1;e.node._count=m;var b,p=e.node.groups,k={};for(c=0;c0&&DWe(S,m)&&DWe(g,m)&&!(k.hasOwnProperty(S)&&k.hasOwnProperty(g)&&k[S]===k[g])){k.hasOwnProperty(g)&&(g=k[g]),k.hasOwnProperty(S)&&(S=k[S]),S=+S,g=+g,s[S]=s[g]=!0;var P=\"\";r.label&&r.label[c]&&(P=r.label[c]);var E=null;P&&l.hasOwnProperty(P)&&(E=l[P]),n.push({pointNumber:c,label:P,color:i?r.color[c]:r.color,hovercolor:a?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:E,source:S,target:g,value:+C}),x.source.push(S),x.target.push(g)}}var z=m+p.length,q=nC(t.color),U=nC(t.customdata),G=[];for(c=0;cm-1,childrenNodes:[],pointNumber:c,label:Z,color:q?t.color[c]:t.color,customdata:U?t.customdata[c]:t.customdata})}var j=!1;return $Zt(z,x.source,x.target)&&(j=!0),{circular:j,links:n,nodes:G,groups:p,groupLookup:k}}function $Zt(e,t,r){for(var n=z5.init2dArray(e,0),i=0;i1})}zWe.exports=function(t,r){var n=JZt(r);return KZt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var BWe=ye((b7,OWe)=>{(function(e,t){typeof b7==\"object\"&&typeof OWe!=\"undefined\"?t(b7):(e=e||self,t(e.d3=e.d3||{}))})(b7,function(e){\"use strict\";function t(C){var S=+this._x.call(null,C),g=+this._y.call(null,C);return r(this.cover(S,g),S,g,C)}function r(C,S,g,P){if(isNaN(S)||isNaN(g))return C;var E,z=C._root,q={data:P},U=C._x0,G=C._y0,Z=C._x1,j=C._y1,N,H,re,oe,_e,ke,Ce,ge;if(!z)return C._root=q,C;for(;z.length;)if((_e=S>=(N=(U+Z)/2))?U=N:Z=N,(ke=g>=(H=(G+j)/2))?G=H:j=H,E=z,!(z=z[Ce=ke<<1|_e]))return E[Ce]=q,C;if(re=+C._x.call(null,z.data),oe=+C._y.call(null,z.data),S===re&&g===oe)return q.next=z,E?E[Ce]=q:C._root=q,C;do E=E?E[Ce]=new Array(4):C._root=new Array(4),(_e=S>=(N=(U+Z)/2))?U=N:Z=N,(ke=g>=(H=(G+j)/2))?G=H:j=H;while((Ce=ke<<1|_e)===(ge=(oe>=H)<<1|re>=N));return E[ge]=z,E[Ce]=q,C}function n(C){var S,g,P=C.length,E,z,q=new Array(P),U=new Array(P),G=1/0,Z=1/0,j=-1/0,N=-1/0;for(g=0;gj&&(j=E),zN&&(N=z));if(G>j||Z>N)return this;for(this.cover(G,Z).cover(j,N),g=0;gC||C>=E||P>S||S>=z;)switch(Z=(Sj||(U=oe.y0)>N||(G=oe.x1)=Ce)<<1|C>=ke)&&(oe=H[H.length-1],H[H.length-1]=H[H.length-1-_e],H[H.length-1-_e]=oe)}else{var ge=C-+this._x.call(null,re.data),ie=S-+this._y.call(null,re.data),Se=ge*ge+ie*ie;if(Se=(H=(q+G)/2))?q=H:G=H,(_e=N>=(re=(U+Z)/2))?U=re:Z=re,S=g,!(g=g[ke=_e<<1|oe]))return this;if(!g.length)break;(S[ke+1&3]||S[ke+2&3]||S[ke+3&3])&&(P=S,Ce=ke)}for(;g.data!==C;)if(E=g,!(g=g.next))return this;return(z=g.next)&&delete g.next,E?(z?E.next=z:delete E.next,this):S?(z?S[ke]=z:delete S[ke],(g=S[0]||S[1]||S[2]||S[3])&&g===(S[3]||S[2]||S[1]||S[0])&&!g.length&&(P?P[Ce]=g:this._root=g),this):(this._root=z,this)}function c(C){for(var S=0,g=C.length;S{(function(e,t){t(typeof w7==\"object\"&&typeof NWe!=\"undefined\"?w7:e.d3=e.d3||{})})(w7,function(e){\"use strict\";var t=\"$\";function r(){}r.prototype=n.prototype={constructor:r,has:function(m){return t+m in this},get:function(m){return this[t+m]},set:function(m,b){return this[t+m]=b,this},remove:function(m){var b=t+m;return b in this&&delete this[b]},clear:function(){for(var m in this)m[0]===t&&delete this[m]},keys:function(){var m=[];for(var b in this)b[0]===t&&m.push(b.slice(1));return m},values:function(){var m=[];for(var b in this)b[0]===t&&m.push(this[b]);return m},entries:function(){var m=[];for(var b in this)b[0]===t&&m.push({key:b.slice(1),value:this[b]});return m},size:function(){var m=0;for(var b in this)b[0]===t&&++m;return m},empty:function(){for(var m in this)if(m[0]===t)return!1;return!0},each:function(m){for(var b in this)b[0]===t&&m(this[b],b.slice(1),this)}};function n(m,b){var p=new r;if(m instanceof r)m.each(function(x,C){p.set(C,x)});else if(Array.isArray(m)){var k=-1,M=m.length,T;if(b==null)for(;++k=m.length)return p!=null&&x.sort(p),k!=null?k(x):x;for(var P=-1,E=x.length,z=m[C++],q,U,G=n(),Z,j=S();++Pm.length)return x;var S,g=b[C-1];return k!=null&&C>=m.length?S=x.entries():(S=[],x.each(function(P,E){S.push({key:E,values:L(P,C)})})),g!=null?S.sort(function(P,E){return g(P.key,E.key)}):S}return M={object:function(x){return T(x,0,a,o)},map:function(x){return T(x,0,s,l)},entries:function(x){return L(T(x,0,s,l),0)},key:function(x){return m.push(x),M},sortKeys:function(x){return b[m.length-1]=x,M},sortValues:function(x){return p=x,M},rollup:function(x){return k=x,M}}}function a(){return{}}function o(m,b,p){m[b]=p}function s(){return n()}function l(m,b,p){m.set(b,p)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(m){return m+=\"\",this[t+m]=m,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(m,b){var p=new u;if(m instanceof u)m.each(function(T){p.add(T)});else if(m){var k=-1,M=m.length;if(b==null)for(;++k{(function(e,t){typeof A7==\"object\"&&typeof UWe!=\"undefined\"?t(A7):(e=e||self,t(e.d3=e.d3||{}))})(A7,function(e){\"use strict\";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error(\"unknown type: \"+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=i(s+\"\",u),f,h=-1,d=c.length;if(arguments.length<2){for(;++h0)for(var u=new Array(f),c=0,f,h;c{(function(e,t){typeof S7==\"object\"&&typeof GWe!=\"undefined\"?t(S7):(e=e||self,t(e.d3=e.d3||{}))})(S7,function(e){\"use strict\";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,c=typeof performance==\"object\"&&performance.now?performance:Date,f=typeof window==\"object\"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(C){setTimeout(C,17)};function h(){return l||(f(d),l=c.now()+u)}function d(){l=0}function v(){this._call=this._time=this._next=null}v.prototype=m.prototype={constructor:v,restart:function(C,S,g){if(typeof C!=\"function\")throw new TypeError(\"callback is not a function\");g=(g==null?h():+g)+(S==null?0:+S),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=C,this._time=g,T()},stop:function(){this._call&&(this._call=null,this._time=1/0,T())}};function m(C,S,g){var P=new v;return P.restart(C,S,g),P}function b(){h(),++t;for(var C=a,S;C;)(S=l-C._time)>=0&&C._call.call(null,S),C=C._next;--t}function p(){l=(s=c.now())+u,t=r=0;try{b()}finally{t=0,M(),l=0}}function k(){var C=c.now(),S=C-s;S>i&&(u-=S,s=C)}function M(){for(var C,S=a,g,P=1/0;S;)S._call?(P>S._time&&(P=S._time),C=S,S=S._next):(g=S._next,S._next=null,S=C?C._next=g:a=g);o=C,T(P)}function T(C){if(!t){r&&(r=clearTimeout(r));var S=C-l;S>24?(C<1/0&&(r=setTimeout(p,C-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(k,i)),t=1,f(p))}}function L(C,S,g){var P=new v;return S=S==null?0:+S,P.restart(function(E){P.stop(),C(E+S)},S,g),P}function x(C,S,g){var P=new v,E=S;return S==null?(P.restart(C,S,g),P):(S=+S,g=g==null?h():+g,P.restart(function z(q){q+=E,P.restart(z,E+=S,g),C(q)},S,g),P)}e.interval=x,e.now=h,e.timeout=L,e.timer=m,e.timerFlush=b,Object.defineProperty(e,\"__esModule\",{value:!0})})});var WWe=ye((M7,jWe)=>{(function(e,t){typeof M7==\"object\"&&typeof jWe!=\"undefined\"?t(M7,BWe(),T7(),VWe(),HWe()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(M7,function(e,t,r,n,i){\"use strict\";function a(C,S){var g;C==null&&(C=0),S==null&&(S=0);function P(){var E,z=g.length,q,U=0,G=0;for(E=0;EN.index){var Pe=H-De.x-De.vx,ce=re-De.y-De.vy,He=Pe*Pe+ce*ce;HeH+me||Eere+me||weG.r&&(G.r=G[Z].r)}function U(){if(S){var G,Z=S.length,j;for(g=new Array(Z),G=0;G1?(_e==null?U.remove(oe):U.set(oe,re(_e)),S):U.get(oe)},find:function(oe,_e,ke){var Ce=0,ge=C.length,ie,Se,Ee,we,De;for(ke==null?ke=1/0:ke*=ke,Ce=0;Ce1?(Z.on(oe,_e),S):Z.on(oe)}}}function M(){var C,S,g,P=o(-30),E,z=1,q=1/0,U=.81;function G(H){var re,oe=C.length,_e=t.quadtree(C,v,m).visitAfter(j);for(g=H,re=0;re=q)return;(H.data!==S||H.next)&&(ke===0&&(ke=s(),ie+=ke*ke),Ce===0&&(Ce=s(),ie+=Ce*Ce),ie{(function(e,t){typeof E7==\"object\"&&typeof XWe!=\"undefined\"?t(E7):(e=e||self,t(e.d3=e.d3||{}))})(E7,function(e){\"use strict\";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(s,l){this._+=\"L\"+(this._x1=+s)+\",\"+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+=\"Q\"+ +s+\",\"+ +l+\",\"+(this._x1=+u)+\",\"+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+=\"C\"+ +s+\",\"+ +l+\",\"+ +u+\",\"+ +c+\",\"+(this._x1=+f)+\",\"+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,d=this._y1,v=u-s,m=c-l,b=h-s,p=d-l,k=b*b+p*p;if(f<0)throw new Error(\"negative radius: \"+f);if(this._x1===null)this._+=\"M\"+(this._x1=s)+\",\"+(this._y1=l);else if(k>n)if(!(Math.abs(p*v-m*b)>n)||!f)this._+=\"L\"+(this._x1=s)+\",\"+(this._y1=l);else{var M=u-h,T=c-d,L=v*v+m*m,x=M*M+T*T,C=Math.sqrt(L),S=Math.sqrt(k),g=f*Math.tan((t-Math.acos((L+k-x)/(2*C*S)))/2),P=g/S,E=g/C;Math.abs(P-1)>n&&(this._+=\"L\"+(s+P*b)+\",\"+(l+P*p)),this._+=\"A\"+f+\",\"+f+\",0,0,\"+ +(p*M>b*T)+\",\"+(this._x1=s+E*v)+\",\"+(this._y1=l+E*m)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var d=u*Math.cos(c),v=u*Math.sin(c),m=s+d,b=l+v,p=1^h,k=h?c-f:f-c;if(u<0)throw new Error(\"negative radius: \"+u);this._x1===null?this._+=\"M\"+m+\",\"+b:(Math.abs(this._x1-m)>n||Math.abs(this._y1-b)>n)&&(this._+=\"L\"+m+\",\"+b),u&&(k<0&&(k=k%r+r),k>i?this._+=\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(s-d)+\",\"+(l-v)+\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(this._x1=m)+\",\"+(this._y1=b):k>n&&(this._+=\"A\"+u+\",\"+u+\",0,\"+ +(k>=t)+\",\"+p+\",\"+(this._x1=s+u*Math.cos(f))+\",\"+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)+\"h\"+ +u+\"v\"+ +c+\"h\"+-u+\"Z\"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,\"__esModule\",{value:!0})})});var $J=ye((k7,YWe)=>{(function(e,t){typeof k7==\"object\"&&typeof YWe!=\"undefined\"?t(k7,ZWe()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(k7,function(e,t){\"use strict\";function r(Ct){return function(){return Ct}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,d=2*f;function v(Ct){return Ct>1?0:Ct<-1?f:Math.acos(Ct)}function m(Ct){return Ct>=1?h:Ct<=-1?-h:Math.asin(Ct)}function b(Ct){return Ct.innerRadius}function p(Ct){return Ct.outerRadius}function k(Ct){return Ct.startAngle}function M(Ct){return Ct.endAngle}function T(Ct){return Ct&&Ct.padAngle}function L(Ct,Ar,Jr,hi,hn,Sn,En,ki){var _n=Jr-Ct,ya=hi-Ar,ea=En-hn,Ma=ki-Sn,_o=Ma*_n-ea*ya;if(!(_o*_oYl*Yl+Su*Su&&(As=Ks,cl=zs),{cx:As,cy:cl,x01:-ea,y01:-Ma,x11:As*(hn/zl-1),y11:cl*(hn/zl-1)}}function C(){var Ct=b,Ar=p,Jr=r(0),hi=null,hn=k,Sn=M,En=T,ki=null;function _n(){var ya,ea,Ma=+Ct.apply(this,arguments),_o=+Ar.apply(this,arguments),No=hn.apply(this,arguments)-h,po=Sn.apply(this,arguments)-h,Lo=n(po-No),ko=po>No;if(ki||(ki=ya=t.path()),_oc))ki.moveTo(0,0);else if(Lo>d-c)ki.moveTo(_o*a(No),_o*l(No)),ki.arc(0,0,_o,No,po,!ko),Ma>c&&(ki.moveTo(Ma*a(po),Ma*l(po)),ki.arc(0,0,Ma,po,No,ko));else{var Ds=No,Fs=po,ll=No,ul=po,zl=Lo,us=Lo,il=En.apply(this,arguments)/2,As=il>c&&(hi?+hi.apply(this,arguments):u(Ma*Ma+_o*_o)),cl=s(n(_o-Ma)/2,+Jr.apply(this,arguments)),Ks=cl,zs=cl,Io,ls;if(As>c){var Yl=m(As/Ma*l(il)),Su=m(As/_o*l(il));(zl-=Yl*2)>c?(Yl*=ko?1:-1,ll+=Yl,ul-=Yl):(zl=0,ll=ul=(No+po)/2),(us-=Su*2)>c?(Su*=ko?1:-1,Ds+=Su,Fs-=Su):(us=0,Ds=Fs=(No+po)/2)}var nc=_o*a(Ds),bs=_o*l(Ds),Rn=Ma*a(ul),_a=Ma*l(ul);if(cl>c){var Vu=_o*a(Fs),ql=_o*l(Fs),xo=Ma*a(ll),Kl=Ma*l(ll),Ns;if(Loc?zs>c?(Io=x(xo,Kl,nc,bs,_o,zs,ko),ls=x(Vu,ql,Rn,_a,_o,zs,ko),ki.moveTo(Io.cx+Io.x01,Io.cy+Io.y01),zsc)||!(zl>c)?ki.lineTo(Rn,_a):Ks>c?(Io=x(Rn,_a,Vu,ql,Ma,-Ks,ko),ls=x(nc,bs,xo,Kl,Ma,-Ks,ko),ki.lineTo(Io.cx+Io.x01,Io.cy+Io.y01),Ks=_o;--No)ki.point(Fs[No],ll[No]);ki.lineEnd(),ki.areaEnd()}ko&&(Fs[Ma]=+Ct(Lo,Ma,ea),ll[Ma]=+Jr(Lo,Ma,ea),ki.point(Ar?+Ar(Lo,Ma,ea):Fs[Ma],hi?+hi(Lo,Ma,ea):ll[Ma]))}if(Ds)return ki=null,Ds+\"\"||null}function ya(){return z().defined(hn).curve(En).context(Sn)}return _n.x=function(ea){return arguments.length?(Ct=typeof ea==\"function\"?ea:r(+ea),Ar=null,_n):Ct},_n.x0=function(ea){return arguments.length?(Ct=typeof ea==\"function\"?ea:r(+ea),_n):Ct},_n.x1=function(ea){return arguments.length?(Ar=ea==null?null:typeof ea==\"function\"?ea:r(+ea),_n):Ar},_n.y=function(ea){return arguments.length?(Jr=typeof ea==\"function\"?ea:r(+ea),hi=null,_n):Jr},_n.y0=function(ea){return arguments.length?(Jr=typeof ea==\"function\"?ea:r(+ea),_n):Jr},_n.y1=function(ea){return arguments.length?(hi=ea==null?null:typeof ea==\"function\"?ea:r(+ea),_n):hi},_n.lineX0=_n.lineY0=function(){return ya().x(Ct).y(Jr)},_n.lineY1=function(){return ya().x(Ct).y(hi)},_n.lineX1=function(){return ya().x(Ar).y(Jr)},_n.defined=function(ea){return arguments.length?(hn=typeof ea==\"function\"?ea:r(!!ea),_n):hn},_n.curve=function(ea){return arguments.length?(En=ea,Sn!=null&&(ki=En(Sn)),_n):En},_n.context=function(ea){return arguments.length?(ea==null?Sn=ki=null:ki=En(Sn=ea),_n):Sn},_n}function U(Ct,Ar){return ArCt?1:Ar>=Ct?0:NaN}function G(Ct){return Ct}function Z(){var Ct=G,Ar=U,Jr=null,hi=r(0),hn=r(d),Sn=r(0);function En(ki){var _n,ya=ki.length,ea,Ma,_o=0,No=new Array(ya),po=new Array(ya),Lo=+hi.apply(this,arguments),ko=Math.min(d,Math.max(-d,hn.apply(this,arguments)-Lo)),Ds,Fs=Math.min(Math.abs(ko)/ya,Sn.apply(this,arguments)),ll=Fs*(ko<0?-1:1),ul;for(_n=0;_n0&&(_o+=ul);for(Ar!=null?No.sort(function(zl,us){return Ar(po[zl],po[us])}):Jr!=null&&No.sort(function(zl,us){return Jr(ki[zl],ki[us])}),_n=0,Ma=_o?(ko-ya*ll)/_o:0;_n0?ul*Ma:0)+ll,po[ea]={data:ki[ea],index:_n,value:ul,startAngle:Lo,endAngle:Ds,padAngle:Fs};return po}return En.value=function(ki){return arguments.length?(Ct=typeof ki==\"function\"?ki:r(+ki),En):Ct},En.sortValues=function(ki){return arguments.length?(Ar=ki,Jr=null,En):Ar},En.sort=function(ki){return arguments.length?(Jr=ki,Ar=null,En):Jr},En.startAngle=function(ki){return arguments.length?(hi=typeof ki==\"function\"?ki:r(+ki),En):hi},En.endAngle=function(ki){return arguments.length?(hn=typeof ki==\"function\"?ki:r(+ki),En):hn},En.padAngle=function(ki){return arguments.length?(Sn=typeof ki==\"function\"?ki:r(+ki),En):Sn},En}var j=H(g);function N(Ct){this._curve=Ct}N.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(Ct,Ar){this._curve.point(Ar*Math.sin(Ct),Ar*-Math.cos(Ct))}};function H(Ct){function Ar(Jr){return new N(Ct(Jr))}return Ar._curve=Ct,Ar}function re(Ct){var Ar=Ct.curve;return Ct.angle=Ct.x,delete Ct.x,Ct.radius=Ct.y,delete Ct.y,Ct.curve=function(Jr){return arguments.length?Ar(H(Jr)):Ar()._curve},Ct}function oe(){return re(z().curve(j))}function _e(){var Ct=q().curve(j),Ar=Ct.curve,Jr=Ct.lineX0,hi=Ct.lineX1,hn=Ct.lineY0,Sn=Ct.lineY1;return Ct.angle=Ct.x,delete Ct.x,Ct.startAngle=Ct.x0,delete Ct.x0,Ct.endAngle=Ct.x1,delete Ct.x1,Ct.radius=Ct.y,delete Ct.y,Ct.innerRadius=Ct.y0,delete Ct.y0,Ct.outerRadius=Ct.y1,delete Ct.y1,Ct.lineStartAngle=function(){return re(Jr())},delete Ct.lineX0,Ct.lineEndAngle=function(){return re(hi())},delete Ct.lineX1,Ct.lineInnerRadius=function(){return re(hn())},delete Ct.lineY0,Ct.lineOuterRadius=function(){return re(Sn())},delete Ct.lineY1,Ct.curve=function(En){return arguments.length?Ar(H(En)):Ar()._curve},Ct}function ke(Ct,Ar){return[(Ar=+Ar)*Math.cos(Ct-=Math.PI/2),Ar*Math.sin(Ct)]}var Ce=Array.prototype.slice;function ge(Ct){return Ct.source}function ie(Ct){return Ct.target}function Se(Ct){var Ar=ge,Jr=ie,hi=P,hn=E,Sn=null;function En(){var ki,_n=Ce.call(arguments),ya=Ar.apply(this,_n),ea=Jr.apply(this,_n);if(Sn||(Sn=ki=t.path()),Ct(Sn,+hi.apply(this,(_n[0]=ya,_n)),+hn.apply(this,_n),+hi.apply(this,(_n[0]=ea,_n)),+hn.apply(this,_n)),ki)return Sn=null,ki+\"\"||null}return En.source=function(ki){return arguments.length?(Ar=ki,En):Ar},En.target=function(ki){return arguments.length?(Jr=ki,En):Jr},En.x=function(ki){return arguments.length?(hi=typeof ki==\"function\"?ki:r(+ki),En):hi},En.y=function(ki){return arguments.length?(hn=typeof ki==\"function\"?ki:r(+ki),En):hn},En.context=function(ki){return arguments.length?(Sn=ki==null?null:ki,En):Sn},En}function Ee(Ct,Ar,Jr,hi,hn){Ct.moveTo(Ar,Jr),Ct.bezierCurveTo(Ar=(Ar+hi)/2,Jr,Ar,hn,hi,hn)}function we(Ct,Ar,Jr,hi,hn){Ct.moveTo(Ar,Jr),Ct.bezierCurveTo(Ar,Jr=(Jr+hn)/2,hi,Jr,hi,hn)}function De(Ct,Ar,Jr,hi,hn){var Sn=ke(Ar,Jr),En=ke(Ar,Jr=(Jr+hn)/2),ki=ke(hi,Jr),_n=ke(hi,hn);Ct.moveTo(Sn[0],Sn[1]),Ct.bezierCurveTo(En[0],En[1],ki[0],ki[1],_n[0],_n[1])}function Le(){return Se(Ee)}function me(){return Se(we)}function Pe(){var Ct=Se(De);return Ct.angle=Ct.x,delete Ct.x,Ct.radius=Ct.y,delete Ct.y,Ct}var ce={draw:function(Ct,Ar){var Jr=Math.sqrt(Ar/f);Ct.moveTo(Jr,0),Ct.arc(0,0,Jr,0,d)}},He={draw:function(Ct,Ar){var Jr=Math.sqrt(Ar/5)/2;Ct.moveTo(-3*Jr,-Jr),Ct.lineTo(-Jr,-Jr),Ct.lineTo(-Jr,-3*Jr),Ct.lineTo(Jr,-3*Jr),Ct.lineTo(Jr,-Jr),Ct.lineTo(3*Jr,-Jr),Ct.lineTo(3*Jr,Jr),Ct.lineTo(Jr,Jr),Ct.lineTo(Jr,3*Jr),Ct.lineTo(-Jr,3*Jr),Ct.lineTo(-Jr,Jr),Ct.lineTo(-3*Jr,Jr),Ct.closePath()}},lt=Math.sqrt(1/3),mt=lt*2,Vt={draw:function(Ct,Ar){var Jr=Math.sqrt(Ar/mt),hi=Jr*lt;Ct.moveTo(0,-Jr),Ct.lineTo(hi,0),Ct.lineTo(0,Jr),Ct.lineTo(-hi,0),Ct.closePath()}},st=.8908130915292852,ct=Math.sin(f/10)/Math.sin(7*f/10),Qt=Math.sin(d/10)*ct,Ht=-Math.cos(d/10)*ct,nr={draw:function(Ct,Ar){var Jr=Math.sqrt(Ar*st),hi=Qt*Jr,hn=Ht*Jr;Ct.moveTo(0,-Jr),Ct.lineTo(hi,hn);for(var Sn=1;Sn<5;++Sn){var En=d*Sn/5,ki=Math.cos(En),_n=Math.sin(En);Ct.lineTo(_n*Jr,-ki*Jr),Ct.lineTo(ki*hi-_n*hn,_n*hi+ki*hn)}Ct.closePath()}},tt={draw:function(Ct,Ar){var Jr=Math.sqrt(Ar),hi=-Jr/2;Ct.rect(hi,hi,Jr,Jr)}},je=Math.sqrt(3),Ue={draw:function(Ct,Ar){var Jr=-Math.sqrt(Ar/(je*3));Ct.moveTo(0,Jr*2),Ct.lineTo(-je*Jr,-Jr),Ct.lineTo(je*Jr,-Jr),Ct.closePath()}},Ae=-.5,rt=Math.sqrt(3)/2,St=1/Math.sqrt(12),Tt=(St/2+1)*3,dt={draw:function(Ct,Ar){var Jr=Math.sqrt(Ar/Tt),hi=Jr/2,hn=Jr*St,Sn=hi,En=Jr*St+Jr,ki=-Sn,_n=En;Ct.moveTo(hi,hn),Ct.lineTo(Sn,En),Ct.lineTo(ki,_n),Ct.lineTo(Ae*hi-rt*hn,rt*hi+Ae*hn),Ct.lineTo(Ae*Sn-rt*En,rt*Sn+Ae*En),Ct.lineTo(Ae*ki-rt*_n,rt*ki+Ae*_n),Ct.lineTo(Ae*hi+rt*hn,Ae*hn-rt*hi),Ct.lineTo(Ae*Sn+rt*En,Ae*En-rt*Sn),Ct.lineTo(Ae*ki+rt*_n,Ae*_n-rt*ki),Ct.closePath()}},Et=[ce,He,Vt,tt,nr,Ue,dt];function pt(){var Ct=r(ce),Ar=r(64),Jr=null;function hi(){var hn;if(Jr||(Jr=hn=t.path()),Ct.apply(this,arguments).draw(Jr,+Ar.apply(this,arguments)),hn)return Jr=null,hn+\"\"||null}return hi.type=function(hn){return arguments.length?(Ct=typeof hn==\"function\"?hn:r(hn),hi):Ct},hi.size=function(hn){return arguments.length?(Ar=typeof hn==\"function\"?hn:r(+hn),hi):Ar},hi.context=function(hn){return arguments.length?(Jr=hn==null?null:hn,hi):Jr},hi}function Xt(){}function or(Ct,Ar,Jr){Ct._context.bezierCurveTo((2*Ct._x0+Ct._x1)/3,(2*Ct._y0+Ct._y1)/3,(Ct._x0+2*Ct._x1)/3,(Ct._y0+2*Ct._y1)/3,(Ct._x0+4*Ct._x1+Ar)/6,(Ct._y0+4*Ct._y1+Jr)/6)}function _r(Ct){this._context=Ct}_r.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:or(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(Ct,Ar){switch(Ct=+Ct,Ar=+Ar,this._point){case 0:this._point=1,this._line?this._context.lineTo(Ct,Ar):this._context.moveTo(Ct,Ar);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:or(this,Ct,Ar);break}this._x0=this._x1,this._x1=Ct,this._y0=this._y1,this._y1=Ar}};function Er(Ct){return new _r(Ct)}function ei(Ct){this._context=Ct}ei.prototype={areaStart:Xt,areaEnd:Xt,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);break}}},point:function(Ct,Ar){switch(Ct=+Ct,Ar=+Ar,this._point){case 0:this._point=1,this._x2=Ct,this._y2=Ar;break;case 1:this._point=2,this._x3=Ct,this._y3=Ar;break;case 2:this._point=3,this._x4=Ct,this._y4=Ar,this._context.moveTo((this._x0+4*this._x1+Ct)/6,(this._y0+4*this._y1+Ar)/6);break;default:or(this,Ct,Ar);break}this._x0=this._x1,this._x1=Ct,this._y0=this._y1,this._y1=Ar}};function qr(Ct){return new ei(Ct)}function jr(Ct){this._context=Ct}jr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(Ct,Ar){switch(Ct=+Ct,Ar=+Ar,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Jr=(this._x0+4*this._x1+Ct)/6,hi=(this._y0+4*this._y1+Ar)/6;this._line?this._context.lineTo(Jr,hi):this._context.moveTo(Jr,hi);break;case 3:this._point=4;default:or(this,Ct,Ar);break}this._x0=this._x1,this._x1=Ct,this._y0=this._y1,this._y1=Ar}};function gt(Ct){return new jr(Ct)}function Ge(Ct,Ar){this._basis=new _r(Ct),this._beta=Ar}Ge.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var Ct=this._x,Ar=this._y,Jr=Ct.length-1;if(Jr>0)for(var hi=Ct[0],hn=Ar[0],Sn=Ct[Jr]-hi,En=Ar[Jr]-hn,ki=-1,_n;++ki<=Jr;)_n=ki/Jr,this._basis.point(this._beta*Ct[ki]+(1-this._beta)*(hi+_n*Sn),this._beta*Ar[ki]+(1-this._beta)*(hn+_n*En));this._x=this._y=null,this._basis.lineEnd()},point:function(Ct,Ar){this._x.push(+Ct),this._y.push(+Ar)}};var Je=function Ct(Ar){function Jr(hi){return Ar===1?new _r(hi):new Ge(hi,Ar)}return Jr.beta=function(hi){return Ct(+hi)},Jr}(.85);function We(Ct,Ar,Jr){Ct._context.bezierCurveTo(Ct._x1+Ct._k*(Ct._x2-Ct._x0),Ct._y1+Ct._k*(Ct._y2-Ct._y0),Ct._x2+Ct._k*(Ct._x1-Ar),Ct._y2+Ct._k*(Ct._y1-Jr),Ct._x2,Ct._y2)}function et(Ct,Ar){this._context=Ct,this._k=(1-Ar)/6}et.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:We(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(Ct,Ar){switch(Ct=+Ct,Ar=+Ar,this._point){case 0:this._point=1,this._line?this._context.lineTo(Ct,Ar):this._context.moveTo(Ct,Ar);break;case 1:this._point=2,this._x1=Ct,this._y1=Ar;break;case 2:this._point=3;default:We(this,Ct,Ar);break}this._x0=this._x1,this._x1=this._x2,this._x2=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Ar}};var xt=function Ct(Ar){function Jr(hi){return new et(hi,Ar)}return Jr.tension=function(hi){return Ct(+hi)},Jr}(0);function At(Ct,Ar){this._context=Ct,this._k=(1-Ar)/6}At.prototype={areaStart:Xt,areaEnd:Xt,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);break}}},point:function(Ct,Ar){switch(Ct=+Ct,Ar=+Ar,this._point){case 0:this._point=1,this._x3=Ct,this._y3=Ar;break;case 1:this._point=2,this._context.moveTo(this._x4=Ct,this._y4=Ar);break;case 2:this._point=3,this._x5=Ct,this._y5=Ar;break;default:We(this,Ct,Ar);break}this._x0=this._x1,this._x1=this._x2,this._x2=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Ar}};var Kt=function Ct(Ar){function Jr(hi){return new At(hi,Ar)}return Jr.tension=function(hi){return Ct(+hi)},Jr}(0);function er(Ct,Ar){this._context=Ct,this._k=(1-Ar)/6}er.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(Ct,Ar){switch(Ct=+Ct,Ar=+Ar,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:We(this,Ct,Ar);break}this._x0=this._x1,this._x1=this._x2,this._x2=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Ar}};var Sr=function Ct(Ar){function Jr(hi){return new er(hi,Ar)}return Jr.tension=function(hi){return Ct(+hi)},Jr}(0);function Gr(Ct,Ar,Jr){var hi=Ct._x1,hn=Ct._y1,Sn=Ct._x2,En=Ct._y2;if(Ct._l01_a>c){var ki=2*Ct._l01_2a+3*Ct._l01_a*Ct._l12_a+Ct._l12_2a,_n=3*Ct._l01_a*(Ct._l01_a+Ct._l12_a);hi=(hi*ki-Ct._x0*Ct._l12_2a+Ct._x2*Ct._l01_2a)/_n,hn=(hn*ki-Ct._y0*Ct._l12_2a+Ct._y2*Ct._l01_2a)/_n}if(Ct._l23_a>c){var ya=2*Ct._l23_2a+3*Ct._l23_a*Ct._l12_a+Ct._l12_2a,ea=3*Ct._l23_a*(Ct._l23_a+Ct._l12_a);Sn=(Sn*ya+Ct._x1*Ct._l23_2a-Ar*Ct._l12_2a)/ea,En=(En*ya+Ct._y1*Ct._l23_2a-Jr*Ct._l12_2a)/ea}Ct._context.bezierCurveTo(hi,hn,Sn,En,Ct._x2,Ct._y2)}function Ir(Ct,Ar){this._context=Ct,this._alpha=Ar}Ir.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);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(Ct,Ar){if(Ct=+Ct,Ar=+Ar,this._point){var Jr=this._x2-Ct,hi=this._y2-Ar;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Jr*Jr+hi*hi,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(Ct,Ar):this._context.moveTo(Ct,Ar);break;case 1:this._point=2;break;case 2:this._point=3;default:Gr(this,Ct,Ar);break}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=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Ar}};var Yr=function Ct(Ar){function Jr(hi){return Ar?new Ir(hi,Ar):new et(hi,0)}return Jr.alpha=function(hi){return Ct(+hi)},Jr}(.5);function _i(Ct,Ar){this._context=Ct,this._alpha=Ar}_i.prototype={areaStart:Xt,areaEnd:Xt,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);break}}},point:function(Ct,Ar){if(Ct=+Ct,Ar=+Ar,this._point){var Jr=this._x2-Ct,hi=this._y2-Ar;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Jr*Jr+hi*hi,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=Ct,this._y3=Ar;break;case 1:this._point=2,this._context.moveTo(this._x4=Ct,this._y4=Ar);break;case 2:this._point=3,this._x5=Ct,this._y5=Ar;break;default:Gr(this,Ct,Ar);break}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=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Ar}};var Pi=function Ct(Ar){function Jr(hi){return Ar?new _i(hi,Ar):new At(hi,0)}return Jr.alpha=function(hi){return Ct(+hi)},Jr}(.5);function ai(Ct,Ar){this._context=Ct,this._alpha=Ar}ai.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(Ct,Ar){if(Ct=+Ct,Ar=+Ar,this._point){var Jr=this._x2-Ct,hi=this._y2-Ar;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Jr*Jr+hi*hi,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:Gr(this,Ct,Ar);break}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=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Ar}};var mi=function Ct(Ar){function Jr(hi){return Ar?new ai(hi,Ar):new er(hi,0)}return Jr.alpha=function(hi){return Ct(+hi)},Jr}(.5);function un(Ct){this._context=Ct}un.prototype={areaStart:Xt,areaEnd:Xt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(Ct,Ar){Ct=+Ct,Ar=+Ar,this._point?this._context.lineTo(Ct,Ar):(this._point=1,this._context.moveTo(Ct,Ar))}};function Fn(Ct){return new un(Ct)}function An(Ct){return Ct<0?-1:1}function Hn(Ct,Ar,Jr){var hi=Ct._x1-Ct._x0,hn=Ar-Ct._x1,Sn=(Ct._y1-Ct._y0)/(hi||hn<0&&-0),En=(Jr-Ct._y1)/(hn||hi<0&&-0),ki=(Sn*hn+En*hi)/(hi+hn);return(An(Sn)+An(En))*Math.min(Math.abs(Sn),Math.abs(En),.5*Math.abs(ki))||0}function Qn(Ct,Ar){var Jr=Ct._x1-Ct._x0;return Jr?(3*(Ct._y1-Ct._y0)/Jr-Ar)/2:Ar}function Vi(Ct,Ar,Jr){var hi=Ct._x0,hn=Ct._y0,Sn=Ct._x1,En=Ct._y1,ki=(Sn-hi)/3;Ct._context.bezierCurveTo(hi+ki,hn+ki*Ar,Sn-ki,En-ki*Jr,Sn,En)}function Kn(Ct){this._context=Ct}Kn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Vi(this,this._t0,Qn(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(Ct,Ar){var Jr=NaN;if(Ct=+Ct,Ar=+Ar,!(Ct===this._x1&&Ar===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(Ct,Ar):this._context.moveTo(Ct,Ar);break;case 1:this._point=2;break;case 2:this._point=3,Vi(this,Qn(this,Jr=Hn(this,Ct,Ar)),Jr);break;default:Vi(this,this._t0,Jr=Hn(this,Ct,Ar));break}this._x0=this._x1,this._x1=Ct,this._y0=this._y1,this._y1=Ar,this._t0=Jr}}};function Jn(Ct){this._context=new Gt(Ct)}(Jn.prototype=Object.create(Kn.prototype)).point=function(Ct,Ar){Kn.prototype.point.call(this,Ar,Ct)};function Gt(Ct){this._context=Ct}Gt.prototype={moveTo:function(Ct,Ar){this._context.moveTo(Ar,Ct)},closePath:function(){this._context.closePath()},lineTo:function(Ct,Ar){this._context.lineTo(Ar,Ct)},bezierCurveTo:function(Ct,Ar,Jr,hi,hn,Sn){this._context.bezierCurveTo(Ar,Ct,hi,Jr,Sn,hn)}};function wt(Ct){return new Kn(Ct)}function rr(Ct){return new Jn(Ct)}function ir(Ct){this._context=Ct}ir.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var Ct=this._x,Ar=this._y,Jr=Ct.length;if(Jr)if(this._line?this._context.lineTo(Ct[0],Ar[0]):this._context.moveTo(Ct[0],Ar[0]),Jr===2)this._context.lineTo(Ct[1],Ar[1]);else for(var hi=wr(Ct),hn=wr(Ar),Sn=0,En=1;En=0;--Ar)hn[Ar]=(En[Ar]-hn[Ar+1])/Sn[Ar];for(Sn[Jr-1]=(Ct[Jr]+hn[Jr-1])/2,Ar=0;Ar=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(Ct,Ar){switch(Ct=+Ct,Ar=+Ar,this._point){case 0:this._point=1,this._line?this._context.lineTo(Ct,Ar):this._context.moveTo(Ct,Ar);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,Ar),this._context.lineTo(Ct,Ar);else{var Jr=this._x*(1-this._t)+Ct*this._t;this._context.lineTo(Jr,this._y),this._context.lineTo(Jr,Ar)}break}}this._x=Ct,this._y=Ar}};function $r(Ct){return new ti(Ct,.5)}function Ri(Ct){return new ti(Ct,0)}function Zi(Ct){return new ti(Ct,1)}function en(Ct,Ar){if((En=Ct.length)>1)for(var Jr=1,hi,hn,Sn=Ct[Ar[0]],En,ki=Sn.length;Jr=0;)Jr[Ar]=Ar;return Jr}function yn(Ct,Ar){return Ct[Ar]}function Mn(){var Ct=r([]),Ar=fn,Jr=en,hi=yn;function hn(Sn){var En=Ct.apply(this,arguments),ki,_n=Sn.length,ya=En.length,ea=new Array(ya),Ma;for(ki=0;ki0){for(var Jr,hi,hn=0,Sn=Ct[0].length,En;hn0)for(var Jr,hi=0,hn,Sn,En,ki,_n,ya=Ct[Ar[0]].length;hi0?(hn[0]=En,hn[1]=En+=Sn):Sn<0?(hn[1]=ki,hn[0]=ki+=Sn):(hn[0]=0,hn[1]=Sn)}function ma(Ct,Ar){if((hn=Ct.length)>0){for(var Jr=0,hi=Ct[Ar[0]],hn,Sn=hi.length;Jr0)||!((Sn=(hn=Ct[Ar[0]]).length)>0))){for(var Jr=0,hi=1,hn,Sn,En;hiSn&&(Sn=hn,Jr=Ar);return Jr}function da(Ct){var Ar=Ct.map(jn);return fn(Ct).sort(function(Jr,hi){return Ar[Jr]-Ar[hi]})}function jn(Ct){for(var Ar=0,Jr=-1,hi=Ct.length,hn;++Jr{(function(e,t){typeof C7==\"object\"&&typeof KWe!=\"undefined\"?t(C7,hk(),T7(),$J()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(C7,function(e,t,r,n){\"use strict\";function i(g){return g.target.depth}function a(g){return g.depth}function o(g,P){return P-1-g.height}function s(g,P){return g.sourceLinks.length?g.depth:P-1}function l(g){return g.targetLinks.length?g.depth:g.sourceLinks.length?t.min(g.sourceLinks,i)-1:0}function u(g){return function(){return g}}function c(g,P){return h(g.source,P.source)||g.index-P.index}function f(g,P){return h(g.target,P.target)||g.index-P.index}function h(g,P){return g.y0-P.y0}function d(g){return g.value}function v(g){return(g.y0+g.y1)/2}function m(g){return v(g.source)*g.value}function b(g){return v(g.target)*g.value}function p(g){return g.index}function k(g){return g.nodes}function M(g){return g.links}function T(g,P){var E=g.get(P);if(!E)throw new Error(\"missing: \"+P);return E}var L=function(){var g=0,P=0,E=1,z=1,q=24,U=8,G=p,Z=s,j=k,N=M,H=32,re=2/3;function oe(){var Se={nodes:j.apply(null,arguments),links:N.apply(null,arguments)};return _e(Se),ke(Se),Ce(Se),ge(Se,H),ie(Se),Se}oe.update=function(Se){return ie(Se),Se},oe.nodeId=function(Se){return arguments.length?(G=typeof Se==\"function\"?Se:u(Se),oe):G},oe.nodeAlign=function(Se){return arguments.length?(Z=typeof Se==\"function\"?Se:u(Se),oe):Z},oe.nodeWidth=function(Se){return arguments.length?(q=+Se,oe):q},oe.nodePadding=function(Se){return arguments.length?(U=+Se,oe):U},oe.nodes=function(Se){return arguments.length?(j=typeof Se==\"function\"?Se:u(Se),oe):j},oe.links=function(Se){return arguments.length?(N=typeof Se==\"function\"?Se:u(Se),oe):N},oe.size=function(Se){return arguments.length?(g=P=0,E=+Se[0],z=+Se[1],oe):[E-g,z-P]},oe.extent=function(Se){return arguments.length?(g=+Se[0][0],E=+Se[1][0],P=+Se[0][1],z=+Se[1][1],oe):[[g,P],[E,z]]},oe.iterations=function(Se){return arguments.length?(H=+Se,oe):H};function _e(Se){Se.nodes.forEach(function(we,De){we.index=De,we.sourceLinks=[],we.targetLinks=[]});var Ee=r.map(Se.nodes,G);Se.links.forEach(function(we,De){we.index=De;var Le=we.source,me=we.target;typeof Le!=\"object\"&&(Le=we.source=T(Ee,Le)),typeof me!=\"object\"&&(me=we.target=T(Ee,me)),Le.sourceLinks.push(we),me.targetLinks.push(we)})}function ke(Se){Se.nodes.forEach(function(Ee){Ee.value=Math.max(t.sum(Ee.sourceLinks,d),t.sum(Ee.targetLinks,d))})}function Ce(Se){var Ee,we,De;for(Ee=Se.nodes,we=[],De=0;Ee.length;++De,Ee=we,we=[])Ee.forEach(function(me){me.depth=De,me.sourceLinks.forEach(function(Pe){we.indexOf(Pe.target)<0&&we.push(Pe.target)})});for(Ee=Se.nodes,we=[],De=0;Ee.length;++De,Ee=we,we=[])Ee.forEach(function(me){me.height=De,me.targetLinks.forEach(function(Pe){we.indexOf(Pe.source)<0&&we.push(Pe.source)})});var Le=(E-g-q)/(De-1);Se.nodes.forEach(function(me){me.x1=(me.x0=g+Math.max(0,Math.min(De-1,Math.floor(Z.call(null,me,De))))*Le)+q})}function ge(Se){var Ee=r.nest().key(function(He){return He.x0}).sortKeys(t.ascending).entries(Se.nodes).map(function(He){return He.values});Le(),ce();for(var we=1,De=H;De>0;--De)Pe(we*=.99),ce(),me(we),ce();function Le(){var He=t.max(Ee,function(Vt){return Vt.length}),lt=re*(z-P)/(He-1);U>lt&&(U=lt);var mt=t.min(Ee,function(Vt){return(z-P-(Vt.length-1)*U)/t.sum(Vt,d)});Ee.forEach(function(Vt){Vt.forEach(function(st,ct){st.y1=(st.y0=ct)+st.value*mt})}),Se.links.forEach(function(Vt){Vt.width=Vt.value*mt})}function me(He){Ee.forEach(function(lt){lt.forEach(function(mt){if(mt.targetLinks.length){var Vt=(t.sum(mt.targetLinks,m)/t.sum(mt.targetLinks,d)-v(mt))*He;mt.y0+=Vt,mt.y1+=Vt}})})}function Pe(He){Ee.slice().reverse().forEach(function(lt){lt.forEach(function(mt){if(mt.sourceLinks.length){var Vt=(t.sum(mt.sourceLinks,b)/t.sum(mt.sourceLinks,d)-v(mt))*He;mt.y0+=Vt,mt.y1+=Vt}})})}function ce(){Ee.forEach(function(He){var lt,mt,Vt=P,st=He.length,ct;for(He.sort(h),ct=0;ct0&&(lt.y0+=mt,lt.y1+=mt),Vt=lt.y1+U;if(mt=Vt-U-z,mt>0)for(Vt=lt.y0-=mt,lt.y1-=mt,ct=st-2;ct>=0;--ct)lt=He[ct],mt=lt.y1+U-Vt,mt>0&&(lt.y0-=mt,lt.y1-=mt),Vt=lt.y0})}}function ie(Se){Se.nodes.forEach(function(Ee){Ee.sourceLinks.sort(f),Ee.targetLinks.sort(c)}),Se.nodes.forEach(function(Ee){var we=Ee.y0,De=we;Ee.sourceLinks.forEach(function(Le){Le.y0=we+Le.width/2,we+=Le.width}),Ee.targetLinks.forEach(function(Le){Le.y1=De+Le.width/2,De+=Le.width})})}return oe};function x(g){return[g.source.x1,g.y0]}function C(g){return[g.target.x0,g.y1]}var S=function(){return n.linkHorizontal().source(x).target(C)};e.sankey=L,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=S,Object.defineProperty(e,\"__esModule\",{value:!0})})});var QWe=ye((_2r,$We)=>{var QZt=JJ();$We.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(M){a[M]=!1,o.hasOwnProperty(M)&&Object.keys(o[M]).forEach(function(T){delete o[M][T],a[T]&&u(T)})}function c(M){var T=!1;i.push(M),a[M]=!0;var L,x;for(L=0;L=M})}function d(M){h(M);for(var T=t,L=QZt(T),x=L.components.filter(function(q){return q.length>1}),C=1/0,S,g=0;g{(function(e,t){typeof L7==\"object\"&&typeof eXe!=\"undefined\"?t(L7,hk(),T7(),$J(),QWe()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(L7,function(e,t,r,n,i){\"use strict\";i=i&&i.hasOwnProperty(\"default\")?i.default:i;function a(st){return st.target.depth}function o(st){return st.depth}function s(st,ct){return ct-1-st.height}function l(st,ct){return st.sourceLinks.length?st.depth:ct-1}function u(st){return st.targetLinks.length?st.depth:st.sourceLinks.length?t.min(st.sourceLinks,a)-1:0}function c(st){return function(){return st}}var f=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(st){return typeof st}:function(st){return st&&typeof Symbol==\"function\"&&st.constructor===Symbol&&st!==Symbol.prototype?\"symbol\":typeof st};function h(st,ct){return v(st.source,ct.source)||st.index-ct.index}function d(st,ct){return v(st.target,ct.target)||st.index-ct.index}function v(st,ct){return st.partOfCycle===ct.partOfCycle?st.y0-ct.y0:st.circularLinkType===\"top\"||ct.circularLinkType===\"bottom\"?-1:1}function m(st){return st.value}function b(st){return(st.y0+st.y1)/2}function p(st){return b(st.source)}function k(st){return b(st.target)}function M(st){return st.index}function T(st){return st.nodes}function L(st){return st.links}function x(st,ct){var Qt=st.get(ct);if(!Qt)throw new Error(\"missing: \"+ct);return Qt}function C(st,ct){return ct(st)}var S=25,g=10,P=.3;function E(){var st=0,ct=0,Qt=1,Ht=1,nr=24,tt,je=M,Ue=l,Ae=T,rt=L,St=32,Tt=2,dt,Et=null;function pt(){var gt={nodes:Ae.apply(null,arguments),links:rt.apply(null,arguments)};Xt(gt),z(gt,je,Et),or(gt),ei(gt),q(gt,je),qr(gt,St,je),jr(gt);for(var Ge=4,Je=0;Je0?Ge+S+g:Ge,Je=Je>0?Je+S+g:Je,We=We>0?We+S+g:We,et=et>0?et+S+g:et,{top:Ge,bottom:Je,left:et,right:We}}function Er(gt,Ge){var Je=t.max(gt.nodes,function(Sr){return Sr.column}),We=Qt-st,et=Ht-ct,xt=We+Ge.right+Ge.left,At=et+Ge.top+Ge.bottom,Kt=We/xt,er=et/At;return st=st*Kt+Ge.left,Qt=Ge.right==0?Qt:Qt*Kt,ct=ct*er+Ge.top,Ht=Ht*er,gt.nodes.forEach(function(Sr){Sr.x0=st+Sr.column*((Qt-st-nr)/Je),Sr.x1=Sr.x0+nr}),er}function ei(gt){var Ge,Je,We;for(Ge=gt.nodes,Je=[],We=0;Ge.length;++We,Ge=Je,Je=[])Ge.forEach(function(et){et.depth=We,et.sourceLinks.forEach(function(xt){Je.indexOf(xt.target)<0&&!xt.circular&&Je.push(xt.target)})});for(Ge=gt.nodes,Je=[],We=0;Ge.length;++We,Ge=Je,Je=[])Ge.forEach(function(et){et.height=We,et.targetLinks.forEach(function(xt){Je.indexOf(xt.source)<0&&!xt.circular&&Je.push(xt.source)})});gt.nodes.forEach(function(et){et.column=Math.floor(Ue.call(null,et,We))})}function qr(gt,Ge,Je){var We=r.nest().key(function(Sr){return Sr.column}).sortKeys(t.ascending).entries(gt.nodes).map(function(Sr){return Sr.values});At(Je),er();for(var et=1,xt=Ge;xt>0;--xt)Kt(et*=.99,Je),er();function At(Sr){if(dt){var Gr=1/0;We.forEach(function(Pi){var ai=Ht*dt/(Pi.length+1);Gr=ai0))if(Pi==0&&_i==1)mi=ai.y1-ai.y0,ai.y0=Ht/2-mi/2,ai.y1=Ht/2+mi/2;else if(Pi==Ir-1&&_i==1)mi=ai.y1-ai.y0,ai.y0=Ht/2-mi/2,ai.y1=Ht/2+mi/2;else{var un=0,Fn=t.mean(ai.sourceLinks,k),An=t.mean(ai.targetLinks,p);Fn&&An?un=(Fn+An)/2:un=Fn||An;var Hn=(un-b(ai))*Sr;ai.y0+=Hn,ai.y1+=Hn}})})}function er(){We.forEach(function(Sr){var Gr,Ir,Yr=ct,_i=Sr.length,Pi;for(Sr.sort(v),Pi=0;Pi<_i;++Pi)Gr=Sr[Pi],Ir=Yr-Gr.y0,Ir>0&&(Gr.y0+=Ir,Gr.y1+=Ir),Yr=Gr.y1+tt;if(Ir=Yr-tt-Ht,Ir>0)for(Yr=Gr.y0-=Ir,Gr.y1-=Ir,Pi=_i-2;Pi>=0;--Pi)Gr=Sr[Pi],Ir=Gr.y1+tt-Yr,Ir>0&&(Gr.y0-=Ir,Gr.y1-=Ir),Yr=Gr.y0})}}function jr(gt){gt.nodes.forEach(function(Ge){Ge.sourceLinks.sort(d),Ge.targetLinks.sort(h)}),gt.nodes.forEach(function(Ge){var Je=Ge.y0,We=Je,et=Ge.y1,xt=et;Ge.sourceLinks.forEach(function(At){At.circular?(At.y0=et-At.width/2,et=et-At.width):(At.y0=Je+At.width/2,Je+=At.width)}),Ge.targetLinks.forEach(function(At){At.circular?(At.y1=xt-At.width/2,xt=xt-At.width):(At.y1=We+At.width/2,We+=At.width)})})}return pt}function z(st,ct,Qt){var Ht=0;if(Qt===null){for(var nr=[],tt=0;ttct.source.column)}function Z(st,ct){var Qt=0;st.sourceLinks.forEach(function(nr){Qt=nr.circular&&!mt(nr,ct)?Qt+1:Qt});var Ht=0;return st.targetLinks.forEach(function(nr){Ht=nr.circular&&!mt(nr,ct)?Ht+1:Ht}),Qt+Ht}function j(st){var ct=st.source.sourceLinks,Qt=0;ct.forEach(function(tt){Qt=tt.circular?Qt+1:Qt});var Ht=st.target.targetLinks,nr=0;return Ht.forEach(function(tt){nr=tt.circular?nr+1:nr}),!(Qt>1||nr>1)}function N(st,ct,Qt){return st.sort(oe),st.forEach(function(Ht,nr){var tt=0;if(mt(Ht,Qt)&&j(Ht))Ht.circularPathData.verticalBuffer=tt+Ht.width/2;else{var je=0;for(je;jett?Ue:tt}Ht.circularPathData.verticalBuffer=tt+Ht.width/2}}),st}function H(st,ct,Qt,Ht){var nr=5,tt=t.min(st.links,function(Ae){return Ae.source.y0});st.links.forEach(function(Ae){Ae.circular&&(Ae.circularPathData={})});var je=st.links.filter(function(Ae){return Ae.circularLinkType==\"top\"});N(je,ct,Ht);var Ue=st.links.filter(function(Ae){return Ae.circularLinkType==\"bottom\"});N(Ue,ct,Ht),st.links.forEach(function(Ae){if(Ae.circular){if(Ae.circularPathData.arcRadius=Ae.width+g,Ae.circularPathData.leftNodeBuffer=nr,Ae.circularPathData.rightNodeBuffer=nr,Ae.circularPathData.sourceWidth=Ae.source.x1-Ae.source.x0,Ae.circularPathData.sourceX=Ae.source.x0+Ae.circularPathData.sourceWidth,Ae.circularPathData.targetX=Ae.target.x0,Ae.circularPathData.sourceY=Ae.y0,Ae.circularPathData.targetY=Ae.y1,mt(Ae,Ht)&&j(Ae))Ae.circularPathData.leftSmallArcRadius=g+Ae.width/2,Ae.circularPathData.leftLargeArcRadius=g+Ae.width/2,Ae.circularPathData.rightSmallArcRadius=g+Ae.width/2,Ae.circularPathData.rightLargeArcRadius=g+Ae.width/2,Ae.circularLinkType==\"bottom\"?(Ae.circularPathData.verticalFullExtent=Ae.source.y1+S+Ae.circularPathData.verticalBuffer,Ae.circularPathData.verticalLeftInnerExtent=Ae.circularPathData.verticalFullExtent-Ae.circularPathData.leftLargeArcRadius,Ae.circularPathData.verticalRightInnerExtent=Ae.circularPathData.verticalFullExtent-Ae.circularPathData.rightLargeArcRadius):(Ae.circularPathData.verticalFullExtent=Ae.source.y0-S-Ae.circularPathData.verticalBuffer,Ae.circularPathData.verticalLeftInnerExtent=Ae.circularPathData.verticalFullExtent+Ae.circularPathData.leftLargeArcRadius,Ae.circularPathData.verticalRightInnerExtent=Ae.circularPathData.verticalFullExtent+Ae.circularPathData.rightLargeArcRadius);else{var rt=Ae.source.column,St=Ae.circularLinkType,Tt=st.links.filter(function(pt){return pt.source.column==rt&&pt.circularLinkType==St});Ae.circularLinkType==\"bottom\"?Tt.sort(ke):Tt.sort(_e);var dt=0;Tt.forEach(function(pt,Xt){pt.circularLinkID==Ae.circularLinkID&&(Ae.circularPathData.leftSmallArcRadius=g+Ae.width/2+dt,Ae.circularPathData.leftLargeArcRadius=g+Ae.width/2+Xt*ct+dt),dt=dt+pt.width}),rt=Ae.target.column,Tt=st.links.filter(function(pt){return pt.target.column==rt&&pt.circularLinkType==St}),Ae.circularLinkType==\"bottom\"?Tt.sort(ge):Tt.sort(Ce),dt=0,Tt.forEach(function(pt,Xt){pt.circularLinkID==Ae.circularLinkID&&(Ae.circularPathData.rightSmallArcRadius=g+Ae.width/2+dt,Ae.circularPathData.rightLargeArcRadius=g+Ae.width/2+Xt*ct+dt),dt=dt+pt.width}),Ae.circularLinkType==\"bottom\"?(Ae.circularPathData.verticalFullExtent=Math.max(Qt,Ae.source.y1,Ae.target.y1)+S+Ae.circularPathData.verticalBuffer,Ae.circularPathData.verticalLeftInnerExtent=Ae.circularPathData.verticalFullExtent-Ae.circularPathData.leftLargeArcRadius,Ae.circularPathData.verticalRightInnerExtent=Ae.circularPathData.verticalFullExtent-Ae.circularPathData.rightLargeArcRadius):(Ae.circularPathData.verticalFullExtent=tt-S-Ae.circularPathData.verticalBuffer,Ae.circularPathData.verticalLeftInnerExtent=Ae.circularPathData.verticalFullExtent+Ae.circularPathData.leftLargeArcRadius,Ae.circularPathData.verticalRightInnerExtent=Ae.circularPathData.verticalFullExtent+Ae.circularPathData.rightLargeArcRadius)}Ae.circularPathData.leftInnerExtent=Ae.circularPathData.sourceX+Ae.circularPathData.leftNodeBuffer,Ae.circularPathData.rightInnerExtent=Ae.circularPathData.targetX-Ae.circularPathData.rightNodeBuffer,Ae.circularPathData.leftFullExtent=Ae.circularPathData.sourceX+Ae.circularPathData.leftLargeArcRadius+Ae.circularPathData.leftNodeBuffer,Ae.circularPathData.rightFullExtent=Ae.circularPathData.targetX-Ae.circularPathData.rightLargeArcRadius-Ae.circularPathData.rightNodeBuffer}if(Ae.circular)Ae.path=re(Ae);else{var Et=n.linkHorizontal().source(function(pt){var Xt=pt.source.x0+(pt.source.x1-pt.source.x0),or=pt.y0;return[Xt,or]}).target(function(pt){var Xt=pt.target.x0,or=pt.y1;return[Xt,or]});Ae.path=Et(Ae)}})}function re(st){var ct=\"\";return st.circularLinkType==\"top\"?ct=\"M\"+st.circularPathData.sourceX+\" \"+st.circularPathData.sourceY+\" L\"+st.circularPathData.leftInnerExtent+\" \"+st.circularPathData.sourceY+\" A\"+st.circularPathData.leftLargeArcRadius+\" \"+st.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+st.circularPathData.leftFullExtent+\" \"+(st.circularPathData.sourceY-st.circularPathData.leftSmallArcRadius)+\" L\"+st.circularPathData.leftFullExtent+\" \"+st.circularPathData.verticalLeftInnerExtent+\" A\"+st.circularPathData.leftLargeArcRadius+\" \"+st.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+st.circularPathData.leftInnerExtent+\" \"+st.circularPathData.verticalFullExtent+\" L\"+st.circularPathData.rightInnerExtent+\" \"+st.circularPathData.verticalFullExtent+\" A\"+st.circularPathData.rightLargeArcRadius+\" \"+st.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+st.circularPathData.rightFullExtent+\" \"+st.circularPathData.verticalRightInnerExtent+\" L\"+st.circularPathData.rightFullExtent+\" \"+(st.circularPathData.targetY-st.circularPathData.rightSmallArcRadius)+\" A\"+st.circularPathData.rightLargeArcRadius+\" \"+st.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+st.circularPathData.rightInnerExtent+\" \"+st.circularPathData.targetY+\" L\"+st.circularPathData.targetX+\" \"+st.circularPathData.targetY:ct=\"M\"+st.circularPathData.sourceX+\" \"+st.circularPathData.sourceY+\" L\"+st.circularPathData.leftInnerExtent+\" \"+st.circularPathData.sourceY+\" A\"+st.circularPathData.leftLargeArcRadius+\" \"+st.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+st.circularPathData.leftFullExtent+\" \"+(st.circularPathData.sourceY+st.circularPathData.leftSmallArcRadius)+\" L\"+st.circularPathData.leftFullExtent+\" \"+st.circularPathData.verticalLeftInnerExtent+\" A\"+st.circularPathData.leftLargeArcRadius+\" \"+st.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+st.circularPathData.leftInnerExtent+\" \"+st.circularPathData.verticalFullExtent+\" L\"+st.circularPathData.rightInnerExtent+\" \"+st.circularPathData.verticalFullExtent+\" A\"+st.circularPathData.rightLargeArcRadius+\" \"+st.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+st.circularPathData.rightFullExtent+\" \"+st.circularPathData.verticalRightInnerExtent+\" L\"+st.circularPathData.rightFullExtent+\" \"+(st.circularPathData.targetY+st.circularPathData.rightSmallArcRadius)+\" A\"+st.circularPathData.rightLargeArcRadius+\" \"+st.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+st.circularPathData.rightInnerExtent+\" \"+st.circularPathData.targetY+\" L\"+st.circularPathData.targetX+\" \"+st.circularPathData.targetY,ct}function oe(st,ct){return ie(st)==ie(ct)?st.circularLinkType==\"bottom\"?ke(st,ct):_e(st,ct):ie(ct)-ie(st)}function _e(st,ct){return st.y0-ct.y0}function ke(st,ct){return ct.y0-st.y0}function Ce(st,ct){return st.y1-ct.y1}function ge(st,ct){return ct.y1-st.y1}function ie(st){return st.target.column-st.source.column}function Se(st){return st.target.x0-st.source.x1}function Ee(st,ct){var Qt=U(st),Ht=Se(ct)/Math.tan(Qt),nr=lt(st)==\"up\"?st.y1+Ht:st.y1-Ht;return nr}function we(st,ct){var Qt=U(st),Ht=Se(ct)/Math.tan(Qt),nr=lt(st)==\"up\"?st.y1-Ht:st.y1+Ht;return nr}function De(st,ct,Qt,Ht){st.links.forEach(function(nr){if(!nr.circular&&nr.target.column-nr.source.column>1){var tt=nr.source.column+1,je=nr.target.column-1,Ue=1,Ae=je-tt+1;for(Ue=1;tt<=je;tt++,Ue++)st.nodes.forEach(function(rt){if(rt.column==tt){var St=Ue/(Ae+1),Tt=Math.pow(1-St,3),dt=3*St*Math.pow(1-St,2),Et=3*Math.pow(St,2)*(1-St),pt=Math.pow(St,3),Xt=Tt*nr.y0+dt*nr.y0+Et*nr.y1+pt*nr.y1,or=Xt-nr.width/2,_r=Xt+nr.width/2,Er;or>rt.y0&&orrt.y0&&_rrt.y1&&me(ei,Er,ct,Qt)})):orrt.y1&&(Er=_r-rt.y0+10,rt=me(rt,Er,ct,Qt),st.nodes.forEach(function(ei){C(ei,Ht)==C(rt,Ht)||ei.column!=rt.column||ei.y0rt.y1&&me(ei,Er,ct,Qt)}))}})}})}function Le(st,ct){return st.y0>ct.y0&&st.y0ct.y0&&st.y1ct.y1}function me(st,ct,Qt,Ht){return st.y0+ct>=Qt&&st.y1+ct<=Ht&&(st.y0=st.y0+ct,st.y1=st.y1+ct,st.targetLinks.forEach(function(nr){nr.y1=nr.y1+ct}),st.sourceLinks.forEach(function(nr){nr.y0=nr.y0+ct})),st}function Pe(st,ct,Qt,Ht){st.nodes.forEach(function(nr){Ht&&nr.y+(nr.y1-nr.y0)>ct&&(nr.y=nr.y-(nr.y+(nr.y1-nr.y0)-ct));var tt=st.links.filter(function(Ae){return C(Ae.source,Qt)==C(nr,Qt)}),je=tt.length;je>1&&tt.sort(function(Ae,rt){if(!Ae.circular&&!rt.circular){if(Ae.target.column==rt.target.column)return Ae.y1-rt.y1;if(He(Ae,rt)){if(Ae.target.column>rt.target.column){var St=we(rt,Ae);return Ae.y1-St}if(rt.target.column>Ae.target.column){var Tt=we(Ae,rt);return Tt-rt.y1}}else return Ae.y1-rt.y1}if(Ae.circular&&!rt.circular)return Ae.circularLinkType==\"top\"?-1:1;if(rt.circular&&!Ae.circular)return rt.circularLinkType==\"top\"?1:-1;if(Ae.circular&&rt.circular)return Ae.circularLinkType===rt.circularLinkType&&Ae.circularLinkType==\"top\"?Ae.target.column===rt.target.column?Ae.target.y1-rt.target.y1:rt.target.column-Ae.target.column:Ae.circularLinkType===rt.circularLinkType&&Ae.circularLinkType==\"bottom\"?Ae.target.column===rt.target.column?rt.target.y1-Ae.target.y1:Ae.target.column-rt.target.column:Ae.circularLinkType==\"top\"?-1:1});var Ue=nr.y0;tt.forEach(function(Ae){Ae.y0=Ue+Ae.width/2,Ue=Ue+Ae.width}),tt.forEach(function(Ae,rt){if(Ae.circularLinkType==\"bottom\"){var St=rt+1,Tt=0;for(St;St1&&nr.sort(function(Ue,Ae){if(!Ue.circular&&!Ae.circular){if(Ue.source.column==Ae.source.column)return Ue.y0-Ae.y0;if(He(Ue,Ae)){if(Ae.source.column0?\"up\":\"down\"}function mt(st,ct){return C(st.source,ct)==C(st.target,ct)}function Vt(st,ct,Qt){var Ht=st.nodes,nr=st.links,tt=!1,je=!1;if(nr.forEach(function(dt){dt.circularLinkType==\"top\"?tt=!0:dt.circularLinkType==\"bottom\"&&(je=!0)}),tt==!1||je==!1){var Ue=t.min(Ht,function(dt){return dt.y0}),Ae=t.max(Ht,function(dt){return dt.y1}),rt=Ae-Ue,St=Qt-ct,Tt=St/rt;Ht.forEach(function(dt){var Et=(dt.y1-dt.y0)*Tt;dt.y0=(dt.y0-Ue)*Tt,dt.y1=dt.y0+Et}),nr.forEach(function(dt){dt.y0=(dt.y0-Ue)*Tt,dt.y1=(dt.y1-Ue)*Tt,dt.width=dt.width*Tt})}}e.sankeyCircular=E,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,\"__esModule\",{value:!0})})});var QJ=ye((x2r,rXe)=>{\"use strict\";rXe.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"linear\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeLabel:\"node-label\"}}});var pXe=ye((b2r,vXe)=>{\"use strict\";var iXe=WWe(),eYt=(H2(),pb(G2)).interpolateNumber,q5=qa(),aC=JWe(),tYt=tXe(),Nu=QJ(),O5=fd(),mw=ka(),rYt=So(),w1=Pr(),r$=w1.strTranslate,iYt=w1.strRotate,i$=iy(),oC=i$.keyFun,P7=i$.repeat,uXe=i$.unwrap,nXe=Zl(),nYt=Oa(),cXe=Dh(),aYt=cXe.CAP_SHIFT,oYt=cXe.LINE_SPACING,sYt=3;function lYt(e,t,r){var n=uXe(t),i=n.trace,a=i.domain,o=i.orientation===\"h\",s=i.node.pad,l=i.node.thickness,u={justify:aC.sankeyJustify,left:aC.sankeyLeft,right:aC.sankeyRight,center:aC.sankeyCenter}[i.node.align],c=e.width*(a.x[1]-a.x[0]),f=e.height*(a.y[1]-a.y[0]),h=n._nodes,d=n._links,v=n.circular,m;v?m=tYt.sankeyCircular().circularLinkGap(0):m=aC.sankey(),m.iterations(Nu.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(U){return U.pointNumber}).nodeAlign(u).nodes(h).links(d);var b=m();m.nodePadding()=N||(j=N-Z.y0,j>1e-6&&(Z.y0+=j,Z.y1+=j)),N=Z.y1+s})}function P(U){var G=U.map(function(_e,ke){return{x0:_e.x0,index:ke}}).sort(function(_e,ke){return _e.x0-ke.x0}),Z=[],j=-1,N,H=-1/0,re;for(p=0;pH+l&&(j+=1,N=oe.x0),H=oe.x0,Z[j]||(Z[j]=[]),Z[j].push(oe),re=N-oe.x0,oe.x0+=re,oe.x1+=re}return Z}if(i.node.x.length&&i.node.y.length){for(p=0;p0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"):(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-n-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent-t-n)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY+n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"),r}function n$(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return cYt(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=eYt(a,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,d=r.link.y1+r.link.width/2,v=\"M\"+a+\",\"+c,m=\"C\"+l+\",\"+c+\" \"+u+\",\"+h+\" \"+o+\",\"+h,b=\"C\"+u+\",\"+d+\" \"+l+\",\"+f+\" \"+a+\",\"+f,p=n>0?\"L\"+(o+n)+\",\"+(h+r.link.width/2):\"\";return p+=\"L\"+o+\",\"+d,v+m+p+b+\"Z\"}return t}function fYt(e,t){var r=O5(t.color),n=Nu.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s=\"node_\"+t.pointNumber;return t.group&&(s=w1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:mw.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join(\"_\"),interactionState:e.interactionState,figure:e}}function t$(e){e.attr(\"transform\",function(t){return r$(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function hYt(e){e.call(t$)}function fXe(e,t){e.call(hYt),t.attr(\"d\",n$())}function aXe(e){e.attr(\"width\",function(t){return t.node.x1-t.node.x0}).attr(\"height\",function(t){return t.visibleHeight})}function e$(e){return e.link.width>1||e.linkLineWidth>0}function oXe(e){var t=r$(e.translateX,e.translateY);return t+(e.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function sXe(e,t,r){e.on(\".basic\",null).on(\"mouseover.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on(\"mousemove.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on(\"mouseout.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on(\"click.basic\",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function dYt(e,t,r,n){var i=q5.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on(\"dragstart\",function(a){if(a.arrangement!==\"fixed\"&&(w1.ensureSingle(n._fullLayout._infolayer,\"g\",\"dragcover\",function(s){n._fullLayout._dragCover=s}),w1.raiseToTop(this),a.interactionState.dragInProgress=a.node,lXe(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement===\"snap\")){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):vYt(e,o,a,n),pYt(e,t,a,o,n)}}).on(\"drag\",function(a){if(a.arrangement!==\"fixed\"){var o=q5.event.x,s=q5.event.y;a.arrangement===\"snap\"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement===\"freeform\"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),lXe(a.node),a.arrangement!==\"snap\"&&(a.sankey.update(a.graph),fXe(e.filter(dXe(a)),t))}}).on(\"dragend\",function(a){if(a.arrangement!==\"fixed\"){a.interactionState.dragInProgress=!1;for(var o=0;o0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,hXe(r,i)}})}function gYt(e,t,r,n){return function(){for(var a=0,o=0;o0&&n.forceLayouts[t].alpha(0)}}function hXe(e,t){for(var r=[],n=[],i=0;i{\"use strict\";var Zv=qa(),o$=Pr(),I7=o$.numberFormat,xYt=pXe(),B5=vf(),bYt=ka(),Dx=QJ().cn,sC=o$._;function gXe(e){return e!==\"\"}function N5(e,t){return e.filter(function(r){return r.key===t.traceId})}function mXe(e,t){Zv.select(e).select(\"path\").style(\"fill-opacity\",t),Zv.select(e).select(\"rect\").style(\"fill-opacity\",t)}function yXe(e){Zv.select(e).select(\"text.name\").style(\"fill\",\"black\")}function _Xe(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function xXe(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function bXe(e,t,r){t&&r&&N5(r,t).selectAll(\".\"+Dx.sankeyLink).filter(_Xe(t)).call(wXe.bind(0,t,r,!1))}function a$(e,t,r){t&&r&&N5(r,t).selectAll(\".\"+Dx.sankeyLink).filter(_Xe(t)).call(TXe.bind(0,t,r,!1))}function wXe(e,t,r,n){n.style(\"fill\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style(\"fill-opacity\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&N5(t,e).selectAll(\".\"+Dx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style(\"fill-opacity\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&N5(t,e).selectAll(\".\"+Dx.sankeyNode).filter(xXe(e)).call(bXe)}function TXe(e,t,r,n){n.style(\"fill\",function(i){return i.tinyColorHue}).style(\"fill-opacity\",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&N5(t,e).selectAll(\".\"+Dx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){return o.tinyColorHue}).style(\"fill-opacity\",function(o){return o.tinyColorAlpha})}),r&&N5(t,e).selectAll(Dx.sankeyNode).filter(xXe(e)).call(a$)}function kf(e,t){var r=e.hoverlabel||{},n=o$.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}AXe.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o\"),color:kf(C,\"bgcolor\")||bYt.addOpacity(z.color,1),borderColor:kf(C,\"bordercolor\"),fontFamily:kf(C,\"font.family\"),fontSize:kf(C,\"font.size\"),fontColor:kf(C,\"font.color\"),fontWeight:kf(C,\"font.weight\"),fontStyle:kf(C,\"font.style\"),fontVariant:kf(C,\"font.variant\"),fontTextcase:kf(C,\"font.textcase\"),fontLineposition:kf(C,\"font.lineposition\"),fontShadow:kf(C,\"font.shadow\"),nameLength:kf(C,\"namelength\"),textAlign:kf(C,\"align\"),idealAlign:Zv.event.x\"),color:kf(C,\"bgcolor\")||x.tinyColorHue,borderColor:kf(C,\"bordercolor\"),fontFamily:kf(C,\"font.family\"),fontSize:kf(C,\"font.size\"),fontColor:kf(C,\"font.color\"),fontWeight:kf(C,\"font.weight\"),fontStyle:kf(C,\"font.style\"),fontVariant:kf(C,\"font.variant\"),fontTextcase:kf(C,\"font.textcase\"),fontLineposition:kf(C,\"font.lineposition\"),fontShadow:kf(C,\"font.shadow\"),nameLength:kf(C,\"namelength\"),textAlign:kf(C,\"align\"),idealAlign:\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:U,eventData:[x.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});mXe(j,.85),yXe(j)}}},T=function(L,x,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(a$,x,C),x.node.trace.node.hoverinfo!==\"skip\"&&(x.node.fullData=x.node.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[x.node]})),B5.loneUnhover(n._hoverlayer.node()))};xYt(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:m,unhover:b,select:l},nodeEvents:{hover:k,follow:M,unhover:T,select:p}})}});var SXe=ye(yw=>{\"use strict\";var wYt=mc().overrideAll,TYt=Id().getModuleCalcData,AYt=s$(),SYt=W1(),MYt=Eg(),EYt=yv(),kYt=qf().prepSelect,l$=Pr(),CYt=Oa(),R7=\"sankey\";yw.name=R7;yw.baseLayoutAttrOverrides=wYt({hoverlabel:SYt.hoverlabel},\"plot\",\"nested\");yw.plot=function(e){var t=TYt(e.calcdata,R7)[0];AYt(e,t),yw.updateFx(e)};yw.clean=function(e,t,r,n){var i=n._has&&n._has(R7),a=t._has&&t._has(R7);i&&!a&&(n._paperdiv.selectAll(\".sankey\").remove(),n._paperdiv.selectAll(\".bgsankey\").remove())};yw.updateFx=function(e){for(var t=0;t{\"use strict\";MXe.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s{\"use strict\";kXe.exports={attributes:KJ(),supplyDefaults:IWe(),calc:qWe(),plot:s$(),moduleType:\"trace\",name:\"sankey\",basePlotModule:SXe(),selectPoints:EXe(),categories:[\"noOpacity\"],meta:{}}});var PXe=ye((M2r,LXe)=>{\"use strict\";LXe.exports=CXe()});var RXe=ye(U5=>{\"use strict\";var IXe=Mc();U5.name=\"indicator\";U5.plot=function(e,t,r,n){IXe.plotBasePlot(U5.name,e,t,r,n)};U5.clean=function(e,t,r,n){IXe.cleanBasePlot(U5.name,e,t,r,n)}});var c$=ye((k2r,BXe)=>{\"use strict\";var Fx=Ao().extendFlat,FXe=Ao().extendDeep,PYt=mc().overrideAll,zXe=ec(),qXe=Ih(),IYt=Cc().attributes,Nf=Rd(),RYt=vl().templatedArray,D7=$T(),DXe=df().descriptionOnlyNumbers,u$=zXe({editType:\"plot\",colorEditType:\"plot\"}),lC={color:{valType:\"color\",editType:\"plot\"},line:{color:{valType:\"color\",dflt:qXe.defaultLine,editType:\"plot\"},width:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},thickness:{valType:\"number\",min:0,max:1,dflt:1,editType:\"plot\"},editType:\"calc\"},OXe={valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},DYt=RYt(\"step\",FXe({},lC,{range:OXe}));BXe.exports={mode:{valType:\"flaglist\",editType:\"calc\",flags:[\"number\",\"delta\",\"gauge\"],dflt:\"number\"},value:{valType:\"number\",editType:\"calc\",anim:!0},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},domain:IYt({name:\"indicator\",trace:!0,editType:\"calc\"}),title:{text:{valType:\"string\",editType:\"plot\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},font:Fx({},u$,{}),editType:\"plot\"},number:{valueformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:DXe(\"value\")},font:Fx({},u$,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"plot\"},delta:{reference:{valType:\"number\",editType:\"calc\"},position:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],dflt:\"bottom\",editType:\"plot\"},relative:{valType:\"boolean\",editType:\"plot\",dflt:!1},valueformat:{valType:\"string\",editType:\"plot\",description:DXe(\"value\")},increasing:{symbol:{valType:\"string\",dflt:D7.INCREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:D7.INCREASING.COLOR,editType:\"plot\"},editType:\"plot\"},decreasing:{symbol:{valType:\"string\",dflt:D7.DECREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:D7.DECREASING.COLOR,editType:\"plot\"},editType:\"plot\"},font:Fx({},u$,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"calc\"},gauge:{shape:{valType:\"enumerated\",editType:\"plot\",dflt:\"angular\",values:[\"angular\",\"bullet\"]},bar:FXe({},lC,{color:{dflt:\"green\"}}),bgcolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:qXe.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},axis:PYt({range:OXe,visible:Fx({},Nf.visible,{dflt:!0}),tickmode:Nf.minor.tickmode,nticks:Nf.nticks,tick0:Nf.tick0,dtick:Nf.dtick,tickvals:Nf.tickvals,ticktext:Nf.ticktext,ticks:Fx({},Nf.ticks,{dflt:\"outside\"}),ticklen:Nf.ticklen,tickwidth:Nf.tickwidth,tickcolor:Nf.tickcolor,ticklabelstep:Nf.ticklabelstep,showticklabels:Nf.showticklabels,labelalias:Nf.labelalias,tickfont:zXe({}),tickangle:Nf.tickangle,tickformat:Nf.tickformat,tickformatstops:Nf.tickformatstops,tickprefix:Nf.tickprefix,showtickprefix:Nf.showtickprefix,ticksuffix:Nf.ticksuffix,showticksuffix:Nf.showticksuffix,separatethousands:Nf.separatethousands,exponentformat:Nf.exponentformat,minexponent:Nf.minexponent,showexponent:Nf.showexponent,editType:\"plot\"},\"plot\"),steps:DYt,threshold:{line:{color:Fx({},lC.line.color,{}),width:Fx({},lC.line.width,{dflt:1}),editType:\"plot\"},thickness:Fx({},lC.thickness,{dflt:.85}),value:{valType:\"number\",editType:\"calc\",dflt:!1},editType:\"plot\"},editType:\"plot\"}}});var f$=ye((C2r,NXe)=>{\"use strict\";NXe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var GXe=ye((L2r,VXe)=>{\"use strict\";var sy=Pr(),z7=c$(),FYt=Cc().defaults,UXe=vl(),zYt=Zd(),F7=f$(),qYt=Lb(),OYt=z3(),BYt=s_(),NYt=l_();function UYt(e,t,r,n){function i(x,C){return sy.coerce(e,t,z7,x,C)}FYt(t,n,i),i(\"mode\"),t._hasNumber=t.mode.indexOf(\"number\")!==-1,t._hasDelta=t.mode.indexOf(\"delta\")!==-1,t._hasGauge=t.mode.indexOf(\"gauge\")!==-1;var a=i(\"value\");t._range=[0,typeof a==\"number\"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i(\"number.valueformat\");var l=sy.extendFlat({},n.font);l.size=void 0,sy.coerceFont(i,\"number.font\",l),t.number.font.size===void 0&&(t.number.font.size=F7.defaultNumberFontSize,o[0]=!0),i(\"number.prefix\"),i(\"number.suffix\"),s=t.number.font.size}var u;if(t._hasDelta){var c=sy.extendFlat({},n.font);c.size=void 0,sy.coerceFont(i,\"delta.font\",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||F7.defaultNumberFontSize),o[1]=!0),i(\"delta.reference\",t.value),i(\"delta.relative\"),i(\"delta.valueformat\",t.delta.relative?\"2%\":\"\"),i(\"delta.increasing.symbol\"),i(\"delta.increasing.color\"),i(\"delta.decreasing.symbol\"),i(\"delta.decreasing.color\"),i(\"delta.position\"),i(\"delta.prefix\"),i(\"delta.suffix\"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=sy.extendFlat({},n.font);f.size=.25*(s||u||F7.defaultNumberFontSize),sy.coerceFont(i,\"title.font\",f),i(\"title.text\");var h,d,v,m;function b(x,C){return sy.coerce(h,d,z7.gauge,x,C)}function p(x,C){return sy.coerce(v,m,z7.gauge.axis,x,C)}if(t._hasGauge){h=e.gauge,h||(h={}),d=UXe.newContainer(t,\"gauge\"),b(\"shape\");var k=t._isBullet=t.gauge.shape===\"bullet\";k||i(\"title.align\",\"center\");var M=t._isAngular=t.gauge.shape===\"angular\";M||i(\"align\",\"center\"),b(\"bgcolor\",n.paper_bgcolor),b(\"borderwidth\"),b(\"bordercolor\"),b(\"bar.color\"),b(\"bar.line.color\"),b(\"bar.line.width\");var T=F7.valueThickness*(t.gauge.shape===\"bullet\"?.5:1);b(\"bar.thickness\",T),zYt(h,d,{name:\"steps\",handleItemDefaults:VYt}),b(\"threshold.value\"),b(\"threshold.thickness\"),b(\"threshold.line.width\"),b(\"threshold.line.color\"),v={},h&&(v=h.axis||{}),m=UXe.newContainer(d,\"axis\"),p(\"visible\"),t._range=p(\"range\",t._range);var L={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};qYt(v,m,p,\"linear\"),NYt(v,m,p,\"linear\",L),BYt(v,m,p,\"linear\",L),OYt(v,m,p,L)}else i(\"title.align\",\"center\"),i(\"align\",\"center\"),t._isAngular=t._isBullet=!1;t._length=null}function VYt(e,t){function r(n,i){return sy.coerce(e,t,z7.gauge.steps,n,i)}r(\"color\"),r(\"line.color\"),r(\"line.width\"),r(\"range\"),r(\"thickness\")}VXe.exports={supplyDefaults:UYt}});var jXe=ye((P2r,HXe)=>{\"use strict\";function GYt(e,t){var r=[],n=t.value;typeof t._lastValue!=\"number\"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference==\"number\"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}HXe.exports={calc:GYt}});var JXe=ye((I2r,KXe)=>{\"use strict\";var Tw=qa(),HYt=(H2(),pb(G2)).interpolate,WXe=(H2(),pb(G2)).interpolateNumber,zx=Pr(),jYt=zx.strScale,cC=zx.strTranslate,WYt=zx.rad2deg,XYt=Dh().MID_SHIFT,ww=So(),_w=f$(),O7=Zl(),sv=ho(),ZYt=f4(),YYt=dI(),KYt=Rd(),V5=ka(),h$={left:\"start\",center:\"middle\",right:\"end\"},xw={left:0,center:.5,right:1},XXe=/[yzafpnµmkMGTPEZY]/;function fC(e){return e&&e.duration>0}KXe.exports=function(t,r,n,i){var a=t._fullLayout,o;fC(n)&&i&&(o=i()),zx.makeTraceGroups(a._indicatorlayer,r,\"trace\").each(function(s){var l=s[0],u=l.trace,c=Tw.select(this),f=u._hasGauge,h=u._isAngular,d=u._isBullet,v=u.domain,m={w:a._size.w*(v.x[1]-v.x[0]),h:a._size.h*(v.y[1]-v.y[0]),l:a._size.l+a._size.w*v.x[0],r:a._size.r+a._size.w*(1-v.x[1]),t:a._size.t+a._size.h*(1-v.y[1]),b:a._size.b+a._size.h*v.y[0]},b=m.l+m.w/2,p=m.t+m.h/2,k=Math.min(m.w/2,m.h),M=_w.innerRadius*k,T,L,x,C=u.align||\"center\";if(L=p,!f)T=m.l+xw[C]*m.w,x=function(j){return ZXe(j,m.w,m.h)};else if(h&&(T=b,L=p+k/2,x=function(j){return tKt(j,.9*M)}),d){var S=_w.bulletPadding,g=1-_w.bulletNumberDomainSize+S;T=m.l+(g+(1-g)*xw[C])*m.w,x=function(j){return ZXe(j,(_w.bulletNumberDomainSize-S)*m.w,m.h)}}QYt(t,c,s,{numbersX:T,numbersY:L,numbersScaler:x,transitionOpts:n,onComplete:o});var P,E;f&&(P={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},E={range:u.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var z=c.selectAll(\"g.angular\").data(h?s:[]);z.exit().remove();var q=c.selectAll(\"g.angularaxis\").data(h?s:[]);q.exit().remove(),h&&$Yt(t,c,s,{radius:k,innerRadius:M,gauge:z,layer:q,size:m,gaugeBg:P,gaugeOutline:E,transitionOpts:n,onComplete:o});var U=c.selectAll(\"g.bullet\").data(d?s:[]);U.exit().remove();var G=c.selectAll(\"g.bulletaxis\").data(d?s:[]);G.exit().remove(),d&&JYt(t,c,s,{gauge:U,layer:G,size:m,gaugeBg:P,gaugeOutline:E,transitionOpts:n,onComplete:o});var Z=c.selectAll(\"text.title\").data(s);Z.exit().remove(),Z.enter().append(\"text\").classed(\"title\",!0),Z.attr(\"text-anchor\",function(){return d?h$.right:h$[u.title.align]}).text(u.title.text).call(ww.font,u.title.font).call(O7.convertToTspans,t),Z.attr(\"transform\",function(){var j=m.l+m.w*xw[u.title.align],N,H=_w.titlePadding,re=ww.bBox(Z.node());if(f){if(h)if(u.gauge.axis.visible){var oe=ww.bBox(q.node());N=oe.top-H-re.bottom}else N=m.t+m.h/2-k/2-re.bottom-H;d&&(N=L-(re.top+re.bottom)/2,j=m.l-_w.bulletPadding*m.w)}else N=u._numbersTop-H-re.bottom;return cC(j,N)})})};function JYt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=i.domain,f=n.transitionOpts,h=n.onComplete,d,v,m,b,p;a.enter().append(\"g\").classed(\"bullet\",!0),a.attr(\"transform\",cC(u.l,u.t)),o.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),o.selectAll(\"g.xbulletaxistick,path,text\").remove();var k=u.h,M=i.gauge.bar.thickness*k,T=c.x[0],L=c.x[0]+(c.x[1]-c.x[0])*(i._hasNumber||i._hasDelta?1-_w.bulletNumberDomainSize:1);d=uC(e,i.gauge.axis),d._id=\"xbulletaxis\",d.domain=[T,L],d.setScale(),v=sv.calcTicks(d),m=sv.makeTransTickFn(d),b=sv.getTickSigns(d)[2],p=u.t+u.h,d.visible&&(sv.drawTicks(e,d,{vals:d.ticks===\"inside\"?sv.clipEnds(d,v):v,layer:o,path:sv.makeTickPath(d,p,b),transFn:m}),sv.drawLabels(e,d,{vals:v,layer:o,transFn:m,labelFns:sv.makeLabelFns(d,p)}));function x(q){q.attr(\"width\",function(U){return Math.max(0,d.c2p(U.range[1])-d.c2p(U.range[0]))}).attr(\"x\",function(U){return d.c2p(U.range[0])}).attr(\"y\",function(U){return .5*(1-U.thickness)*k}).attr(\"height\",function(U){return U.thickness*k})}var C=[s].concat(i.gauge.steps),S=a.selectAll(\"g.bg-bullet\").data(C);S.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),S.select(\"rect\").call(x).call(bw),S.exit().remove();var g=a.selectAll(\"g.value-bullet\").data([i.gauge.bar]);g.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),g.select(\"rect\").attr(\"height\",M).attr(\"y\",(k-M)/2).call(bw),fC(f)?g.select(\"rect\").transition().duration(f.duration).ease(f.easing).each(\"end\",function(){h&&h()}).each(\"interrupt\",function(){h&&h()}).attr(\"width\",Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):g.select(\"rect\").attr(\"width\",typeof r[0].y==\"number\"?Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),g.exit().remove();var P=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),E=a.selectAll(\"g.threshold-bullet\").data(P);E.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),E.select(\"line\").attr(\"x1\",d.c2p(i.gauge.threshold.value)).attr(\"x2\",d.c2p(i.gauge.threshold.value)).attr(\"y1\",(1-i.gauge.threshold.thickness)/2*k).attr(\"y2\",(1-(1-i.gauge.threshold.thickness)/2)*k).call(V5.stroke,i.gauge.threshold.line.color).style(\"stroke-width\",i.gauge.threshold.line.width),E.exit().remove();var z=a.selectAll(\"g.gauge-outline\").data([l]);z.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),z.select(\"rect\").call(x).call(bw),z.exit().remove()}function $Yt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[a.l+a.w/2,a.t+a.h/2+o/2],f=n.gauge,h=n.layer,d=n.transitionOpts,v=n.onComplete,m=Math.PI/2;function b(_e){var ke=i.gauge.axis.range[0],Ce=i.gauge.axis.range[1],ge=(_e-ke)/(Ce-ke)*Math.PI-m;return ge<-m?-m:ge>m?m:ge}function p(_e){return Tw.svg.arc().innerRadius((s+o)/2-_e/2*(o-s)).outerRadius((s+o)/2+_e/2*(o-s)).startAngle(-m)}function k(_e){_e.attr(\"d\",function(ke){return p(ke.thickness).startAngle(b(ke.range[0])).endAngle(b(ke.range[1]))()})}var M,T,L,x;f.enter().append(\"g\").classed(\"angular\",!0),f.attr(\"transform\",cC(c[0],c[1])),h.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),h.selectAll(\"g.xangularaxistick,path,text\").remove(),M=uC(e,i.gauge.axis),M.type=\"linear\",M.range=i.gauge.axis.range,M._id=\"xangularaxis\",M.ticklabeloverflow=\"allow\",M.setScale();var C=function(_e){return(M.range[0]-_e.x)/(M.range[1]-M.range[0])*Math.PI+Math.PI},S={},g=sv.makeLabelFns(M,0),P=g.labelStandoff;S.xFn=function(_e){var ke=C(_e);return Math.cos(ke)*P},S.yFn=function(_e){var ke=C(_e),Ce=Math.sin(ke)>0?.2:1;return-Math.sin(ke)*(P+_e.fontSize*Ce)+Math.abs(Math.cos(ke))*(_e.fontSize*XYt)},S.anchorFn=function(_e){var ke=C(_e),Ce=Math.cos(ke);return Math.abs(Ce)<.1?\"middle\":Ce>0?\"start\":\"end\"},S.heightFn=function(_e,ke,Ce){var ge=C(_e);return-.5*(1+Math.sin(ge))*Ce};var E=function(_e){return cC(c[0]+o*Math.cos(_e),c[1]-o*Math.sin(_e))};L=function(_e){return E(C(_e))};var z=function(_e){var ke=C(_e);return E(ke)+\"rotate(\"+-WYt(ke)+\")\"};if(T=sv.calcTicks(M),x=sv.getTickSigns(M)[2],M.visible){x=M.ticks===\"inside\"?-1:1;var q=(M.linewidth||1)/2;sv.drawTicks(e,M,{vals:T,layer:h,path:\"M\"+x*q+\",0h\"+x*M.ticklen,transFn:z}),sv.drawLabels(e,M,{vals:T,layer:h,transFn:L,labelFns:S})}var U=[l].concat(i.gauge.steps),G=f.selectAll(\"g.bg-arc\").data(U);G.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),G.select(\"path\").call(k).call(bw),G.exit().remove();var Z=p(i.gauge.bar.thickness),j=f.selectAll(\"g.value-arc\").data([i.gauge.bar]);j.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var N=j.select(\"path\");fC(d)?(N.transition().duration(d.duration).ease(d.easing).each(\"end\",function(){v&&v()}).each(\"interrupt\",function(){v&&v()}).attrTween(\"d\",eKt(Z,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):N.attr(\"d\",typeof r[0].y==\"number\"?Z.endAngle(b(r[0].y)):\"M0,0Z\"),N.call(bw),j.exit().remove(),U=[];var H=i.gauge.threshold.value;(H||H===0)&&U.push({range:[H,H],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var re=f.selectAll(\"g.threshold-arc\").data(U);re.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),re.select(\"path\").call(k).call(bw),re.exit().remove();var oe=f.selectAll(\"g.gauge-outline\").data([u]);oe.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),oe.select(\"path\").call(k).call(bw),oe.exit().remove()}function QYt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||\"center\",l=h$[s],u=n.transitionOpts,c=n.onComplete,f=zx.ensureSingle(t,\"g\",\"numbers\"),h,d,v,m=[];i._hasNumber&&m.push(\"number\"),i._hasDelta&&(m.push(\"delta\"),i.delta.position===\"left\"&&m.reverse());var b=f.selectAll(\"text\").data(m);b.enter().append(\"text\"),b.attr(\"text-anchor\",function(){return l}).attr(\"class\",function(E){return E}).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),b.exit().remove();function p(E,z,q,U){if(E.match(\"s\")&&q>=0!=U>=0&&!z(q).slice(-1).match(XXe)&&!z(U).slice(-1).match(XXe)){var G=E.slice().replace(\"s\",\"f\").replace(/\\d+/,function(j){return parseInt(j)-1}),Z=uC(e,{tickformat:G});return function(j){return Math.abs(j)<1?sv.tickText(Z,j).text:z(j)}}else return z}function k(){var E=uC(e,{tickformat:i.number.valueformat},i._range);E.setScale(),sv.prepTicks(E);var z=function(j){return sv.tickText(E,j).text},q=i.number.suffix,U=i.number.prefix,G=f.select(\"text.number\");function Z(){var j=typeof r[0].y==\"number\"?U+z(r[0].y)+q:\"-\";G.text(j).call(ww.font,i.number.font).call(O7.convertToTspans,e)}return fC(u)?G.transition().duration(u.duration).ease(u.easing).each(\"end\",function(){Z(),c&&c()}).each(\"interrupt\",function(){Z(),c&&c()}).attrTween(\"text\",function(){var j=Tw.select(this),N=WXe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var H=p(i.number.valueformat,z,r[0].lastY,r[0].y);return function(re){j.text(U+H(N(re))+q)}}):Z(),h=YXe(U+z(r[0].y)+q,i.number.font,l,e),G}function M(){var E=uC(e,{tickformat:i.delta.valueformat},i._range);E.setScale(),sv.prepTicks(E);var z=function(re){return sv.tickText(E,re).text},q=i.delta.suffix,U=i.delta.prefix,G=function(re){var oe=i.delta.relative?re.relativeDelta:re.delta;return oe},Z=function(re,oe){return re===0||typeof re!=\"number\"||isNaN(re)?\"-\":(re>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+U+oe(re)+q},j=function(re){return re.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=G(r[0]));var N=f.select(\"text.delta\");N.call(ww.font,i.delta.font).call(V5.fill,j({delta:i._deltaLastValue}));function H(){N.text(Z(G(r[0]),z)).call(V5.fill,j(r[0])).call(O7.convertToTspans,e)}return fC(u)?N.transition().duration(u.duration).ease(u.easing).tween(\"text\",function(){var re=Tw.select(this),oe=G(r[0]),_e=i._deltaLastValue,ke=p(i.delta.valueformat,z,_e,oe),Ce=WXe(_e,oe);return i._deltaLastValue=oe,function(ge){re.text(Z(Ce(ge),ke)),re.call(V5.fill,j({delta:Ce(ge)}))}}).each(\"end\",function(){H(),c&&c()}).each(\"interrupt\",function(){H(),c&&c()}):H(),d=YXe(Z(G(r[0]),z),i.delta.font,l,e),N}var T=i.mode+i.align,L;if(i._hasDelta&&(L=M(),T+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,T+=i.delta.increasing.symbol+i.delta.decreasing.symbol,v=d),i._hasNumber&&(k(),T+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,v=h),i._hasDelta&&i._hasNumber){var x=[(h.left+h.right)/2,(h.top+h.bottom)/2],C=[(d.left+d.right)/2,(d.top+d.bottom)/2],S,g,P=.75*i.delta.font.size;i.delta.position===\"left\"&&(S=q7(i,\"deltaPos\",0,-1*(h.width*xw[i.align]+d.width*(1-xw[i.align])+P),T,Math.min),g=x[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:d.left+S,right:h.right,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"right\"&&(S=q7(i,\"deltaPos\",0,h.width*(1-xw[i.align])+d.width*xw[i.align]+P,T,Math.max),g=x[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:h.left,right:d.right+S,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"bottom\"&&(S=null,g=d.height,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height,bottom:h.bottom+d.height}),i.delta.position===\"top\"&&(S=null,g=h.top,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height-d.height,bottom:h.bottom}),L.attr({dx:S,dy:g})}(i._hasNumber||i._hasDelta)&&f.attr(\"transform\",function(){var E=n.numbersScaler(v);T+=E[2];var z=q7(i,\"numbersScale\",1,E[0],T,Math.min),q;i._scaleNumbers||(z=1),i._isAngular?q=o-z*v.bottom:q=o-z*(v.top+v.bottom)/2,i._numbersTop=z*v.top+q;var U=v[s];s===\"center\"&&(U=(v.left+v.right)/2);var G=a-z*U;return G=q7(i,\"numbersTranslate\",0,G,T,Math.max),cC(G,q)+jYt(z)})}function bw(e){e.each(function(t){V5.stroke(Tw.select(this),t.line.color)}).each(function(t){V5.fill(Tw.select(this),t.color)}).style(\"stroke-width\",function(t){return t.line.width})}function eKt(e,t,r){return function(){var n=HYt(t,r);return function(i){return e.endAngle(n(i))()}}}function uC(e,t,r){var n=e._fullLayout,i=zx.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},t),a={type:\"linear\",_id:\"x\"+t._id},o={letter:\"x\",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return zx.coerce(i,a,KYt,l,u)}return ZYt(i,a,s,o,n),YYt(i,a,s,o),a}function ZXe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+\"x\"+r]}function tKt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function YXe(e,t,r,n){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),a=Tw.select(i);return a.text(e).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",e).call(O7.convertToTspans,n).call(ww.font,t),ww.bBox(a.node())}function q7(e,t,r,n,i,a){var o=\"_cache\"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=zx.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var QXe=ye((R2r,$Xe)=>{\"use strict\";$Xe.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:RXe(),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:c$(),supplyDefaults:GXe().supplyDefaults,calc:jXe().calc,plot:JXe(),meta:{}}});var tZe=ye((D2r,eZe)=>{\"use strict\";eZe.exports=QXe()});var d$=ye((z2r,aZe)=>{\"use strict\";var rZe=Jb(),B7=Ao().extendFlat,rKt=mc().overrideAll,iZe=ec(),iKt=Cc().attributes,nZe=df().descriptionOnlyNumbers,F2r=aZe.exports=rKt({domain:iKt({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:nZe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:B7({},rZe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:B7({},iZe({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:nZe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:B7({},rZe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:B7({},iZe({arrayOk:!0}))}},\"calc\",\"from-root\")});var sZe=ye((q2r,oZe)=>{\"use strict\";var v$=Pr(),nKt=d$(),aKt=Cc().defaults;function oKt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s{\"use strict\";var sKt=iy().wrap;lZe.exports=function(){return sKt({})}});var p$=ye((B2r,cZe)=>{\"use strict\";cZe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"
\",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\"}}});var _Ze=ye((N2r,yZe)=>{\"use strict\";var fZe=p$(),m$=Ao().extendFlat,lKt=Eo(),uKt=vv().isTypedArray,N7=vv().isArrayOrTypedArray;yZe.exports=function(t,r){var n=g$(r.cells.values),i=function(g){return g.slice(r.header.values.length,g.length)},a=g$(r.header.values);a.length&&!a[0].length&&(a[0]=[\"\"],a=g$(a));var o=a.concat(i(n).map(function(){return mZe((a[0]||[\"\"]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[fZe.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(hZe,0),d=u-h,v=d+fZe.uplift,m=pZe(f,v),b=pZe(c,h),p=vZe(b,[]),k=vZe(m,p),M={},T=r._fullInput.columnorder;N7(T)&&(T=Array.from(T)),T=T.concat(i(n.map(function(g,P){return P})));var L=o.map(function(g,P){var E=N7(r.columnwidth)?r.columnwidth[Math.min(P,r.columnwidth.length-1)]:r.columnwidth;return lKt(E)?Number(E):1}),x=L.reduce(hZe,0);L=L.map(function(g){return g/x*l});var C=Math.max(y$(r.header.line.width),y$(r.cells.line.width)),S={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:C,height:u,columnOrder:T,groupHeight:u,rowBlocks:k,headerRowBlocks:p,scrollY:0,cells:m$({},r.cells,{values:n}),headerCells:m$({},r.header,{values:o}),gdColumns:o.map(function(g){return g[0]}),gdColumnsOriginalOrder:o.map(function(g){return g[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(g,P){var E=M[g];M[g]=(E||0)+1;var z=g+\"__\"+M[g];return{key:z,label:g,specIndex:P,xIndex:T[P],xScale:dZe,x:void 0,calcdata:void 0,columnWidth:L[P]}})};return S.columns.forEach(function(g){g.calcdata=S,g.x=dZe(g)}),S};function y$(e){if(N7(e)){for(var t=0,r=0;r=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=gZe(),i+=a,s=u+1,a=0);return r}function gZe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var xZe=ye(_$=>{\"use strict\";var U7=Ao().extendFlat;_$.splitToPanels=function(e){var t=[0,0],r=U7({},e,{key:\"header\",type:\"header\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:U7({},e.calcdata,{cells:e.calcdata.headerCells})}),n=U7({},e,{key:\"cells1\",type:\"cells\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=U7({},e,{key:\"cells2\",type:\"cells\",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};_$.splitToCells=function(e){var t=cKt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r==\"string\"&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function cKt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var C$=ye((V2r,PZe)=>{\"use strict\";var Ya=p$(),tf=qa(),x$=Pr(),fKt=x$.numberFormat,Uu=iy(),b$=So(),hKt=Zl(),dKt=Pr().raiseToTop,lg=Pr().strTranslate,vKt=Pr().cancelTransition,pKt=_Ze(),EZe=xZe(),bZe=ka();PZe.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll(\".\"+Ya.cn.table).data(r.map(function(k){var M=Uu.unwrap(k),T=M.trace;return pKt(t,T)}),Uu.keyFun);i.exit().remove(),i.enter().append(\"g\").classed(Ya.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),i.attr(\"width\",function(k){return k.width+k.size.l+k.size.r}).attr(\"height\",function(k){return k.height+k.size.t+k.size.b}).attr(\"transform\",function(k){return lg(k.translateX,k.translateY)});var a=i.selectAll(\".\"+Ya.cn.tableControlView).data(Uu.repeat,Uu.keyFun),o=a.enter().append(\"g\").classed(Ya.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(n){var s=\"onwheel\"in document?\"wheel\":\"mousewheel\";o.on(\"mousemove\",function(k){a.filter(function(M){return k===M}).call(hC,t)}).on(s,function(k){if(!k.scrollbarState.wheeling){k.scrollbarState.wheeling=!0;var M=k.scrollY+tf.event.deltaY,T=G7(t,a,null,M)(k);T||(tf.event.stopPropagation(),tf.event.preventDefault()),k.scrollbarState.wheeling=!1}}).call(hC,t,!0)}a.attr(\"transform\",function(k){return lg(k.size.l,k.size.t)});var l=a.selectAll(\".\"+Ya.cn.scrollBackground).data(Uu.repeat,Uu.keyFun);l.enter().append(\"rect\").classed(Ya.cn.scrollBackground,!0).attr(\"fill\",\"none\"),l.attr(\"width\",function(k){return k.width}).attr(\"height\",function(k){return k.height}),a.each(function(k){b$.setClipUrl(tf.select(this),wZe(t,k),t)});var u=a.selectAll(\".\"+Ya.cn.yColumn).data(function(k){return k.columns},Uu.keyFun);u.enter().append(\"g\").classed(Ya.cn.yColumn,!0),u.exit().remove(),u.attr(\"transform\",function(k){return lg(k.x,0)}),n&&u.call(tf.behavior.drag().origin(function(k){var M=tf.select(this);return SZe(M,k,-Ya.uplift),dKt(this),k.calcdata.columnDragInProgress=!0,hC(a.filter(function(T){return k.calcdata.key===T.key}),t),k}).on(\"drag\",function(k){var M=tf.select(this),T=function(C){return(k===C?tf.event.x:C.x)+C.columnWidth/2};k.x=Math.max(-Ya.overdrag,Math.min(k.calcdata.width+Ya.overdrag-k.columnWidth,tf.event.x));var L=kZe(u).filter(function(C){return C.calcdata.key===k.calcdata.key}),x=L.sort(function(C,S){return T(C)-T(S)});x.forEach(function(C,S){C.xIndex=S,C.x=k===C?C.x:C.xScale(C)}),u.filter(function(C){return k!==C}).transition().ease(Ya.transitionEase).duration(Ya.transitionDuration).attr(\"transform\",function(C){return lg(C.x,0)}),M.call(vKt).attr(\"transform\",lg(k.x,-Ya.uplift))}).on(\"dragend\",function(k){var M=tf.select(this),T=k.calcdata;k.x=k.xScale(k),k.calcdata.columnDragInProgress=!1,SZe(M,k,0),SKt(t,T,T.columns.map(function(L){return L.xIndex}))})),u.each(function(k){b$.setClipUrl(tf.select(this),TZe(t,k),t)});var c=u.selectAll(\".\"+Ya.cn.columnBlock).data(EZe.splitToPanels,Uu.keyFun);c.enter().append(\"g\").classed(Ya.cn.columnBlock,!0).attr(\"id\",function(k){return k.key}),c.style(\"cursor\",function(k){return k.dragHandle?\"ew-resize\":k.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var f=c.filter(MKt),h=c.filter(M$);n&&h.call(tf.behavior.drag().origin(function(k){return tf.event.stopPropagation(),k}).on(\"drag\",G7(t,a,-1)).on(\"dragend\",function(){})),w$(t,a,f,c),w$(t,a,h,c);var d=a.selectAll(\".\"+Ya.cn.scrollAreaClip).data(Uu.repeat,Uu.keyFun);d.enter().append(\"clipPath\").classed(Ya.cn.scrollAreaClip,!0).attr(\"id\",function(k){return wZe(t,k)});var v=d.selectAll(\".\"+Ya.cn.scrollAreaClipRect).data(Uu.repeat,Uu.keyFun);v.enter().append(\"rect\").classed(Ya.cn.scrollAreaClipRect,!0).attr(\"x\",-Ya.overdrag).attr(\"y\",-Ya.uplift).attr(\"fill\",\"none\"),v.attr(\"width\",function(k){return k.width+2*Ya.overdrag}).attr(\"height\",function(k){return k.height+Ya.uplift});var m=u.selectAll(\".\"+Ya.cn.columnBoundary).data(Uu.repeat,Uu.keyFun);m.enter().append(\"g\").classed(Ya.cn.columnBoundary,!0);var b=u.selectAll(\".\"+Ya.cn.columnBoundaryClippath).data(Uu.repeat,Uu.keyFun);b.enter().append(\"clipPath\").classed(Ya.cn.columnBoundaryClippath,!0),b.attr(\"id\",function(k){return TZe(t,k)});var p=b.selectAll(\".\"+Ya.cn.columnBoundaryRect).data(Uu.repeat,Uu.keyFun);p.enter().append(\"rect\").classed(Ya.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),p.attr(\"width\",function(k){return k.columnWidth+2*V7(k)}).attr(\"height\",function(k){return k.calcdata.height+2*V7(k)+Ya.uplift}).attr(\"x\",function(k){return-V7(k)}).attr(\"y\",function(k){return-V7(k)}),E$(null,h,a)};function V7(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function wZe(e,t){return\"clip\"+e._fullLayout._uid+\"_scrollAreaBottomClip_\"+t.key}function TZe(e,t){return\"clip\"+e._fullLayout._uid+\"_columnBoundaryClippath_\"+t.calcdata.key+\"_\"+t.specIndex}function kZe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function hC(e,t,r){function n(u){var c=u.rowBlocks;return A$(c,c.length-1)+(c.length?H7(c[c.length-1],1/0):1)}var i=e.selectAll(\".\"+Ya.cn.scrollbarKit).data(Uu.repeat,Uu.keyFun);i.enter().append(\"g\").classed(Ya.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),i.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-T$(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Ya.goldenRatio*Ya.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr(\"transform\",function(u){var c=u.width+Ya.scrollbarWidth/2+Ya.scrollbarOffset;return lg(c,T$(u))});var a=i.selectAll(\".\"+Ya.cn.scrollbar).data(Uu.repeat,Uu.keyFun);a.enter().append(\"g\").classed(Ya.cn.scrollbar,!0);var o=a.selectAll(\".\"+Ya.cn.scrollbarSlider).data(Uu.repeat,Uu.keyFun);o.enter().append(\"g\").classed(Ya.cn.scrollbarSlider,!0),o.attr(\"transform\",function(u){return lg(0,u.scrollbarState.topY||0)});var s=o.selectAll(\".\"+Ya.cn.scrollbarGlyph).data(Uu.repeat,Uu.keyFun);s.enter().append(\"line\").classed(Ya.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",Ya.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",Ya.scrollbarWidth/2),s.attr(\"y2\",function(u){return u.scrollbarState.barLength-Ya.scrollbarWidth/2}).attr(\"stroke-opacity\",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Ya.scrollbarHideDelay).duration(Ya.scrollbarHideDuration).attr(\"stroke-opacity\",0);var l=a.selectAll(\".\"+Ya.cn.scrollbarCaptureZone).data(Uu.repeat,Uu.keyFun);l.enter().append(\"line\").classed(Ya.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",Ya.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(u){var c=tf.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,d=c-f.top,v=tf.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=d&&d<=h.bottomY||G7(t,e,null,v(d-h.barLength/2))(u)}).call(tf.behavior.drag().origin(function(u){return tf.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on(\"drag\",G7(t,e)).on(\"dragend\",function(){})),l.attr(\"y2\",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function w$(e,t,r,n){var i=gKt(r),a=mKt(i);bKt(a);var o=yKt(a);TKt(o);var s=xKt(a),l=_Kt(s);wKt(l),CZe(l,t,n,e),k$(a)}function gKt(e){var t=e.selectAll(\".\"+Ya.cn.columnCells).data(Uu.repeat,Uu.keyFun);return t.enter().append(\"g\").classed(Ya.cn.columnCells,!0),t.exit().remove(),t}function mKt(e){var t=e.selectAll(\".\"+Ya.cn.columnCell).data(EZe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ya.cn.columnCell,!0),t.exit().remove(),t}function yKt(e){var t=e.selectAll(\".\"+Ya.cn.cellRect).data(Uu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"rect\").classed(Ya.cn.cellRect,!0),t}function _Kt(e){var t=e.selectAll(\".\"+Ya.cn.cellText).data(Uu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"text\").classed(Ya.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){tf.event.stopPropagation()}),t}function xKt(e){var t=e.selectAll(\".\"+Ya.cn.cellTextHolder).data(Uu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ya.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),t}function bKt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Yv(n.size,i,r),color:Yv(n.color,i,r),family:Yv(n.family,i,r),weight:Yv(n.weight,i,r),style:Yv(n.style,i,r),variant:Yv(n.variant,i,r),textcase:Yv(n.textcase,i,r),lineposition:Yv(n.lineposition,i,r),shadow:Yv(n.shadow,i,r)};t.rowNumber=t.key,t.align=Yv(t.calcdata.cells.align,i,r),t.cellBorderWidth=Yv(t.calcdata.cells.line.width,i,r),t.font=a})}function wKt(e){e.each(function(t){b$.font(tf.select(this),t.font)})}function TKt(e){e.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var r=tf.select(this);bZe.stroke(r,Yv(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),bZe.fill(r,Yv(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function CZe(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s==\"string\",u=l&&s.match(/
/i),c=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var f=AKt(s);i.latex=f;var h=f?\"\":Yv(i.calcdata.cells.prefix,a,o)||\"\",d=f?\"\":Yv(i.calcdata.cells.suffix,a,o)||\"\",v=f?null:Yv(i.calcdata.cells.format,a,o)||null,m=h+(v?fKt(v)(i.value):i.value)+d,b;i.wrappingNeeded=!i.wrapped&&!c&&!f&&(b=AZe(m)),i.cellHeightMayIncrease=u||f||i.mayHaveMarkup||(b===void 0?AZe(m):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var p;if(i.wrappingNeeded){var k=Ya.wrapSplitCharacter===\" \"?m.replace(/i&&n.push(a),i+=l}return n}function E$(e,t,r){var n=kZe(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=A$(i,i.length),s=n.calcdata.groupHeight-T$(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=EKt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr(\"transform\",function(c){var f=A$(c.rowBlocks,c.page)-c.scrollY;return lg(0,f)}),e&&(MZe(e,r,t,u,n.prevPages,n,0),MZe(e,r,t,u,n.prevPages,n,1),hC(r,e))}}function G7(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*tf.event.dy:n;var c=s.selectAll(\".\"+Ya.cn.yColumn).selectAll(\".\"+Ya.cn.columnBlock).filter(M$);return E$(e,c,s),o.scrollY===u}}function MZe(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==i[c]});w$(e,t,l,r),i[o]=n[o]}))}function kKt(e,t,r,n){return function(){var a=tf.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll(\"tspan.line\").each(function(m,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,d=0,v=o.column.columnWidth-2*Ya.cellPad;for(o.value=\"\";u.length;)f=u.shift(),h=f.width+l,d+h>v&&(o.value+=c.join(Ya.wrapSpacer)+Ya.lineBreaker,c=[],d=0),c.push(f.text),d+=h;d&&(o.value+=c.join(Ya.wrapSpacer)),o.wrapped=!0}),a.selectAll(\"tspan.line\").remove(),CZe(a.select(\".\"+Ya.cn.cellText),r,e,n),tf.select(t.parentNode.parentNode).call(k$)}}function CKt(e,t,r,n,i){return function(){if(!i.settledY){var o=tf.select(t.parentNode),s=S$(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Ya.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll(\".\"+Ya.cn.columnCell).call(k$),E$(null,e.filter(M$),0),hC(r,n,!0)),o.attr(\"transform\",function(){var d=this,v=d.parentNode,m=v.getBoundingClientRect(),b=tf.select(d.parentNode).select(\".\"+Ya.cn.cellRect).node().getBoundingClientRect(),p=d.transform.baseVal.consolidate(),k=b.top-m.top+(p?p.matrix.f:Ya.cellPad);return lg(LZe(i,tf.select(d.parentNode).select(\".\"+Ya.cn.cellTextHolder).node().getBoundingClientRect().width),k)}),i.settledY=!0}}}function LZe(e,t){switch(e.align){case\"left\":return Ya.cellPad;case\"right\":return e.column.columnWidth-(t||0)-Ya.cellPad;case\"center\":return(e.column.columnWidth-(t||0))/2;default:return Ya.cellPad}}function k$(e){e.attr(\"transform\",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+H7(s,1/0)},0),n=S$(t),i=H7(n,t.key),a=i+r;return lg(0,a)}).selectAll(\".\"+Ya.cn.cellRect).attr(\"height\",function(t){return PKt(S$(t),t.key).rowHeight})}function A$(e,t){for(var r=0,n=t-1;n>=0;n--)r+=LKt(e[n]);return r}function H7(e,t){for(var r=0,n=0;n{\"use strict\";var IKt=Id().getModuleCalcData,RKt=C$(),j7=\"table\";W7.name=j7;W7.plot=function(e){var t=IKt(e.calcdata,j7)[0];t.length&&RKt(e,t)};W7.clean=function(e,t,r,n){var i=n._has&&n._has(j7),a=t._has&&t._has(j7);i&&!a&&n._paperdiv.selectAll(\".table\").remove()}});var DZe=ye((H2r,RZe)=>{\"use strict\";RZe.exports={attributes:d$(),supplyDefaults:sZe(),calc:uZe(),plot:C$(),moduleType:\"trace\",name:\"table\",basePlotModule:IZe(),categories:[\"noOpacity\"],meta:{}}});var zZe=ye((j2r,FZe)=>{\"use strict\";FZe.exports=DZe()});var UZe=ye((W2r,NZe)=>{\"use strict\";var qZe=ec(),OZe=Ih(),L$=Rd(),DKt=df().descriptionWithDates,FKt=mc().overrideAll,BZe=Pd().dash,P$=Ao().extendFlat;NZe.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"calc\"},font:qZe({editType:\"calc\"}),offset:{valType:\"number\",dflt:10,editType:\"calc\"},editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autotypenumbers:L$.autotypenumbers,autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},labelalias:P$({},L$.labelalias,{editType:\"calc\"}),tickfont:qZe({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\",\"SI extended\"],dflt:\"B\",editType:\"calc\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\",description:DKt(\"tick label\")},tickformatstops:FKt(L$.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:OZe.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},griddash:P$({},BZe,{editType:\"calc\"}),showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgriddash:P$({},BZe,{editType:\"calc\"}),minorgridcolor:{valType:\"color\",dflt:OZe.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"}});var Z7=ye((X2r,HZe)=>{\"use strict\";var zKt=ec(),VZe=UZe(),GZe=Ih(),X7=zKt({editType:\"calc\"}),qKt=pf().zorder;X7.family.dflt='\"Open Sans\", verdana, arial, sans-serif';X7.size.dflt=12;X7.color.dflt=GZe.defaultLine;HZe.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:VZe,baxis:VZe,font:X7,color:{valType:\"color\",dflt:GZe.defaultLine,editType:\"plot\"},zorder:qKt}});var XZe=ye((Z2r,WZe)=>{\"use strict\";var jZe=Pr().isArray1D;WZe.exports=function(t,r,n){var i=n(\"x\"),a=i&&i.length,o=n(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||jZe(i))&&(!s||jZe(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var KZe=ye((Y2r,YZe)=>{\"use strict\";var OKt=Z7(),ZZe=ka().addOpacity,BKt=Oa(),dC=Pr(),NKt=Lb(),UKt=s_(),VKt=l_(),GKt=cI(),HKt=xm(),jKt=G3();YZe.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=OKt[i+\"axis\"];function s(g,P){return dC.coerce(t,r,o,g,P)}function l(g,P){return dC.coerce2(t,r,o,g,P)}n.name&&(r._name=n.name,r._id=n.name),s(\"autotypenumbers\",n.autotypenumbersDflt);var u=s(\"type\");if(u===\"-\"&&(n.data&&WKt(r,n.data),r.type===\"-\"?r.type=\"linear\":u=t.type=r.type),s(\"smoothing\"),s(\"cheatertype\"),s(\"showticklabels\"),s(\"labelprefix\",i+\" = \"),s(\"labelsuffix\"),s(\"showtickprefix\"),s(\"showticksuffix\"),s(\"separatethousands\"),s(\"tickformat\"),s(\"exponentformat\"),s(\"minexponent\"),s(\"showexponent\"),s(\"categoryorder\"),s(\"tickmode\"),s(\"tickvals\"),s(\"ticktext\"),s(\"tick0\"),s(\"dtick\"),r.tickmode===\"array\"&&(s(\"arraytick0\"),s(\"arraydtick\")),s(\"labelpadding\"),r._hovertitle=i,u===\"date\"){var c=BKt.getComponentMethod(\"calendars\",\"handleDefaults\");c(t,r,\"calendar\",n.calendar)}HKt(r,n.fullLayout),r.c2p=dC.identity;var f=s(\"color\",n.dfltColor),h=f===t.color?f:a.color,d=s(\"title.text\");d&&(dC.coerceFont(s,\"title.font\",a,{overrideDflt:{size:dC.bigFont(a.size),color:h}}),s(\"title.offset\")),s(\"tickangle\");var v=s(\"autorange\",!r.isValidRange(t.range));v&&s(\"rangemode\"),s(\"range\"),r.cleanRange(),s(\"fixedrange\"),NKt(t,r,s,u),VKt(t,r,s,u,n),UKt(t,r,s,u,n),GKt(t,r,s,{data:n.data,dataAttr:i});var m=l(\"gridcolor\",ZZe(f,.3)),b=l(\"gridwidth\"),p=l(\"griddash\"),k=s(\"showgrid\");k||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var M=l(\"startlinecolor\",f),T=l(\"startlinewidth\",b),L=s(\"startline\",r.showgrid||!!M||!!T);L||(delete r.startlinecolor,delete r.startlinewidth);var x=l(\"endlinecolor\",f),C=l(\"endlinewidth\",b),S=s(\"endline\",r.showgrid||!!x||!!C);return S||(delete r.endlinecolor,delete r.endlinewidth),k?(s(\"minorgridcount\"),s(\"minorgridwidth\",b),s(\"minorgriddash\",p),s(\"minorgridcolor\",ZZe(m,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels===\"none\"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s(\"tickmode\"),r};function WKt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i=n+\"calendar\",a=e[i];e.type=jKt(t,a,{autotypenumbers:e.autotypenumbers})}}});var $Ze=ye((K2r,JZe)=>{\"use strict\";var XKt=KZe(),ZKt=vl();JZe.exports=function(t,r,n,i,a){var o=i(\"a\");o||(i(\"da\"),i(\"a0\"));var s=i(\"b\");s||(i(\"db\"),i(\"b0\")),YKt(t,r,n,a)};function YKt(e,t,r,n){var i=[\"aaxis\",\"baxis\"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=ZKt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:\"x\",id:o+\"axis\",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};XKt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!==\"-\"&&(e[a]={type:s.type})})}});var tYe=ye((J2r,eYe)=>{\"use strict\";var QZe=Pr(),KKt=XZe(),JKt=$Ze(),$Kt=Z7(),QKt=Ih();eYe.exports=function(t,r,n,i){function a(l,u){return QZe.coerce(t,r,$Kt,l,u)}r._clipPathId=\"clip\"+r.uid+\"carpet\";var o=a(\"color\",QKt.defaultLine);if(QZe.coerceFont(a,\"font\",i.font),a(\"carpet\"),JKt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=KKt(t,r,a);s||(r.visible=!1),r._cheater&&a(\"cheaterslope\"),a(\"zorder\")}});var I$=ye(($2r,rYe)=>{\"use strict\";var eJt=Pr().isArrayOrTypedArray;rYe.exports=function(t,r,n){var i;for(eJt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i{\"use strict\";iYe.exports=function(t,r,n){if(t.length===0)return\"\";var i,a=[],o=n?3:1;for(i=0;i{\"use strict\";nYe.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),d=(a[0]*o[0]+a[1]*o[1])/f/h;c=Math.max(0,d)}var v=Math.atan2(l,s)*180/Math.PI;return v<-90?(v+=180,u=-u):v>90&&(v-=180,u=-u),{angle:v,flip:u,p:t.c2p(i,r,n),offsetMultplier:c}}});var dYe=ye((twr,hYe)=>{\"use strict\";var $7=qa(),Y7=So(),K7=I$(),lYe=R$(),vC=aYe(),D$=Zl(),Up=Pr(),uYe=Up.strRotate,J7=Up.strTranslate,cYe=Dh();hYe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Up.makeTraceGroups(i,n,\"trace\").each(function(c){var f=$7.select(this),h=c[0],d=h.trace,v=d.aaxis,m=d.baxis,b=Up.ensureSingle(f,\"g\",\"minorlayer\"),p=Up.ensureSingle(f,\"g\",\"majorlayer\"),k=Up.ensureSingle(f,\"g\",\"boundarylayer\"),M=Up.ensureSingle(f,\"g\",\"labellayer\");f.style(\"opacity\",d.opacity),G5(o,s,p,v,\"a\",v._gridlines,!0,a),G5(o,s,p,m,\"b\",m._gridlines,!0,a),G5(o,s,b,v,\"a\",v._minorgridlines,!0,a),G5(o,s,b,m,\"b\",m._minorgridlines,!0,a),G5(o,s,k,v,\"a-boundary\",v._boundarylines,a),G5(o,s,k,m,\"b-boundary\",m._boundarylines,a);var T=oYe(t,o,s,d,h,M,v._labels,\"a-label\"),L=oYe(t,o,s,d,h,M,m._labels,\"b-label\");rJt(t,M,d,h,o,s,T,L),tJt(d,h,u,o,s)})};function tJt(e,t,r,n,i){var a,o,s,l,u=r.select(\"#\"+e._clipPathId);u.size()||(u=r.append(\"clipPath\").classed(\"carpetclip\",!0));var c=Up.ensureSingle(u,\"path\",\"carpetboundary\"),f=t.clipsegments,h=[];for(l=0;l0?\"start\":\"end\",\"data-notex\":1}).call(Y7.font,f.font).text(f.text).call(D$.convertToTspans,e),p=Y7.bBox(this);b.attr(\"transform\",J7(d.p[0],d.p[1])+uYe(d.angle)+J7(f.axis.labelpadding*m,p.height*.3)),u=Math.max(u,p.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function rJt(e,t,r,n,i,a,o,s){var l,u,c,f,h=Up.aggNums(Math.min,null,r.a),d=Up.aggNums(Math.max,null,r.a),v=Up.aggNums(Math.min,null,r.b),m=Up.aggNums(Math.max,null,r.b);l=.5*(h+d),u=v,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&Up.extendFlat(o,vC(r,i,a,c,r.dxydb_rough(l,u))),sYe(e,t,r,n,c,f,r.aaxis,i,a,o,\"a-title\"),l=h,u=.5*(v+m),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&Up.extendFlat(s,vC(r,i,a,c,r.dxyda_rough(l,u))),sYe(e,t,r,n,c,f,r.baxis,i,a,s,\"b-title\")}var fYe=cYe.LINE_SPACING,iJt=(1-cYe.MID_SHIFT)/fYe+1;function sYe(e,t,r,n,i,a,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll(\"text.\"+c).data(f),d=u.maxExtent;h.enter().append(\"text\").classed(c,!0),h.each(function(){var v=vC(r,s,l,i,a);[\"start\",\"both\"].indexOf(o.showticklabels)===-1&&(d=0);var m=o.title.font.size;d+=m+o.title.offset;var b=u.angle+(u.flip<0?180:0),p=(b-v.angle+450)%360,k=p>90&&p<270,M=$7.select(this);M.text(o.title.text).call(D$.convertToTspans,e),k&&(d=(-D$.lineCount(M)+iJt)*fYe*m-d),M.attr(\"transform\",J7(v.p[0],v.p[1])+uYe(v.angle)+J7(0,d)).attr(\"text-anchor\",\"middle\").call(Y7.font,o.title.font)}),h.exit().remove()}});var pYe=ye((rwr,vYe)=>{\"use strict\";var Q7=Pr().isArrayOrTypedArray;vYe.exports=function(e,t,r){var n,i,a,o,s,l,u=[],c=Q7(e)?e.length:e,f=Q7(t)?t.length:t,h=Q7(e)?e:null,d=Q7(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var v,m=1/0,b=-1/0;for(i=0;i{\"use strict\";var gYe=Pr().isArrayOrTypedArray;yYe.exports=function(e){return mYe(e,0)};function mYe(e,t){if(!gYe(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a{\"use strict\";var nJt=ho(),qx=Ao().extendFlat;xYe.exports=function(t,r,n){var i,a,o,s,l,u,c,f,h,d,v,m,b,p,k=t[\"_\"+r],M=t[r+\"axis\"],T=M._gridlines=[],L=M._minorgridlines=[],x=M._boundarylines=[],C=t[\"_\"+n],S=t[n+\"axis\"];M.tickmode===\"array\"&&(M.tickvals=k.slice());var g=t._xctrl,P=t._yctrl,E=g[0].length,z=g.length,q=t._a.length,U=t._b.length;nJt.prepTicks(M),M.tickmode===\"array\"&&delete M.tickvals;var G=M.smoothing?3:1;function Z(N){var H,re,oe,_e,ke,Ce,ge,ie,Se,Ee,we,De,Le=[],me=[],Pe={};if(r===\"b\")for(re=t.b2j(N),oe=Math.floor(Math.max(0,Math.min(U-2,re))),_e=re-oe,Pe.length=U,Pe.crossLength=q,Pe.xy=function(ce){return t.evalxy([],ce,re)},Pe.dxy=function(ce,He){return t.dxydi([],ce,oe,He,_e)},H=0;H0&&(Se=t.dxydi([],H-1,oe,0,_e),Le.push(ke[0]+Se[0]/3),me.push(ke[1]+Se[1]/3),Ee=t.dxydi([],H-1,oe,1,_e),Le.push(ie[0]-Ee[0]/3),me.push(ie[1]-Ee[1]/3)),Le.push(ie[0]),me.push(ie[1]),ke=ie;else for(H=t.a2i(N),Ce=Math.floor(Math.max(0,Math.min(q-2,H))),ge=H-Ce,Pe.length=q,Pe.crossLength=U,Pe.xy=function(ce){return t.evalxy([],H,ce)},Pe.dxy=function(ce,He){return t.dxydj([],Ce,ce,ge,He)},re=0;re0&&(we=t.dxydj([],Ce,re-1,ge,0),Le.push(ke[0]+we[0]/3),me.push(ke[1]+we[1]/3),De=t.dxydj([],Ce,re-1,ge,1),Le.push(ie[0]-De[0]/3),me.push(ie[1]-De[1]/3)),Le.push(ie[0]),me.push(ie[1]),ke=ie;return Pe.axisLetter=r,Pe.axis=M,Pe.crossAxis=S,Pe.value=N,Pe.constvar=n,Pe.index=f,Pe.x=Le,Pe.y=me,Pe.smoothing=S.smoothing,Pe}function j(N){var H,re,oe,_e,ke,Ce=[],ge=[],ie={};if(ie.length=k.length,ie.crossLength=C.length,r===\"b\")for(oe=Math.max(0,Math.min(U-2,N)),ke=Math.min(1,Math.max(0,N-oe)),ie.xy=function(Se){return t.evalxy([],Se,N)},ie.dxy=function(Se,Ee){return t.dxydi([],Se,oe,Ee,ke)},H=0;Hk.length-1)&&T.push(qx(j(a),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(f=u;fk.length-1)&&!(v<0||v>k.length-1))for(m=k[o],b=k[v],i=0;ik[k.length-1])&&L.push(qx(Z(d),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash})));M.startline&&x.push(qx(j(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&x.push(qx(j(k.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((k[k.length-1]-M.tick0)/M.dtick*(1+s)),Math.ceil((k[0]-M.tick0)/M.dtick/(1+s))].sort(function(N,H){return N-H}),u=l[0],c=l[1],f=u;f<=c;f++)h=M.tick0+M.dtick*f,T.push(qx(Z(h),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(f=u-1;fk[k.length-1])&&L.push(qx(Z(d),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash}));M.startline&&x.push(qx(Z(k[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&x.push(qx(Z(k[k.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}});var SYe=ye((awr,AYe)=>{\"use strict\";var wYe=ho(),TYe=Ao().extendFlat;AYe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n{\"use strict\";MYe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,c=!!i.smoothing,f=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=f;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][f],s[a]=r[a][f];for(l.push({x:o,y:s,bicubic:c}),a=f,o=[],s=[];a>=0;a--)o[f-a]=t[h][a],s[f-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:c}),l}});var CYe=ye((swr,kYe)=>{\"use strict\";var aJt=Pr();kYe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(oe,_e){var ke=0,Ce,ge=0;return oe>0&&(Ce=t[_e][oe-1])!==void 0&&(ge++,ke+=Ce),oe0&&(Ce=t[_e-1][oe])!==void 0&&(ge++,ke+=Ce),_e0&&a0&&iS);return aJt.log(\"Smoother converged to\",g,\"after\",E,\"iterations\"),t}});var PYe=ye((lwr,LYe)=>{\"use strict\";LYe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var DYe=ye((uwr,RYe)=>{\"use strict\";var IYe=.5;RYe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,IYe/2),c=Math.pow(s*s+l*l,IYe/2),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,d=c*(u+c)*3,v=u*(u+c)*3;return[[r[0]+(d&&f/d),r[1]+(d&&h/d)],[r[0]-(v&&f/v),r[1]-(v&&h/v)]]}});var zYe=ye((cwr,FYe)=>{\"use strict\";var F$=DYe(),e9=Pr().ensureArray;function H5(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}FYe.exports=function(t,r,n,i,a,o){var s,l,u,c,f,h,d,v,m,b,p=n[0].length,k=n.length,M=a?3*p-2:p,T=o?3*k-2:k;for(t=e9(t,T),r=e9(r,T),u=0;u{\"use strict\";qYe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var c,f,h,d,v,m,b=Math.max(0,Math.min(Math.floor(l),a)),p=Math.max(0,Math.min(Math.floor(u),o)),k=Math.max(0,Math.min(1,l-b)),M=Math.max(0,Math.min(1,u-p));b*=3,p*=3;var T=k*k,L=T*k,x=1-k,C=x*x,S=C*x,g=M*M,P=g*M,E=1-M,z=E*E,q=z*E;for(m=0;m{\"use strict\";BYe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,m=1-o,b=m*m,p=m*o*2,k=-3*b,M=3*(b-p),T=3*(p-v),L=3*v,x=s*s,C=x*s,S=1-s,g=S*S,P=g*S;for(d=0;d{\"use strict\";UYe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,m=v*o,b=1-o,p=b*b,k=p*b,M=s*s,T=1-s,L=T*T,x=T*s*2,C=-3*L,S=3*(L-x),g=3*(x-M),P=3*M;for(d=0;d{\"use strict\";var GYe=PYe(),HYe=U6().findBin,oJt=zYe(),sJt=OYe(),lJt=NYe(),uJt=VYe();jYe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],c=n[0],f=n[a-1],h=r[r.length-1]-r[0],d=n[n.length-1]-n[0],v=h*GYe.RELATIVE_CULL_TOLERANCE,m=d*GYe.RELATIVE_CULL_TOLERANCE;l-=v,u+=v,c-=m,f+=m,t.isVisible=function(b,p){return b>l&&bc&&pu||pf},t.setScale=function(){var b=t._x,p=t._y,k=oJt(t._xctrl,t._yctrl,b,p,o.smoothing,s.smoothing);t._xctrl=k[0],t._yctrl=k[1],t.evalxy=sJt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=lJt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=uJt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var p=Math.max(0,Math.floor(b[0]),i-2),k=b[0]-p;return(1-k)*r[p]+k*r[p+1]},t.j2b=function(b){var p=Math.max(0,Math.floor(b[1]),i-2),k=b[1]-p;return(1-k)*n[p]+k*n[p+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var p=Math.max(0,Math.min(HYe(b,r),i-2)),k=r[p],M=r[p+1];return Math.max(0,Math.min(i-1,p+(b-k)/(M-k)))},t.b2j=function(b){var p=Math.max(0,Math.min(HYe(b,n),a-2)),k=n[p],M=n[p+1];return Math.max(0,Math.min(a-1,p+(b-k)/(M-k)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,p){return t.evalxy([],b,p)},t.ab2xy=function(b,p,k){if(!k&&(br[i-1]|pn[a-1]))return[!1,!1];var M=t.a2i(b),T=t.b2j(p),L=t.evalxy([],M,T);if(k){var x=0,C=0,S=[],g,P,E,z;br[i-1]?(g=i-2,P=1,x=(b-r[i-1])/(r[i-1]-r[i-2])):(g=Math.max(0,Math.min(i-2,Math.floor(M))),P=M-g),pn[a-1]?(E=a-2,z=1,C=(p-n[a-1])/(n[a-1]-n[a-2])):(E=Math.max(0,Math.min(a-2,Math.floor(T))),z=T-E),x&&(t.dxydi(S,g,E,P,z),L[0]+=S[0]*x,L[1]+=S[1]*x),C&&(t.dxydj(S,g,E,P,z),L[0]+=S[0]*C,L[1]+=S[1]*C)}return L},t.c2p=function(b,p,k){return[p.c2p(b[0]),k.c2p(b[1])]},t.p2x=function(b,p,k){return[p.p2c(b[0]),k.p2c(b[1])]},t.dadi=function(b){var p=Math.max(0,Math.min(r.length-2,b));return r[p+1]-r[p]},t.dbdj=function(b){var p=Math.max(0,Math.min(n.length-2,b));return n[p+1]-n[p]},t.dxyda=function(b,p,k,M){var T=t.dxydi(null,b,p,k,M),L=t.dadi(b,k);return[T[0]/L,T[1]/L]},t.dxydb=function(b,p,k,M){var T=t.dxydj(null,b,p,k,M),L=t.dbdj(p,M);return[T[0]/L,T[1]/L]},t.dxyda_rough=function(b,p,k){var M=h*(k||.1),T=t.ab2xy(b+M,p,!0),L=t.ab2xy(b-M,p,!0);return[(T[0]-L[0])*.5/M,(T[1]-L[1])*.5/M]},t.dxydb_rough=function(b,p,k){var M=d*(k||.1),T=t.ab2xy(b,p+M,!0),L=t.ab2xy(b,p-M,!0);return[(T[0]-L[0])*.5/M,(T[1]-L[1])*.5/M]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var eKe=ye((pwr,QYe)=>{\"use strict\";var t9=ho(),XYe=Pr().isArray1D,cJt=pYe(),ZYe=_Ye(),YYe=bYe(),KYe=SYe(),fJt=EYe(),JYe=u8(),$Ye=CYe(),hJt=s8(),dJt=WYe();QYe.exports=function(t,r){var n=t9.getFromId(t,r.xaxis),i=t9.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&XYe(s)&&u.push(\"x\"),l&&XYe(l)&&u.push(\"y\"),u.length&&hJt(r,a,o,\"a\",\"b\",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var d=a.cheatertype===\"index\"?c.length:c,v=o.cheatertype===\"index\"?f.length:f;s=cJt(d,v,r.cheaterslope)}r._x=s=JYe(s),r._y=l=JYe(l),$Ye(s,c,f),$Ye(l,c,f),dJt(r),r.setScale();var m=ZYe(s),b=ZYe(l),p=.5*(m[1]-m[0]),k=.5*(m[1]+m[0]),M=.5*(b[1]-b[0]),T=.5*(b[1]+b[0]),L=1.3;return m=[k-p*L,k+p*L],b=[T-M*L,T+M*L],r._extremes[n._id]=t9.findExtremes(n,m,{padded:!0}),r._extremes[i._id]=t9.findExtremes(i,b,{padded:!0}),YYe(r,\"a\",\"b\"),YYe(r,\"b\",\"a\"),KYe(r,a),KYe(r,o),h.clipsegments=fJt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var rKe=ye((gwr,tKe)=>{\"use strict\";tKe.exports={attributes:Z7(),supplyDefaults:tYe(),plot:dYe(),calc:eKe(),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:mh(),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}});var nKe=ye((mwr,iKe)=>{\"use strict\";iKe.exports=rKe()});var z$=ye((ywr,lKe)=>{\"use strict\";var vJt=Pg(),c0=pf(),pJt=Gl(),{hovertemplateAttrs:gJt,texttemplateAttrs:mJt,templatefallbackAttrs:aKe}=Ll(),oKe=Tu(),Ox=Ao().extendFlat,ug=c0.marker,j5=c0.line,sKe=ug.line;lKe.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:Ox({},c0.mode,{dflt:\"markers\"}),text:Ox({},c0.text,{}),texttemplate:mJt({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),texttemplatefallback:aKe({editType:\"plot\"}),hovertext:Ox({},c0.hovertext,{}),line:{color:j5.color,width:j5.width,dash:j5.dash,backoff:j5.backoff,shape:Ox({},j5.shape,{values:[\"linear\",\"spline\"]}),smoothing:j5.smoothing,editType:\"calc\"},connectgaps:c0.connectgaps,fill:Ox({},c0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:vJt(),marker:Ox({symbol:ug.symbol,opacity:ug.opacity,maxdisplayed:ug.maxdisplayed,angle:ug.angle,angleref:ug.angleref,standoff:ug.standoff,size:ug.size,sizeref:ug.sizeref,sizemin:ug.sizemin,sizemode:ug.sizemode,line:Ox({width:sKe.width,dash:sKe.dash,editType:\"calc\"},oKe(\"marker.line\")),gradient:ug.gradient,editType:\"calc\"},oKe(\"marker\")),textfont:c0.textfont,textposition:c0.textposition,selected:c0.selected,unselected:c0.unselected,hoverinfo:Ox({},pJt.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:c0.hoveron,hovertemplate:gJt(),hovertemplatefallback:aKe(),zorder:c0.zorder}});var hKe=ye((_wr,fKe)=>{\"use strict\";var uKe=Pr(),yJt=Lm(),W5=Ru(),_Jt=$p(),xJt=D0(),cKe=lT(),bJt=F0(),wJt=Fg(),TJt=z$();fKe.exports=function(t,r,n,i){function a(h,d){return uKe.coerce(t,r,TJt,h,d)}a(\"carpet\"),r.xaxis=\"x\",r.yaxis=\"y\";var o=a(\"a\"),s=a(\"b\"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"text\"),a(\"texttemplate\"),a(\"texttemplatefallback\"),a(\"hovertext\");var u=l{\"use strict\";dKe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,c=i.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var r9=ye((bwr,pKe)=>{\"use strict\";pKe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i{\"use strict\";var gKe=Eo(),AJt=z0(),SJt=Rm(),MJt=q0(),EJt=O0().calcMarkerSize,kJt=r9();mKe.exports=function(t,r){var n=r._carpetTrace=kJt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i{\"use strict\";var CJt=vT(),_Ke=ho(),LJt=So();xKe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=_Ke.getFromId(t,l.xaxis||\"x\"),c=_Ke.getFromId(t,l.yaxis||\"y\"),f={xaxis:u,yaxis:c,plot:r.plot};for(a=0;a{\"use strict\";var PJt=yT(),IJt=Pr().fillText;wKe.exports=function(t,r,n,i){var a=PJt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,d=h._carpet,v=h._module.formatLabels(f,h);o.yLabel=v.yLabel,delete o.text;var m=[];function b(M,T){var L;M.labelprefix&&M.labelprefix.length>0?L=M.labelprefix.replace(/ = $/,\"\"):L=M._hovertitle,m.push(L+\": \"+T.toFixed(3)+M.labelsuffix)}if(!h.hovertemplate){var p=f.hi||h.hoverinfo,k=p.split(\"+\");k.indexOf(\"all\")!==-1&&(k=[\"a\",\"b\",\"text\"]),k.indexOf(\"a\")!==-1&&b(d.aaxis,f.a),k.indexOf(\"b\")!==-1&&b(d.baxis,f.b),m.push(\"y: \"+o.yLabel),k.indexOf(\"text\")!==-1&&IJt(f,h,m),o.extraText=m.join(\"
\")}return a}});var SKe=ye((Swr,AKe)=>{\"use strict\";AKe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var EKe=ye((Mwr,MKe)=>{\"use strict\";MKe.exports={attributes:z$(),supplyDefaults:hKe(),colorbar:$d(),formatLabels:vKe(),calc:yKe(),plot:bKe(),style:sp().style,styleOnSelect:sp().styleOnSelect,hoverPoints:TKe(),selectPoints:_T(),eventData:SKe(),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:mh(),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}});var CKe=ye((Ewr,kKe)=>{\"use strict\";kKe.exports=EKe()});var q$=ye((kwr,LKe)=>{\"use strict\";var cg=zT(),T1=q4(),RJt=Tu(),DJt=Ao().extendFlat,ly=T1.contours;LKe.exports=DJt({carpet:{valType:\"string\",editType:\"calc\"},z:cg.z,a:cg.x,a0:cg.x0,da:cg.dx,b:cg.y,b0:cg.y0,db:cg.dy,text:cg.text,hovertext:cg.hovertext,transpose:cg.transpose,atype:cg.xtype,btype:cg.ytype,fillcolor:T1.fillcolor,autocontour:T1.autocontour,ncontours:T1.ncontours,contours:{type:ly.type,start:ly.start,end:ly.end,size:ly.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:ly.showlines,showlabels:ly.showlabels,labelfont:ly.labelfont,labelformat:ly.labelformat,operation:ly.operation,value:ly.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:T1.line.color,width:T1.line.width,dash:T1.line.dash,smoothing:T1.line.smoothing,editType:\"plot\"},zorder:T1.zorder},RJt(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var O$=ye((Cwr,RKe)=>{\"use strict\";var PKe=Pr(),FJt=n8(),IKe=q$(),zJt=RG(),qJt=k8(),OJt=C8();RKe.exports=function(t,r,n,i){function a(u,c){return PKe.coerce(t,r,IKe,u,c)}function o(u){return PKe.coerce2(t,r,IKe,u)}if(a(\"carpet\"),t.a&&t.b){var s=FJt(t,r,a,i,\"a\",\"b\");if(!s){r.visible=!1;return}a(\"text\");var l=a(\"contours.type\")===\"constraint\";l?zJt(t,r,a,i,n,{hasHover:!1}):(qJt(t,r,a,o),OJt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a(\"zorder\")}});var qKe=ye((Lwr,zKe)=>{\"use strict\";var BJt=gv(),DKe=Pr(),NJt=s8(),UJt=u8(),VJt=c8(),GJt=f8(),FKe=rG(),HJt=O$(),jJt=r9(),WJt=bG();zKe.exports=function(t,r){var n=r._carpetTrace=jJt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),HJt(a,r,r._defaultColor,t._fullLayout)}var o=XJt(t,r);return WJt(r,r._z),o}};function XJt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,c,f;n._minDtick=0,i._minDtick=0,DKe.isArray1D(t.z)&&NJt(t,n,i,\"a\",\"b\",[\"z\"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,\"_a\"):[],l=l?i.makeCalcdata(t,\"_b\"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=UJt(t._z||t.z,t.transpose),t._emptypoints=GJt(f),VJt(f,t._emptypoints);var h=DKe.maxRowLength(f),d=t.xtype===\"scaled\"?\"\":a,v=FKe(t,d,o,s,h,n),m=t.ytype===\"scaled\"?\"\":l,b=FKe(t,m,u,c,f.length,i),p={a:v,b,z:f};return t.contours.type===\"levels\"&&t.contours.coloring!==\"none\"&&BJt(e,t,{vals:f,containerStr:\"\",cLetter:\"z\"}),[p]}});var BKe=ye((Pwr,OKe)=>{\"use strict\";var ZJt=Pr().isArrayOrTypedArray;OKe.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v,m,b,p=ZJt(r)?\"a\":\"b\",k=p===\"a\"?e.aaxis:e.baxis,M=k.smoothing,T=p===\"a\"?e.a2i:e.b2j,L=p===\"a\"?r:n,x=p===\"a\"?n:r,C=p===\"a\"?t.a.length:t.b.length,S=p===\"a\"?t.b.length:t.a.length,g=Math.floor(p===\"a\"?e.b2j(x):e.a2i(x)),P=p===\"a\"?function(_e){return e.evalxy([],_e,g)}:function(_e){return e.evalxy([],g,_e)};M&&(o=Math.max(0,Math.min(S-2,g)),s=g-o,a=p===\"a\"?function(_e,ke){return e.dxydi([],_e,o,ke,s)}:function(_e,ke){return e.dxydj([],o,_e,s,ke)});var E=T(L[0]),z=T(L[1]),q=E0?Math.floor:Math.ceil,Z=q>0?Math.ceil:Math.floor,j=q>0?Math.min:Math.max,N=q>0?Math.max:Math.min,H=G(E+U),re=Z(z-U);c=P(E);var oe=[[c]];for(i=H;i*q{\"use strict\";var n9=qa(),a9=I$(),HKe=R$(),pC=So(),A1=Pr(),YJt=TG(),KJt=AG(),Aw=I8(),i9=B4(),JJt=kG(),$Jt=EG(),QJt=CG(),e$t=r9(),NKe=BKe();jKe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;A1.makeTraceGroups(i,n,\"contour\").each(function(s){var l=n9.select(this),u=s[0],c=u.trace,f=c._carpetTrace=e$t(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible===\"legendonly\")return;var d=u.a,v=u.b,m=c.contours,b=$Jt(m,r,u),p=m.type===\"constraint\",k=m._operation,M=p?k===\"=\"?\"lines\":\"fill\":m.coloring;function T(G){var Z=f.ab2xy(G[0],G[1],!0);return[a.c2p(Z[0]),o.c2p(Z[1])]}var L=[[d[0],v[v.length-1]],[d[d.length-1],v[v.length-1]],[d[d.length-1],v[0]],[d[0],v[0]]];YJt(b);var x=(d[d.length-1]-d[0])*1e-8,C=(v[v.length-1]-v[0])*1e-8;KJt(b,x,C);var S=b;m.type===\"constraint\"&&(S=JJt(b,k)),t$t(b,T);var g,P,E,z,q=[];for(z=h.clipsegments.length-1;z>=0;z--)g=h.clipsegments[z],P=a9([],g.x,a.c2p),E=a9([],g.y,o.c2p),P.reverse(),E.reverse(),q.push(HKe(P,E,g.bicubic));var U=\"M\"+q.join(\"L\")+\"Z\";n$t(l,h.clipsegments,a,o,p,M),a$t(c,l,a,o,S,L,T,f,h,M,U),r$t(l,b,t,u,m,r,f),pC.setClipUrl(l,f._clipPathId,t)})};function t$t(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;rb&&(n.max=b),n.len=n.max-n.min}function UKe(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function VKe(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function GKe(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function n$t(e,t,r,n,i,a){var o,s,l,u,c=A1.ensureSingle(e,\"g\",\"contourbg\"),f=c.selectAll(\"path\").data(a===\"fill\"&&!i?[0]:[]);f.enter().append(\"path\"),f.exit().remove();var h=[];for(u=0;u=0&&(d=P,m=b):Math.abs(h[1]-d[1])=0&&(d=P,m=b):A1.log(\"endpt to newendpt is not vert. or horz.\",h,d,P)}if(m>=0)break;u+=S(h,d),h=d}if(m===t.edgepaths.length){A1.log(\"unclosed perimeter path\");break}l=m,f=c.indexOf(l)===-1,f&&(l=c[0],u+=S(h,d)+\"Z\",h=null)}for(l=0;l{\"use strict\";XKe.exports={attributes:q$(),supplyDefaults:O$(),colorbar:F8(),calc:qKe(),plot:WKe(),style:D8(),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:mh(),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}});var KKe=ye((Dwr,YKe)=>{\"use strict\";YKe.exports=ZKe()});var s9=ye((Fwr,tJe)=>{\"use strict\";var o9=Pr().extendFlat,gC=pf(),JKe=df().axisHoverFormat,{hovertemplateAttrs:s$t,templatefallbackAttrs:l$t}=Ll(),QKe=Pd().dash,u$t=p3(),eJe=$T(),c$t=eJe.INCREASING.COLOR,f$t=eJe.DECREASING.COLOR,B$=gC.line;function $Ke(e){return{line:{color:o9({},B$.color,{dflt:e}),width:B$.width,dash:QKe,editType:\"style\"},editType:\"style\"}}tJe.exports={xperiod:gC.xperiod,xperiod0:gC.xperiod0,xperiodalignment:gC.xperiodalignment,xhoverformat:JKe(\"x\"),yhoverformat:JKe(\"y\"),x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:o9({},B$.width,{}),dash:o9({},QKe,{}),editType:\"style\"},increasing:$Ke(c$t),decreasing:$Ke(f$t),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:s$t({},{keys:[\"open\",\"high\",\"low\",\"close\"]}),hovertemplatefallback:l$t(),tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"},hoverlabel:o9({},u$t.hoverlabel,{split:{valType:\"boolean\",dflt:!1,editType:\"style\"}}),zorder:gC.zorder}});var N$=ye((zwr,rJe)=>{\"use strict\";var h$t=Oa(),d$t=Pr();rJe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"open\"),s=n(\"high\"),l=n(\"low\"),u=n(\"close\");n(\"hoverlabel.split\");var c=h$t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(c(t,r,[\"x\"],i),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return a&&(f=Math.min(f,d$t.minRowLength(a))),r._length=f,f}}});var aJe=ye((qwr,nJe)=>{\"use strict\";var v$t=Pr(),p$t=N$(),g$t=Dg(),m$t=s9();nJe.exports=function(t,r,n,i){function a(s,l){return v$t.coerce(t,r,m$t,s,l)}var o=p$t(t,r,a,i);if(!o){r.visible=!1;return}g$t(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),a(\"line.dash\"),iJe(t,r,a,\"increasing\"),iJe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"tickwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function iJe(e,t,r,n){r(n+\".line.color\"),r(n+\".line.width\",t.line.width),r(n+\".line.dash\",t.line.dash)}});var U$=ye((Owr,sJe)=>{\"use strict\";var X5=Pr(),l9=X5._,u9=ho(),y$t=zg(),mC=fs().BADNUM;function _$t(e,t){var r=u9.getFromId(e,t.xaxis),n=u9.getFromId(e,t.yaxis),i=b$t(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=oJe(e,t,o,s,n,x$t);return t._extremes[r._id]=u9.findExtremes(r,s,{vpad:a/2}),l.length?(X5.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function x$t(e,t,r,n){return{o:e,h:t,l:r,c:n}}function oJe(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,\"open\"),s=i.makeCalcdata(t,\"high\"),l=i.makeCalcdata(t,\"low\"),u=i.makeCalcdata(t,\"close\"),c=X5.isArrayOrTypedArray(t.text),f=X5.isArrayOrTypedArray(t.hovertext),h=!0,d=null,v=!!t.xperiodalignment,m=[],b=0;bd):h=L>k,d=L;var x=a(k,M,T,L);x.pos=p,x.yc=(k+L)/2,x.i=b,x.dir=h?\"increasing\":\"decreasing\",x.x=x.pos,x.y=[T,M],v&&(x.orig_p=r[b]),c&&(x.tx=t.text[b]),f&&(x.htx=t.hovertext[b]),m.push(x)}else m.push({pos:p,empty:!0})}return t._extremes[i._id]=u9.findExtremes(i,X5.concat(l,s),{padded:!0}),m.length&&(m[0].t={labels:{open:l9(e,\"open:\")+\" \",high:l9(e,\"high:\")+\" \",low:l9(e,\"low:\")+\" \",close:l9(e,\"close:\")+\" \"}}),m}function b$t(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o{\"use strict\";var w$t=qa(),lJe=Pr();uJe.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;lJe.makeTraceGroups(i,n,\"trace ohlc\").each(function(l){var u=w$t.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var d=f.tickLen,v=u.selectAll(\"path\").data(lJe.identity);v.enter().append(\"path\"),v.exit().remove(),v.attr(\"d\",function(m){if(m.empty)return\"M0,0Z\";var b=o.c2p(m.pos-d,!0),p=o.c2p(m.pos+d,!0),k=s?(b+p)/2:o.c2p(m.pos,!0),M=a.c2p(m.o,!0),T=a.c2p(m.h,!0),L=a.c2p(m.l,!0),x=a.c2p(m.c,!0);return\"M\"+b+\",\"+M+\"H\"+k+\"M\"+k+\",\"+T+\"V\"+L+\"M\"+p+\",\"+x+\"H\"+k})})}});var hJe=ye((Nwr,fJe)=>{\"use strict\";var V$=qa(),T$t=So(),A$t=ka();fJe.exports=function(t,r,n){var i=n||V$.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");i.style(\"opacity\",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;V$.select(this).selectAll(\"path\").each(function(s){if(!s.empty){var l=o[s.dir].line;V$.select(this).style(\"fill\",\"none\").call(A$t.stroke,l.color).call(T$t.dashLine,l.dash,l.width).style(\"opacity\",o.selectedpoints&&!s.selected?.3:1)}})})}});var H$=ye((Uwr,mJe)=>{\"use strict\";var G$=ho(),S$t=Pr(),c9=vf(),M$t=ka(),E$t=Pr().fillText,dJe=$T(),k$t={increasing:dJe.INCREASING.SYMBOL,decreasing:dJe.DECREASING.SYMBOL};function C$t(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?pJe(e,t,r,n):gJe(e,t,r,n)}function vJe(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l===\"ohlc\"?\"l\":\"min\",c=l===\"ohlc\"?\"h\":\"max\",f,h,d=s.bPos||0,v=function(P){return P.pos+d-t},m=s.bdPos||s.tickLen,b=s.wHover,p=Math.min(1,m/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));f=e.maxHoverDistance-p,h=e.maxSpikeDistance-p;function k(P){var E=v(P);return c9.inbox(E-b,E+b,f)}function M(P){var E=P[u],z=P[c];return E===z||c9.inbox(E-r,z-r,f)}function T(P){return(k(P)+M(P))/2}var L=c9.getDistanceFunction(n,k,M,T);if(c9.getClosest(i,L,e),e.index===!1)return null;var x=i[e.index];if(x.empty)return null;var C=x.dir,S=o[C],g=S.line.color;return M$t.opacity(g)&&S.line.width?e.color=g:e.color=S.fillcolor,e.x0=a.c2p(x.pos+d-m,!0),e.x1=a.c2p(x.pos+d+m,!0),e.xLabelVal=x.orig_p!==void 0?x.orig_p:x.pos,e.spikeDistance=T(x)*h/f,e.xSpike=a.c2p(x.pos,!0),e}function pJe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=vJe(e,t,r,n);if(!u)return[];var c=i[u.index],f=c.hi||o.hoverinfo||\"\";if(f===\"none\"||f===\"skip\")return[];for(var h=[\"high\",\"open\",\"close\",\"low\"],d={},v=0;v\"+s.labels[m]+G$.hoverLabelText(a,b,o.yhoverformat)):(k=S$t.extendFlat({},u),k.y0=k.y1=p,k.yLabelVal=b,k.yLabel=s.labels[m]+G$.hoverLabelText(a,b,o.yhoverformat),k.name=\"\",l.push(k),d[b]=k)}return l}function gJe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=vJe(e,t,r,n);if(!l)return[];var u=l.index,c=i[u],f=l.index=c.i,h=c.dir;function d(T){return s.labels[T]+G$.hoverLabelText(a,o[T][f],o.yhoverformat)}var v=c.hi||o.hoverinfo||\"\",m=v.split(\"+\"),b=v===\"all\",p=b||m.indexOf(\"y\")!==-1,k=b||m.indexOf(\"text\")!==-1,M=p?[d(\"open\"),d(\"high\"),d(\"low\"),d(\"close\")+\" \"+k$t[h]]:[];return k&&E$t(c,o,M),l.extraText=M.join(\"
\"),l.y0=l.y1=a.c2p(c.yc,!0),[l]}mJe.exports={hoverPoints:C$t,hoverSplit:pJe,hoverOnPoints:gJe}});var j$=ye((Vwr,yJe)=>{\"use strict\";yJe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s{\"use strict\";_Je.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:mh(),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:s9(),supplyDefaults:aJe(),calc:U$().calc,plot:cJe(),style:hJe(),hoverPoints:H$().hoverPoints,selectPoints:j$()}});var wJe=ye((Hwr,bJe)=>{\"use strict\";bJe.exports=xJe()});var X$=ye((jwr,SJe)=>{\"use strict\";var W$=Pr().extendFlat,TJe=df().axisHoverFormat,vp=s9(),Z5=k4();function AJe(e){return{line:{color:W$({},Z5.line.color,{dflt:e}),width:Z5.line.width,editType:\"style\"},fillcolor:Z5.fillcolor,editType:\"style\"}}SJe.exports={xperiod:vp.xperiod,xperiod0:vp.xperiod0,xperiodalignment:vp.xperiodalignment,xhoverformat:TJe(\"x\"),yhoverformat:TJe(\"y\"),x:vp.x,open:vp.open,high:vp.high,low:vp.low,close:vp.close,line:{width:W$({},Z5.line.width,{}),editType:\"style\"},increasing:AJe(vp.increasing.line.color.dflt),decreasing:AJe(vp.decreasing.line.color.dflt),text:vp.text,hovertext:vp.hovertext,hovertemplate:vp.hovertemplate,hovertemplatefallback:vp.hovertemplatefallback,whiskerwidth:W$({},Z5.whiskerwidth,{dflt:0}),hoverlabel:vp.hoverlabel,zorder:Z5.zorder}});var kJe=ye((Wwr,EJe)=>{\"use strict\";var L$t=Pr(),P$t=ka(),I$t=N$(),R$t=Dg(),D$t=X$();EJe.exports=function(t,r,n,i){function a(s,l){return L$t.coerce(t,r,D$t,s,l)}var o=I$t(t,r,a,i);if(!o){r.visible=!1;return}R$t(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),MJe(t,r,a,\"increasing\"),MJe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),a(\"whiskerwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function MJe(e,t,r,n){var i=r(n+\".line.color\");r(n+\".line.width\",t.line.width),r(n+\".fillcolor\",P$t.addOpacity(i,.5))}});var IJe=ye((Xwr,PJe)=>{\"use strict\";var CJe=Pr(),LJe=ho(),F$t=zg(),z$t=U$().calcCommon;PJe.exports=function(e,t){var r=e._fullLayout,n=LJe.getFromId(e,t.xaxis),i=LJe.getFromId(e,t.yaxis),a=n.makeCalcdata(t,\"x\"),o=F$t(t,n,\"x\",a).vals,s=z$t(e,t,a,o,i,q$t);return s.length?(CJe.extendFlat(s[0].t,{num:r._numBoxes,dPos:CJe.distinctVals(o).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,s):[{t:{empty:!0}}]};function q$t(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var DJe=ye((Zwr,RJe)=>{\"use strict\";RJe.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:mh(),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:X$(),layoutAttributes:C4(),supplyLayoutDefaults:$I().supplyLayoutDefaults,crossTraceCalc:e8().crossTraceCalc,supplyDefaults:kJe(),calc:IJe(),plot:t8().plot,layerName:\"boxlayer\",style:r8().style,hoverPoints:H$().hoverPoints,selectPoints:j$()}});var zJe=ye((Ywr,FJe)=>{\"use strict\";FJe.exports=DJe()});var Y$=ye((Kwr,qJe)=>{\"use strict\";var h9=Pr(),O$t=xm(),f9=h9.deg2rad,Z$=h9.rad2deg;qJe.exports=function(t,r,n){switch(O$t(t,n),t._id){case\"x\":case\"radialaxis\":B$t(t,r);break;case\"angularaxis\":V$t(t,r);break}};function B$t(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function N$t(e,t){return t===\"degrees\"?f9(e):e}function U$t(e,t){return t===\"degrees\"?Z$(e):e}function V$t(e,t){var r=e.type;if(r===\"linear\"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return N$t(n(a),o)},e.c2d=function(a,o){return i(U$t(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,c,f=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),c=0;c{\"use strict\";OJe.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var p9=ye(($wr,GJe)=>{\"use strict\";var Sw=Pr(),BJe=FM().tester,K$=Sw.findIndexOfMin,UJe=Sw.isAngleInsideSector,G$t=Sw.angleDelta,NJe=Sw.angleDist;function H$t(e,t,r,n,i){if(!UJe(t,n))return!1;var a,o;r[0]0?o:1/0},n=K$(t,r),i=Sw.mod(n+1,t.length);return[t[n],t[i]]}function v9(e){return Math.abs(e)>1e-10?e:0}function J$(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a{\"use strict\";function HJe(e){return e<0?-1:e>0?1:0}function K5(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function J5(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function jJe(e,t){return t*e.radius}function $$t(e,t,r,n){var i=J5(e,K5([r,t])),a=i[0],o=i[1],s=J5(e,K5([n,t])),l=s[0],u=s[1];if(t===0)return[\"M\"+a+\",\"+o,\"L\"+l+\",\"+u].join(\" \");var c=jJe(e,1/Math.abs(t));return[\"M\"+a+\",\"+o,\"A\"+c+\",\"+c+\" 0 0,\"+(t<0?1:0)+\" \"+l+\",\"+u].join(\" \")}function Q$t(e,t,r,n){var i=jJe(e,1/(t+1)),a=J5(e,K5([t,r])),o=a[0],s=a[1],l=J5(e,K5([t,n])),u=l[0],c=l[1];if(HJe(r)!==HJe(n)){var f=J5(e,K5([t,0])),h=f[0],d=f[1];return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(0{\"use strict\";var Mw=qa(),eQt=fd(),kw=Oa(),Xc=Pr(),uy=Xc.strRotate,xd=Xc.strTranslate,Q$=ka(),yC=So(),tQt=Mc(),pp=ho(),rQt=xm(),iQt=Y$(),nQt=Mg().doAutoRange,S1=jN(),y9=yv(),XJe=vf(),aQt=zb(),oQt=qf().prepSelect,sQt=qf().selectOnClick,eQ=qf().clearOutline,ZJe=Eg(),YJe=bM(),KJe=CM().redrawReglTraces,lQt=Dh().MID_SHIFT,Bx=d9(),M1=p9(),_9=$$(),g9=_9.smith,uQt=_9.reactanceArc,cQt=_9.resistanceArc,m9=_9.smithTransform,fQt=Xc._,JJe=Xc.mod,Nx=Xc.deg2rad,Ew=Xc.rad2deg;function $Je(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i=\"clip\"+n._uid+t;this.clipIds.forTraces=i+\"-for-traces\",this.clipPaths.forTraces=n._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=n[\"_\"+(r?\"smith\":\"polar\")+\"layer\"].append(\"g\").attr(\"class\",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Bd=$Je.prototype;t$e.exports=function(t,r,n){return new $Je(t,r,n)};Bd.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;ab?(p=u,k=u*b,L=(c-k)/i.h/2,M=[s[0],s[1]],T=[l[0]+L,l[1]-L]):(p=c/b,k=c,L=(u-p)/i.w/2,M=[s[0]+L,s[1]-L],T=[l[0],l[1]]),r.xLength2=p,r.yLength2=k,r.xDomain2=M,r.yDomain2=T;var x=r.xOffset2=i.l+i.w*M[0],C=r.yOffset2=i.t+i.h*(1-T[1]),S=r.radius=p/d,g=r.innerRadius=r.getHole(t)*S,P=r.cx=x-S*h[0],E=r.cy=C+S*h[3],z=r.cxx=P-x,q=r.cyy=E-C,U=a.side,G;U===\"counterclockwise\"?(G=U,U=\"top\"):U===\"clockwise\"&&(G=U,U=\"bottom\"),r.radialAxis=r.mockAxis(e,t,a,{_id:\"x\",side:U,_trueSide:G,domain:[g/i.w,S/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:\"right\",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:\"x\",domain:M}),r.yaxis=r.mockCartesianAxis(e,t,{_id:\"y\",domain:T});var Z=r.pathSubplot();r.clipPaths.forTraces.select(\"path\").attr(\"d\",Z).attr(\"transform\",xd(z,q)),n.frontplot.attr(\"transform\",xd(x,C)).call(yC.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr(\"d\",Z).attr(\"transform\",xd(P,E)).call(Q$.fill,t.bgcolor)};Bd.mockAxis=function(e,t,r,n){var i=Xc.extendFlat({},r,n);return iQt(i,t,e),i};Bd.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=Xc.extendFlat({type:\"linear\"},r);rQt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=a===\"x\"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Bd.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);nQt(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,\"gregorian\"),i.r2l(o[1],null,\"gregorian\")],i.minallowed!==void 0){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]90&&c<=270&&(f.tickangle=180);var v=d?function(S){var g=m9(r,g9([S.x,0]));return xd(g[0]-s,g[1]-l)}:function(S){return xd(f.l2p(S.x)+o,0)},m=d?function(S){return cQt(r,S.x,-1/0,1/0)}:function(S){return r.pathArc(f.r2p(S.x)+o)},b=QJe(u);if(r.radialTickLayout!==b&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=b),h){f.setScale();var p=0,k=d?(f.tickvals||[]).filter(function(S){return S>=0}).map(function(S){return pp.tickText(f,S,!0,!1)}):pp.calcTicks(f),M=d?k:pp.clipEnds(f,k),T=pp.getTickSigns(f)[2];d&&((f.ticks===\"top\"&&f.side===\"bottom\"||f.ticks===\"bottom\"&&f.side===\"top\")&&(T=-T),f.ticks===\"top\"&&f.side===\"top\"&&(p=-f.ticklen),f.ticks===\"bottom\"&&f.side===\"bottom\"&&(p=f.ticklen)),pp.drawTicks(n,f,{vals:k,layer:i[\"radial-axis\"],path:pp.makeTickPath(f,0,T),transFn:v,crisp:!1}),pp.drawGrid(n,f,{vals:M,layer:i[\"radial-grid\"],path:m,transFn:Xc.noop,crisp:!1}),pp.drawLabels(n,f,{vals:k,layer:i[\"radial-axis\"],transFn:v,labelFns:pp.makeLabelFns(f,p)})}var L=r.radialAxisAngle=r.vangles?Ew(e$e(Nx(u.angle),r.vangles)):u.angle,x=xd(s,l),C=x+uy(-L);_C(i[\"radial-axis\"],h&&(u.showticklabels||u.ticks),{transform:C}),_C(i[\"radial-grid\"],h&&u.showgrid,{transform:d?\"\":x}),_C(i[\"radial-line\"].select(\"line\"),h&&u.showline,{x1:d?-a:o,y1:0,x2:a,y2:0,transform:C}).attr(\"stroke-width\",u.linewidth).call(Q$.stroke,u.linecolor)};Bd.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+\"title\",c=0;if(l.title){var f=yC.bBox(n.layers[\"radial-axis\"].node()).height,h=l.title.font.size,d=l.side;c=d===\"top\"?h:d===\"counterclockwise\"?-(f+h*.4):f+h*.8}var v=r!==void 0?r:n.radialAxisAngle,m=Nx(v),b=Math.cos(m),p=Math.sin(m),k=o+a/2*b+c*p,M=s-a/2*p+c*b;n.layers[\"radial-axis-title\"]=aQt.draw(i,u,{propContainer:l,propName:n.id+\".radialaxis.title.text\",placeholder:fQt(i,\"Click to enter radial axis title\"),attributes:{x:k,y:M,\"text-anchor\":\"middle\"},transform:{rotate:-v}})}};Bd.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey(\"angularaxis.rotation\",u.rotation),c.setGeometry(),c.setScale());var h=f?function(g){var P=m9(r,g9([0,g.x]));return Math.atan2(P[0]-s,P[1]-l)-Math.PI/2}:function(g){return c.t2g(g.x)};c.type===\"linear\"&&c.thetaunit===\"radians\"&&(c.tick0=Ew(c.tick0),c.dtick=Ew(c.dtick));var d=function(g){return xd(s+a*Math.cos(g),l-a*Math.sin(g))},v=f?function(g){var P=m9(r,g9([0,g.x]));return xd(P[0],P[1])}:function(g){return d(h(g))},m=f?function(g){var P=m9(r,g9([0,g.x])),E=Math.atan2(P[0]-s,P[1]-l)-Math.PI/2;return xd(P[0],P[1])+uy(-Ew(E))}:function(g){var P=h(g);return d(P)+uy(-Ew(P))},b=f?function(g){return uQt(r,g.x,0,1/0)}:function(g){var P=h(g),E=Math.cos(P),z=Math.sin(P);return\"M\"+[s+o*E,l-o*z]+\"L\"+[s+a*E,l-a*z]},p=pp.makeLabelFns(c,0),k=p.labelStandoff,M={};M.xFn=function(g){var P=h(g);return Math.cos(P)*k},M.yFn=function(g){var P=h(g),E=Math.sin(P)>0?.2:1;return-Math.sin(P)*(k+g.fontSize*E)+Math.abs(Math.cos(P))*(g.fontSize*lQt)},M.anchorFn=function(g){var P=h(g),E=Math.cos(P);return Math.abs(E)<.1?\"middle\":E>0?\"start\":\"end\"},M.heightFn=function(g,P,E){var z=h(g);return-.5*(1+Math.sin(z))*E};var T=QJe(u);r.angularTickLayout!==T&&(i[\"angular-axis\"].selectAll(\".\"+c._id+\"tick\").remove(),r.angularTickLayout=T);var L=f?[1/0].concat(c.tickvals||[]).map(function(g){return pp.tickText(c,g,!0,!1)}):pp.calcTicks(c);f&&(L[0].text=\"\\u221E\",L[0].fontSize*=1.75);var x;if(t.gridshape===\"linear\"?(x=L.map(h),Xc.angleDelta(x[0],x[1])<0&&(x=x.slice().reverse())):x=null,r.vangles=x,c.type===\"category\"&&(L=L.filter(function(g){return Xc.isAngleInsideSector(h(g),r.sectorInRad)})),c.visible){var C=c.ticks===\"inside\"?-1:1,S=(c.linewidth||1)/2;pp.drawTicks(n,c,{vals:L,layer:i[\"angular-axis\"],path:\"M\"+C*S+\",0h\"+C*c.ticklen,transFn:m,crisp:!1}),pp.drawGrid(n,c,{vals:L,layer:i[\"angular-grid\"],path:b,transFn:Xc.noop,crisp:!1}),pp.drawLabels(n,c,{vals:L,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:v,labelFns:M})}_C(i[\"angular-line\"].select(\"path\"),u.showline,{d:r.pathSubplot(),transform:xd(s,l)}).attr(\"stroke-width\",u.linewidth).call(Q$.stroke,u.linecolor)};Bd.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Bd.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=Bx.MINZOOM,s=Bx.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,d=t.cyy,v=t.sectorInRad,m=t.vangles,b=t.radialAxis,p=M1.clampTiny,k=M1.findXYatLength,M=M1.findEnclosingVertexAngles,T=Bx.cornerHalfWidth,L=Bx.cornerLen/2,x,C,S=S1.makeDragger(i,\"path\",\"maindrag\",e.dragmode===!1?\"none\":\"crosshair\");Mw.select(S).attr(\"d\",t.pathSubplot()).attr(\"transform\",xd(c,f)),S.onmousemove=function(ce){XJe.hover(n,ce,t.id),n._fullLayout._lasthover=S,n._fullLayout._hoversubplot=t.id},S.onmouseout=function(ce){n._dragging||y9.unhover(n,ce)};var g={element:S,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},P,E,z,q,U,G,Z,j,N;function H(ce,He){return Math.sqrt(ce*ce+He*He)}function re(ce,He){return H(ce-h,He-d)}function oe(ce,He){return Math.atan2(d-He,ce-h)}function _e(ce,He){return[ce*Math.cos(He),ce*Math.sin(-He)]}function ke(ce,He){if(ce===0)return t.pathSector(2*T);var lt=L/ce,mt=He-lt,Vt=He+lt,st=Math.max(0,Math.min(ce,l)),ct=st-T,Qt=st+T;return\"M\"+_e(ct,mt)+\"A\"+[ct,ct]+\" 0,0,0 \"+_e(ct,Vt)+\"L\"+_e(Qt,Vt)+\"A\"+[Qt,Qt]+\" 0,0,1 \"+_e(Qt,mt)+\"Z\"}function Ce(ce,He,lt){if(ce===0)return t.pathSector(2*T);var mt=_e(ce,He),Vt=_e(ce,lt),st=p((mt[0]+Vt[0])/2),ct=p((mt[1]+Vt[1])/2),Qt,Ht;if(st&&ct){var nr=ct/st,tt=-1/nr,je=k(T,nr,st,ct);Qt=k(L,tt,je[0][0],je[0][1]),Ht=k(L,tt,je[1][0],je[1][1])}else{var Ue,Ae;ct?(Ue=L,Ae=T):(Ue=T,Ae=L),Qt=[[st-Ue,ct-Ae],[st+Ue,ct-Ae]],Ht=[[st-Ue,ct+Ae],[st+Ue,ct+Ae]]}return\"M\"+Qt.join(\"L\")+\"L\"+Ht.reverse().join(\"L\")+\"Z\"}function ge(){z=null,q=null,U=t.pathSubplot(),G=!1;var ce=n._fullLayout[t.id];Z=eQt(ce.bgcolor).getLuminance(),j=S1.makeZoombox(a,Z,c,f,U),j.attr(\"fill-rule\",\"evenodd\"),N=S1.makeCorners(a,c,f),eQ(n)}function ie(ce,He){return He=Math.max(Math.min(He,l),u),ceo?(ce-1&&ce===1&&sQt(He,n,[t.xaxis],[t.yaxis],t.id,g),lt.indexOf(\"event\")>-1&&XJe.click(n,He,t.id)}g.prepFn=function(ce,He,lt){var mt=n._fullLayout.dragmode,Vt=S.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var st=n._fullLayout._invTransform;x=n._fullLayout._invScaleX,C=n._fullLayout._invScaleY;var ct=Xc.apply3DTransform(st)(He-Vt.left,lt-Vt.top);if(P=ct[0],E=ct[1],m){var Qt=M1.findPolygonOffset(l,v[0],v[1],m);P+=h+Qt[0],E+=d+Qt[1]}switch(mt){case\"zoom\":g.clickFn=Pe,r||(m?g.moveFn=De:g.moveFn=Ee,g.doneFn=Le,ge(ce,He,lt));break;case\"select\":case\"lasso\":oQt(ce,He,lt,g,mt);break}},y9.init(g)};Bd.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=Bx.radialDragBoxSize,h=f/2;if(!c.visible)return;var d=Nx(n.radialAxisAngle),v=c._rl,m=v[0],b=v[1],p=v[r],k=.75*(v[1]-v[0])/(1-n.getHole(t))/o,M,T,L;r?(M=l+(o+h)*Math.cos(d),T=u-(o+h)*Math.sin(d),L=\"radialdrag\"):(M=l+(s-h)*Math.cos(d),T=u-(s-h)*Math.sin(d),L=\"radialdrag-inner\");var x=S1.makeRectDragger(a,L,\"crosshair\",-h,-h,f,f),C={element:x,gd:i};e.dragmode===!1&&(C.dragmode=!1),_C(Mw.select(x),c.visible&&s0!=(r?P>m:P=90||i>90&&a>=450?d=1:s<=0&&u<=0?d=0:d=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,d]}function e$e(e,t){var r=function(i){return Xc.angleDist(e,i)},n=Xc.findIndexOfMin(t,r);return t[n]}function _C(e,t,r){return t?(e.attr(\"display\",null),e.attr(r)):e&&e.attr(\"display\",\"none\"),e}});var rQ=ye((t3r,s$e)=>{\"use strict\";var dQt=Ih(),os=Rd(),vQt=Cc().attributes,f0=Pr().extendFlat,r$e=mc().overrideAll,i$e=r$e({color:os.color,showline:f0({},os.showline,{dflt:!0}),linecolor:os.linecolor,linewidth:os.linewidth,showgrid:f0({},os.showgrid,{dflt:!0}),gridcolor:os.gridcolor,gridwidth:os.gridwidth,griddash:os.griddash},\"plot\",\"from-root\"),n$e=r$e({tickmode:os.minor.tickmode,nticks:os.nticks,tick0:os.tick0,dtick:os.dtick,tickvals:os.tickvals,ticktext:os.ticktext,ticks:os.ticks,ticklen:os.ticklen,tickwidth:os.tickwidth,tickcolor:os.tickcolor,ticklabelstep:os.ticklabelstep,showticklabels:os.showticklabels,labelalias:os.labelalias,minorloglabels:os.minorloglabels,showtickprefix:os.showtickprefix,tickprefix:os.tickprefix,showticksuffix:os.showticksuffix,ticksuffix:os.ticksuffix,showexponent:os.showexponent,exponentformat:os.exponentformat,minexponent:os.minexponent,separatethousands:os.separatethousands,tickfont:os.tickfont,tickangle:os.tickangle,tickformat:os.tickformat,tickformatstops:os.tickformatstops,layer:os.layer},\"plot\",\"from-root\"),a$e={visible:f0({},os.visible,{dflt:!0}),type:f0({},os.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:os.autotypenumbers,autorangeoptions:{minallowed:os.autorangeoptions.minallowed,maxallowed:os.autorangeoptions.maxallowed,clipmin:os.autorangeoptions.clipmin,clipmax:os.autorangeoptions.clipmax,include:os.autorangeoptions.include,editType:\"plot\"},autorange:f0({},os.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},minallowed:f0({},os.minallowed,{editType:\"plot\"}),maxallowed:f0({},os.maxallowed,{editType:\"plot\"}),range:f0({},os.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:os.categoryorder,categoryarray:os.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},autotickangles:os.autotickangles,side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:f0({},os.title.text,{editType:\"plot\",dflt:\"\"}),font:f0({},os.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:os.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(a$e,i$e,n$e);var o$e={visible:f0({},os.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:os.autotypenumbers,categoryorder:os.categoryorder,categoryarray:os.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:os.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(o$e,i$e,n$e);s$e.exports={domain:vQt({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:dQt.background},radialaxis:a$e,angularaxis:o$e,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var f$e=ye((r3r,c$e)=>{\"use strict\";var x9=Pr(),pQt=ka(),gQt=vl(),mQt=q_(),yQt=Id().getSubplotData,_Qt=Lb(),xQt=z3(),bQt=s_(),wQt=l_(),TQt=cI(),AQt=u4(),SQt=TB(),MQt=G3(),u$e=rQ(),EQt=Y$(),b9=d9(),l$e=b9.axisNames;function kQt(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=pQt.combine(i,n.paper_bgcolor);var a=r(\"sector\");r(\"hole\");var o=yQt(n.fullData,b9.name,n.id),s=n.layoutOut,l;function u(j,N){return r(l+\".\"+j,N)}for(var c=0;c{\"use strict\";var LQt=Id().getSubplotCalcData,PQt=Pr().counterRegex,IQt=tQ(),d$e=d9(),v$e=d$e.attr,Cw=d$e.name,h$e=PQt(Cw),p$e={};p$e[v$e]={valType:\"subplotid\",dflt:Cw,editType:\"calc\"};function RQt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Cw],i=0;i{\"use strict\";var{hovertemplateAttrs:FQt,texttemplateAttrs:zQt,templatefallbackAttrs:m$e}=Ll(),T9=Ao().extendFlat,qQt=Pg(),h0=pf(),OQt=Gl(),$5=h0.line;y$e.exports={mode:h0.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:h0.text,texttemplate:zQt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),texttemplatefallback:m$e({editType:\"plot\"}),hovertext:h0.hovertext,line:{color:$5.color,width:$5.width,dash:$5.dash,backoff:$5.backoff,shape:T9({},$5.shape,{values:[\"linear\",\"spline\"]}),smoothing:$5.smoothing,editType:\"calc\"},connectgaps:h0.connectgaps,marker:h0.marker,cliponaxis:T9({},h0.cliponaxis,{dflt:!1}),textposition:h0.textposition,textfont:h0.textfont,fill:T9({},h0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:qQt(),hoverinfo:T9({},OQt.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:h0.hoveron,hovertemplate:FQt(),hovertemplatefallback:m$e(),selected:h0.selected,unselected:h0.unselected}});var S9=ye((a3r,b$e)=>{\"use strict\";var A9=Pr(),Q5=Ru(),BQt=$p(),NQt=D0(),_$e=lT(),UQt=F0(),VQt=Fg(),GQt=Lm().PTS_LINESONLY,HQt=xC();function jQt(e,t,r,n){function i(s,l){return A9.coerce(e,t,HQt,s,l)}var a=x$e(e,t,n,i);if(!a){t.visible=!1;return}i(\"thetaunit\"),i(\"mode\",a{\"use strict\";var WQt=Pr(),w$e=ho();T$e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=w$e.tickText(o,l,!0).text;var u=s.thetaunit===\"degrees\"?WQt.rad2deg(t.theta):t.theta;return i.thetaLabel=w$e.tickText(s,u,!0).text,i}});var M$e=ye((s3r,S$e)=>{\"use strict\";var A$e=Eo(),XQt=fs().BADNUM,ZQt=ho(),YQt=z0(),KQt=Rm(),JQt=q0(),$Qt=O0().calcMarkerSize;S$e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,\"r\"),l=o.makeCalcdata(r,\"theta\"),u=r._length,c=new Array(u),f=0;f{\"use strict\";var QQt=vT(),E$e=fs().BADNUM;k$e.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c{\"use strict\";var eer=yT();function ter(e,t,r,n){var i=eer(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,L$e(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function L$e(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"r\",a._hovertitle=\"\\u03B8\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"r\",\"theta\",\"text\"]),f.indexOf(\"r\")!==-1&&c(i,n.rLabel),f.indexOf(\"theta\")!==-1&&c(a,n.thetaLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"
\")}}P$e.exports={hoverPoints:ter,makeHoverPointText:L$e}});var R$e=ye((c3r,I$e)=>{\"use strict\";I$e.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:w9(),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:xC(),supplyDefaults:S9().supplyDefaults,colorbar:$d(),formatLabels:M9(),calc:M$e(),plot:C$e(),style:sp().style,styleOnSelect:sp().styleOnSelect,hoverPoints:E9().hoverPoints,selectPoints:_T(),meta:{}}});var F$e=ye((f3r,D$e)=>{\"use strict\";D$e.exports=R$e()});var iQ=ye((v3r,q$e)=>{\"use strict\";var z$e=xC(),{cliponaxis:h3r,hoveron:d3r}=z$e,rer=gee(z$e,[\"cliponaxis\",\"hoveron\"]),{connectgaps:ier,line:{color:ner,dash:aer,width:oer},fill:ser,fillcolor:ler,marker:uer,textfont:cer,textposition:fer}=gk();q$e.exports=j1(_g({},rer),{connectgaps:ier,fill:ser,fillcolor:ler,line:{color:ner,dash:aer,editType:\"calc\",width:oer},marker:uer,textfont:cer,textposition:fer})});var N$e=ye((g3r,B$e)=>{\"use strict\";var O$e=Pr(),nQ=Ru(),her=S9().handleRThetaDefaults,der=$p(),ver=D0(),per=F0(),ger=Fg(),mer=Lm().PTS_LINESONLY,yer=iQ();B$e.exports=function(t,r,n,i){function a(s,l){return O$e.coerce(t,r,yer,s,l)}var o=her(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"mode\",o{\"use strict\";var _er=M9();U$e.exports=function(t,r,n){var i=t.i;return\"r\"in t||(t.r=r._r[i]),\"theta\"in t||(t.theta=r._theta[i]),_er(t,r,n)}});var H$e=ye((y3r,G$e)=>{\"use strict\";var xer=z0(),ber=O0().calcMarkerSize,wer=sw(),Ter=ho(),Aer=px().TOO_MANY_POINTS;G$e.exports=function(t,r){var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=r._r=a.makeCalcdata(r,\"r\"),l=r._theta=o.makeCalcdata(r,\"theta\"),u=r._length,c={};u{\"use strict\";var Ser=jF(),Mer=E9().makeHoverPointText;function Eer(e,t,r,n){var i=e.cd,a=i[0].t,o=a.r,s=a.theta,l=Ser.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,Mer(f,h,c,u),l}}j$e.exports={hoverPoints:Eer}});var Z$e=ye((x3r,X$e)=>{\"use strict\";X$e.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:w9(),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:iQ(),supplyDefaults:N$e(),colorbar:$d(),formatLabels:V$e(),calc:H$e(),hoverPoints:W$e().hoverPoints,selectPoints:gY(),meta:{}}});var Y$e=ye((b3r,aQ)=>{\"use strict\";var ker=ZF(),Cer=Eo(),Ler=xK(),Per=dY(),k9=sw(),C9=Pr(),Ier=px().TOO_MANY_POINTS,Rer={};aQ.exports=function(t,r,n){if(n.length){var i=r.radialAxis,a=r.angularAxis,o=Per(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,d=c.theta,v=c.opts,m,b=h.slice(),p=d.slice();for(m=0;m=Ier&&(v.marker.cluster=c.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=k),v.line&&k.length>1&&C9.extendFlat(v.line,k9.linePositions(t,u,k)),v.text&&(C9.extendFlat(v.text,{positions:k},k9.textPosition(t,u,v.text,v.marker)),C9.extendFlat(v.textSel,{positions:k},k9.textPosition(t,u,v.text,v.markerSel)),C9.extendFlat(v.textUnsel,{positions:k},k9.textPosition(t,u,v.text,v.markerUnsel))),v.fill&&!o.fill2d&&(o.fill2d=!0),v.marker&&!o.scatter2d&&(o.scatter2d=!0),v.line&&!o.line2d&&(o.line2d=!0),v.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(v.line),o.fillOptions.push(v.fill),o.markerOptions.push(v.marker),o.markerSelectedOptions.push(v.markerSel),o.markerUnselectedOptions.push(v.markerUnsel),o.textOptions.push(v.text),o.textSelectedOptions.push(v.textSel),o.textUnselectedOptions.push(v.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=M,c.y=T,c.rawx=M,c.rawy=T,c.r=h,c.theta=d,c.positions=k,c._scene=o,c.index=o.count,o.count++}}),Ler(t,r,n)}};aQ.exports.reglPrecompiled=Rer});var $$e=ye((w3r,J$e)=>{\"use strict\";var K$e=Z$e();K$e.plot=Y$e();J$e.exports=K$e});var eQe=ye((T3r,Q$e)=>{\"use strict\";Q$e.exports=$$e()});var oQ=ye((A3r,tQe)=>{\"use strict\";var{hovertemplateAttrs:Der,templatefallbackAttrs:Fer}=Ll(),eS=Ao().extendFlat,Ux=xC(),Vx=zm();tQe.exports={r:Ux.r,theta:Ux.theta,r0:Ux.r0,dr:Ux.dr,theta0:Ux.theta0,dtheta:Ux.dtheta,thetaunit:Ux.thetaunit,base:eS({},Vx.base,{}),offset:eS({},Vx.offset,{}),width:eS({},Vx.width,{}),text:eS({},Vx.text,{}),hovertext:eS({},Vx.hovertext,{}),marker:zer(),hoverinfo:Ux.hoverinfo,hovertemplate:Der(),hovertemplatefallback:Fer(),selected:Vx.selected,unselected:Vx.unselected};function zer(){var e=eS({},Vx.marker);return delete e.cornerradius,e}});var sQ=ye((S3r,rQe)=>{\"use strict\";rQe.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}});var aQe=ye((M3r,nQe)=>{\"use strict\";var iQe=Pr(),qer=S9().handleRThetaDefaults,Oer=WI(),Ber=oQ();nQe.exports=function(t,r,n,i){function a(s,l){return iQe.coerce(t,r,Ber,s,l)}var o=qer(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"base\"),a(\"offset\"),a(\"width\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"hovertemplatefallback\"),Oer(t,r,a,n,i),iQe.coerceSelectionMarkerOpacity(r,a)}});var sQe=ye((E3r,oQe)=>{\"use strict\";var Ner=Pr(),Uer=sQ();oQe.exports=function(e,t,r){var n={},i;function a(l,u){return Ner.coerce(e[i]||{},t[i],Uer,l,u)}for(var o=0;o{\"use strict\";var lQe=pv().hasColorscale,uQe=gv(),Ver=Pr().isArrayOrTypedArray,Ger=A4(),Her=t2().setGroupPositions,jer=q0(),Wer=Oa().traceIs,Xer=Pr().extendFlat;function Zer(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,\"r\"),s=a.makeCalcdata(t,\"theta\"),l=t._length,u=new Array(l),c=o,f=s,h=0;h{\"use strict\";var fQe=qa(),L9=Eo(),tS=Pr(),Ker=So(),uQ=p9();hQe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=Jer(r),c=r.layers.frontplot.select(\"g.barlayer\");tS.makeTraceGroups(c,n,\"trace bars\").each(function(){var f=fQe.select(this),h=tS.ensureSingle(f,\"g\",\"points\"),d=h.selectAll(\"g.point\").data(tS.identity);d.enter().append(\"g\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),d.exit().remove(),d.each(function(v){var m=fQe.select(this),b=v.rp0=s.c2p(v.s0),p=v.rp1=s.c2p(v.s1),k=v.thetag0=l.c2g(v.p0),M=v.thetag1=l.c2g(v.p1),T;if(!L9(b)||!L9(p)||!L9(k)||!L9(M)||b===p||k===M)T=\"M0,0Z\";else{var L=s.c2g(v.s1),x=(k+M)/2;v.ct=[a.c2p(L*Math.cos(x)),o.c2p(L*Math.sin(x))],T=u(b,p,k,M)}tS.ensureSingle(m,\"path\").attr(\"d\",T)}),Ker.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function Jer(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;tS.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=uQ.findEnclosingVertexAngles(s,e.vangles)[0],c=uQ.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return uQ.pathPolygonAnnulus(n,i,s,l,f,t,r)}:function(n,i,a,o){return tS.pathAnnulus(n,i,a,o,t,r)}}});var pQe=ye((L3r,vQe)=>{\"use strict\";var $er=vf(),cQ=Pr(),Qer=IT().getTraceColor,etr=cQ.fillText,ttr=E9().makeHoverPointText,rtr=p9().isPtInsidePolygon;vQe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?rtr:cQ.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,d=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),v=Math.atan2(n,r);s.range[0]>s.range[1]&&(v+=Math.PI);var m=function(M){return c(d,v,[M.rp0,M.rp1],[M.thetag0,M.thetag1],u)?f+Math.min(1,Math.abs(M.thetag1-M.thetag0)/h)-1+(M.rp1-d)/(M.rp1-M.rp0)-1:1/0};if($er.getClosest(i,m,t),t.index!==!1){var b=t.index,p=i[b];t.x0=t.x1=p.ct[0],t.y0=t.y1=p.ct[1];var k=cQ.extendFlat({},p,{r:p.s,theta:p.p});return etr(p,a,t),ttr(k,a,o,t),t.hovertemplate=a.hovertemplate,t.color=Qer(a,p),t.xLabelVal=t.yLabelVal=void 0,p.s<0&&(t.idealAlign=\"left\"),[t]}}});var mQe=ye((P3r,gQe)=>{\"use strict\";gQe.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:w9(),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:oQ(),layoutAttributes:sQ(),supplyDefaults:aQe(),supplyLayoutDefaults:sQe(),calc:lQ().calc,crossTraceCalc:lQ().crossTraceCalc,plot:dQe(),colorbar:$d(),formatLabels:M9(),style:V0().style,styleOnSelect:V0().styleOnSelect,hoverPoints:pQe(),selectPoints:RT(),meta:{}}});var _Qe=ye((I3r,yQe)=>{\"use strict\";yQe.exports=mQe()});var fQ=ye((R3r,xQe)=>{\"use strict\";xQe.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}});var hQ=ye((D3r,AQe)=>{\"use strict\";var itr=Ih(),Uf=Rd(),ntr=Cc().attributes,Gx=Pr().extendFlat,bQe=mc().overrideAll,wQe=bQe({color:Uf.color,showline:Gx({},Uf.showline,{dflt:!0}),linecolor:Uf.linecolor,linewidth:Uf.linewidth,showgrid:Gx({},Uf.showgrid,{dflt:!0}),gridcolor:Uf.gridcolor,gridwidth:Uf.gridwidth,griddash:Uf.griddash},\"plot\",\"from-root\"),TQe=bQe({ticklen:Uf.ticklen,tickwidth:Gx({},Uf.tickwidth,{dflt:2}),tickcolor:Uf.tickcolor,showticklabels:Uf.showticklabels,labelalias:Uf.labelalias,showtickprefix:Uf.showtickprefix,tickprefix:Uf.tickprefix,showticksuffix:Uf.showticksuffix,ticksuffix:Uf.ticksuffix,tickfont:Uf.tickfont,tickformat:Uf.tickformat,hoverformat:Uf.hoverformat,layer:Uf.layer},\"plot\",\"from-root\"),atr=Gx({visible:Gx({},Uf.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:Gx({},Uf.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},wQe,TQe),otr=Gx({visible:Gx({},Uf.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:Uf.ticks,editType:\"calc\"},wQe,TQe);AQe.exports={domain:ntr({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:itr.background},realaxis:atr,imaginaryaxis:otr,editType:\"calc\"}});var EQe=ye((F3r,MQe)=>{\"use strict\";var rS=Pr(),str=ka(),ltr=vl(),utr=q_(),ctr=Id().getSubplotData,ftr=l_(),htr=s_(),dtr=u4(),vtr=xm(),iS=hQ(),dQ=fQ(),SQe=dQ.axisNames,ptr=mtr(function(e){return rS.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function gtr(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=str.combine(i,n.paper_bgcolor);var a=ctr(n.fullData,dQ.name,n.id),o=n.layoutOut,s;function l(L,x){return r(s+\".\"+L,x)}for(var u=0;u{\"use strict\";var ytr=Id().getSubplotCalcData,_tr=Pr().counterRegex,xtr=tQ(),CQe=fQ(),LQe=CQe.attr,Lw=CQe.name,kQe=_tr(Lw),PQe={};PQe[LQe]={valType:\"subplotid\",dflt:Lw,editType:\"calc\"};function btr(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Lw],i=0;i{\"use strict\";var{hovertemplateAttrs:Ttr,texttemplateAttrs:Atr,templatefallbackAttrs:DQe}=Ll(),P9=Ao().extendFlat,Str=Pg(),d0=pf(),Mtr=Gl(),nS=d0.line;FQe.exports={mode:d0.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:d0.text,texttemplate:Atr({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),texttemplatefallback:DQe({editType:\"plot\"}),hovertext:d0.hovertext,line:{color:nS.color,width:nS.width,dash:nS.dash,backoff:nS.backoff,shape:P9({},nS.shape,{values:[\"linear\",\"spline\"]}),smoothing:nS.smoothing,editType:\"calc\"},connectgaps:d0.connectgaps,marker:d0.marker,cliponaxis:P9({},d0.cliponaxis,{dflt:!1}),textposition:d0.textposition,textfont:d0.textfont,fill:P9({},d0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:Str(),hoverinfo:P9({},Mtr.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:d0.hoveron,hovertemplate:Ttr(),hovertemplatefallback:DQe(),selected:d0.selected,unselected:d0.unselected}});var OQe=ye((O3r,qQe)=>{\"use strict\";var I9=Pr(),aS=Ru(),Etr=$p(),ktr=D0(),zQe=lT(),Ctr=F0(),Ltr=Fg(),Ptr=Lm().PTS_LINESONLY,Itr=vQ();qQe.exports=function(t,r,n,i){function a(l,u){return I9.coerce(t,r,Itr,l,u)}var o=Rtr(t,r,i,a);if(!o){r.visible=!1;return}a(\"mode\",o{\"use strict\";var BQe=ho();NQe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.realLabel=BQe.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=BQe.tickText(a.angularAxis,t.imag,!0).text,i}});var HQe=ye((N3r,GQe)=>{\"use strict\";var VQe=Eo(),Dtr=fs().BADNUM,Ftr=z0(),ztr=Rm(),qtr=q0(),Otr=O0().calcMarkerSize;GQe.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].realaxis,o=n[i].imaginaryaxis,s=a.makeCalcdata(r,\"real\"),l=o.makeCalcdata(r,\"imag\"),u=r._length,c=new Array(u),f=0;f{\"use strict\";var Btr=vT(),jQe=fs().BADNUM,Ntr=$$(),Utr=Ntr.smith;WQe.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l{\"use strict\";var Vtr=yT();function Gtr(e,t,r,n){var i=Vtr(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,ZQe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function ZQe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"real\",a._hovertitle=\"imag\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"real\",\"imag\",\"text\"]),f.indexOf(\"real\")!==-1&&c(i,n.realLabel),f.indexOf(\"imag\")!==-1&&c(a,n.imagLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"
\")}}YQe.exports={hoverPoints:Gtr,makeHoverPointText:ZQe}});var $Qe=ye((G3r,JQe)=>{\"use strict\";JQe.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:RQe(),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:vQ(),supplyDefaults:OQe(),colorbar:$d(),formatLabels:UQe(),calc:HQe(),plot:XQe(),style:sp().style,styleOnSelect:sp().styleOnSelect,hoverPoints:KQe().hoverPoints,selectPoints:_T(),meta:{}}});var eet=ye((H3r,QQe)=>{\"use strict\";QQe.exports=$Qe()});var kv=ye((j3r,ret)=>{var D9=Nh();function tet(){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={}}D9(tet.prototype,{instance:function(e,t){e=(e||\"gregorian\").toLowerCase(),t=t||\"\";var r=this._localCals[e+\"-\"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+\"-\"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n==\"string\"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+\"\").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(a===0?\"\":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function pQ(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(Gs.local.invalidDate||Gs.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function R9(e,t){return e=\"\"+e,\"000000\".substring(0,t-e.length)+e}D9(pQ.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,\"y\")},month:function(e){return arguments.length===0?this._month:this.set(e,\"m\")},day:function(e){return arguments.length===0?this._day:this.set(e,\"d\")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(Gs.local.invalidDate||Gs.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=e,this._month=t,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(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(Gs.local.differentCalendars||Gs.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?\"-\":\"\")+R9(Math.abs(this.year()),4)+\"-\"+R9(this.month(),2)+\"-\"+R9(this.day(),2)}});function gQ(){this.shortYearCutoff=\"+10\"}D9(gQ.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,Gs.local.invalidDate||Gs.regionalOptions[\"\"].invalidDate),r=e.day(),t=e.month(),e=e.year()),new pQ(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,Gs.local.invalidYear||Gs.regionalOptions[\"\"].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Gs.local.invalidYear||Gs.regionalOptions[\"\"].invalidYear);return(t.year()<0?\"-\":\"\")+R9(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Gs.local.invalidYear||Gs.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,Gs.local.invalidMonth||Gs.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,Gs.local.invalidMonth||Gs.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Gs.local.invalidYear||Gs.regionalOptions[\"\"].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,Gs.local.invalidDate||Gs.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(e,t,r){var n=this._validate(e,t,r,Gs.local.invalidDate||Gs.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,Gs.local.invalidDate||Gs.regionalOptions[\"\"].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,Gs.local.invalidDate||Gs.regionalOptions[\"\"].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r===\"d\"||r===\"w\"){var n=e.toJD()+t*(r===\"w\"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r===\"y\"?t:0),o=e.monthOfYear()+(r===\"m\"?t:0),i=e.day(),s=function(c){for(;of-1+c.minMonth;)a++,o-=f,f=c.monthsInYear(a)};r===\"y\"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r===\"m\"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n===\"y\"||n===\"m\")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,Gs.local.invalidDate||Gs.regionalOptions[\"\"].invalidDate);var n=r===\"y\"?t:e.year(),i=r===\"m\"?t:e.month(),a=r===\"d\"?t:e.day();return(r===\"y\"||r===\"m\")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Gs.local.invalidDate||Gs.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var Gs=ret.exports=new tet;Gs.cdate=pQ;Gs.baseCalendar=gQ;Gs.calendars.gregorian=mQ});var iet=ye(()=>{var yQ=Nh(),Nd=kv();yQ(Nd.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\"});Nd.local=Nd.regionalOptions[\"\"];yQ(Nd.cdate.prototype,{formatDate:function(e,t){return typeof e!=\"string\"&&(t=e,e=\"\"),this._calendar.formatDate(e||\"\",this,t)}});yQ(Nd.baseCalendar.prototype,{UNIX_EPOCH:Nd.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:Nd.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,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(e,t,r){if(typeof e!=\"string\"&&(r=t,t=e,e=\"\"),!t)return\"\";if(t.calendar()!==this)throw Nd.local.invalidFormat||Nd.regionalOptions[\"\"].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(T,L){for(var x=1;M+x1},c=function(T,L,x,C){var S=\"\"+L;if(u(T,C))for(;S.length1},k=function(z,q){var U=p(z,q),G=[2,3,U?4:2,U?4:2,10,11,20][\"oyYJ@!\".indexOf(z)+1],Z=new RegExp(\"^-?\\\\d{1,\"+G+\"}\"),j=t.substring(S).match(Z);if(!j)throw(Nd.local.missingNumberAt||Nd.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,S);return S+=j[0].length,parseInt(j[0],10)},M=this,T=function(){if(typeof s==\"function\"){p(\"m\");var z=s.call(M,t.substring(S));return S+=z.length,z}return k(\"m\")},L=function(z,q,U,G){for(var Z=p(z,G)?U:q,j=0;j-1){h=1,d=v;for(var E=this.daysInMonth(f,h);d>E;E=this.daysInMonth(f,h))h++,d-=E}return c>-1?this.fromJD(c):this.newDate(f,h,d)},determineDate:function(e,t,r,n,i){r&&typeof r!=\"object\"&&(i=n,n=r,r=null),typeof n!=\"string\"&&(i=n,n=\"\");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||\"d\"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e==\"string\"?o(e):typeof e==\"number\"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,\"d\"):a.newDate(e),e}})});var net=ye(()=>{var Hx=kv(),Htr=Nh(),_Q=Hx.instance();function F9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}F9.prototype=new Hx.baseCalendar;Htr(F9.prototype,{name:\"Chinese\",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(e,t){if(typeof e==\"string\"){var r=e.match(Wtr);return r?r[0]:\"\"}var n=this._validateYear(e),i=e.month(),a=\"\"+this.toChineseMonth(n,i);return t&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(e){if(typeof e==\"string\"){var t=e.match(Xtr);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),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\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},monthNamesShort:function(e){if(typeof e==\"string\"){var t=e.match(Ztr);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]===\"\\u95F0\"&&(n=!0,t=t.substring(1)),t[t.length-1]===\"\\u6708\"&&(t=t.substring(0,t.length-1)),r=1+[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"].indexOf(t);else{var i=t[t.length-1];n=i===\"i\"||i===\"I\"}var a=this.toMonthIndex(e,r,n);return a},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(e,t){if(e.year&&(e=e.year()),typeof e!=\"number\"||e<1888||e>2111)throw t.replace(/\\{0\\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw Hx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw Hx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var i;return r?t>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,Hx.local.invalidyear),i=Wx[n-Wx[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=_Q.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),\"d\");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=jx[e-jx[0]],n=r>>13,i=n?12:11;if(t>i)throw Hx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,Hx.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=Ktr(e,a,r,i);return _Q.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=_Q.fromJD(e),r=Ytr(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(jtr),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(F9.prototype).add.call(this,e,t,r);if(r===\"y\"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var jtr=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,Wtr=/^\\d?\\d[iI]?/m,Xtr=/^闰?十?[一二三四五六七八九]?月/m,Ztr=/^闰?十?[一二三四五六七八九]?/m;Hx.calendars.chinese=F9;var jx=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],Wx=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function Ytr(e,t,r,n){var i,a;if(typeof e==\"object\")i=e,a=t||{};else{var o=typeof e==\"number\"&&e>=1888&&e<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=typeof t==\"number\"&&t>=1&&t<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=typeof r==\"number\"&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:e,month:t,day:r},a=n||{}}var u=Wx[i.year-Wx[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=Wx[a.year-Wx[0]];var f=u>>9&4095,h=u>>5&15,d=u&31,v,m=new Date(f,h-1,d),b=new Date(i.year,i.month-1,i.day);v=Math.round((b-m)/(24*3600*1e3));var p=jx[a.year-jx[0]],k;for(k=0;k<13;k++){var M=p&1<<12-k?30:29;if(v>13;return!T||k=1888&&e<=2111;if(!s)throw new Error(\"Lunar year outside range 1888-2111\");var l=typeof t==\"number\"&&t>=1&&t<=12;if(!l)throw new Error(\"Lunar month outside range 1 - 12\");var u=typeof r==\"number\"&&r>=1&&r<=30;if(!u)throw new Error(\"Lunar day outside range 1 - 30\");var c;typeof n==\"object\"?(c=!1,a=n):(c=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=jx[o.year-jx[0]],d=h>>13,v;d&&(o.month>d||o.isIntercalary)?v=o.month:v=o.month-1;for(var m=0;m>9&4095,M=p>>5&15,T=p&31,L=new Date(k,M-1,T+f);return a.year=L.getFullYear(),a.month=1+L.getMonth(),a.day=L.getDate(),a}});var aet=ye(()=>{var Pw=kv(),Jtr=Nh();function xQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}xQ.prototype=new Pw.baseCalendar;Jtr(xQ.prototype,{name:\"Coptic\",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Pw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Pw.local.invalidYear||Pw.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Pw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Pw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});Pw.calendars.coptic=xQ});var oet=ye(()=>{var E1=kv(),$tr=Nh();function bQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}bQ.prototype=new E1.baseCalendar;$tr(bQ.prototype,{name:\"Discworld\",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,E1.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,E1.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,E1.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,E1.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,E1.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,E1.local.invalidDate);return{century:Qtr[Math.floor((n.year()-1)/100)+1]||\"\"}},toJD:function(e,t,r){var n=this._validate(e,t,r,E1.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var Qtr={20:\"Fruitbat\",21:\"Anchovy\"};E1.calendars.discworld=bQ});var set=ye(()=>{var Iw=kv(),err=Nh();function wQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}wQ.prototype=new Iw.baseCalendar;err(wQ.prototype,{name:\"Ethiopian\",jdEpoch:17242205e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Iw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Iw.local.invalidYear||Iw.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Iw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Iw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});Iw.calendars.ethiopian=wQ});var uet=ye(()=>{var Xx=kv(),trr=Nh();function TQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}TQ.prototype=new Xx.baseCalendar;trr(TQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,Xx.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,z9(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Xx.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Xx.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Xx.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&z9(this.daysInYear(e),10)===5?30:t===9&&z9(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Xx.local.invalidDate);return{yearType:(this.leapYear(n)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,Xx.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=ethis.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function z9(e,t){return e-t*Math.floor(e/t)}Xx.calendars.hebrew=TQ});var cet=ye(()=>{var bC=kv(),rrr=Nh();function AQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}AQ.prototype=new bC.baseCalendar;rrr(AQ.prototype,{name:\"Islamic\",jdEpoch:19484395e-1,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(e){var t=this._validate(e,this.minMonth,this.minDay,bC.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,bC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,bC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});bC.calendars.islamic=AQ});var fet=ye(()=>{var wC=kv(),irr=Nh();function SQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}SQ.prototype=new wC.baseCalendar;irr(SQ.prototype,{name:\"Julian\",jdEpoch:17214235e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,wC.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,wC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,wC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});wC.calendars.julian=SQ});var det=ye(()=>{var fg=kv(),nrr=Nh();function EQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}EQ.prototype=new fg.baseCalendar;nrr(EQ.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(e){return this._validate(e,this.minMonth,this.minDay,fg.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,fg.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+\".\"+n+\".\"+e%20},forYear:function(e){if(e=e.split(\".\"),e.length<3)throw\"Invalid Mayan year\";for(var t=0,r=0;r19||r>0&&n<0)throw\"Invalid Mayan year\";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,fg.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,fg.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,fg.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,fg.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,fg.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,fg.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,fg.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=MQ(e+8+17*20,365);return[Math.floor(t/20)+1,MQ(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[het(e+20,20),het(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,fg.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function MQ(e,t){return e-t*Math.floor(e/t)}function het(e,t){return MQ(e-1,t)+1}fg.calendars.mayan=EQ});var pet=ye(()=>{var Rw=kv(),arr=Nh();function kQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}kQ.prototype=new Rw.baseCalendar;var vet=Rw.instance(\"gregorian\");arr(kQ.prototype,{name:\"Nanakshahi\",jdEpoch:22576735e-1,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(e){var t=this._validate(e,this.minMonth,this.minDay,Rw.local.invalidYear||Rw.regionalOptions[\"\"].invalidYear);return vet.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Rw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Rw.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});Rw.calendars.nanakshahi=kQ});var get=ye(()=>{var Dw=kv(),orr=Nh();function CQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}CQ.prototype=new Dw.baseCalendar;orr(CQ.prototype,{name:\"Nepali\",jdEpoch:17007095e-1,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(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Dw.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Dw.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,Dw.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=Dw.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\"d\").toJD()},fromJD:function(e){var t=Dw.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)o++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r{var oS=kv(),srr=Nh();function O9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}function q9(e){var t=e-475;e<0&&t++;var r=.242197,n=r*t,i=r*(t+1),a=n-Math.floor(n),o=i-Math.floor(i);return a>o}O9.prototype=new oS.baseCalendar;srr(O9.prototype,{name:\"Persian\",jdEpoch:19483205e-1,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Dey\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Dey\",\"Bah\",\"Esf\"],dayNames:[\"Yekshanbeh\",\"Doshanbeh\",\"Seshanbeh\",\"Chah\\u0101rshanbeh\",\"Panjshanbeh\",\"Jom'eh\",\"Shanbeh\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Cha\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,oS.local.invalidYear);return q9(t.year())},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,oS.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,oS.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=0;if(e>0)for(var a=1;a0?e-1:e)*365+i+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=475+(e-this.toJD(475,1,1))/365.242197,r=Math.floor(t);r<=0&&r--,e>this.toJD(r,12,q9(r)?30:29)&&(r++,r===0&&r++);var n=e-this.toJD(r,1,1)+1,i=n<=186?Math.ceil(n/31):Math.ceil((n-6)/30),a=e-this.toJD(r,i,1)+1;return this.newDate(r,i,a)}});oS.calendars.persian=O9;oS.calendars.jalali=O9});var yet=ye(()=>{var Fw=kv(),lrr=Nh(),B9=Fw.instance();function LQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}LQ.prototype=new Fw.baseCalendar;lrr(LQ.prototype,{name:\"Taiwan\",jdEpoch:24194025e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Fw.local.invalidYear),r=this._t2gYear(t.year());return B9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Fw.local.invalidYear),i=this._t2gYear(n.year());return B9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Fw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Fw.local.invalidDate),i=this._t2gYear(n.year());return B9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=B9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});Fw.calendars.taiwan=LQ});var _et=ye(()=>{var zw=kv(),urr=Nh(),N9=zw.instance();function PQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}PQ.prototype=new zw.baseCalendar;urr(PQ.prototype,{name:\"Thai\",jdEpoch:15230985e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,zw.local.invalidYear),r=this._t2gYear(t.year());return N9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,zw.local.invalidYear),i=this._t2gYear(n.year());return N9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,zw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,zw.local.invalidDate),i=this._t2gYear(n.year());return N9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=N9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});zw.calendars.thai=PQ});var xet=ye(()=>{var qw=kv(),crr=Nh();function IQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}IQ.prototype=new qw.baseCalendar;crr(IQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,qw.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,qw.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;an)return Zx[i]-Zx[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,qw.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+Zx[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;nt);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-Zx[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=qw.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=qw.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\{0\\}/,this.local.name);return i}});qw.calendars.ummalqura=IQ;var Zx=[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]});var wet=ye((wTr,bet)=>{\"use strict\";bet.exports=kv();iet();net();aet();oet();set();uet();cet();fet();det();pet();get();met();yet();_et();xet()});var Let=ye((TTr,Cet)=>{\"use strict\";var Aet=wet(),TC=Pr(),Met=fs(),frr=Met.EPOCHJD,hrr=Met.ONEDAY,FQ={valType:\"enumerated\",values:TC.sortObjectKeys(Aet.calendars),editType:\"calc\",dflt:\"gregorian\"},Eet=function(e,t,r,n){var i={};return i[r]=FQ,TC.coerce(e,t,i,r,n)},drr=function(e,t,r,n){for(var i=0;i{\"use strict\";Pet.exports=Let()});var _rr=ye((STr,Det)=>{var Ret=uye();Ret.register([f1e(),$1e(),hxe(),Rxe(),Xxe(),Gbe(),r2e(),H2e(),_we(),t3e(),V3e(),eke(),Gke(),D6e(),wLe(),QLe(),TPe(),ZIe(),d8e(),P8e(),G8e(),iRe(),yRe(),DRe(),fFe(),PFe(),ZBe(),ZNe(),nVe(),LVe(),NGe(),tHe(),SHe(),qje(),$je(),wWe(),PXe(),tZe(),zZe(),nKe(),CKe(),KKe(),wJe(),zJe(),F$e(),eQe(),_Qe(),eet(),Iet()]);Det.exports=Ret});return _rr();})();\n", + "/*!\n", + " * The buffer module from node.js, for the browser.\n", + " *\n", + " * @author Feross Aboukhadijeh \n", + " * @license MIT\n", + " */\n", + "/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n", + "/*!\n", + " * Determine if an object is a Buffer\n", + " *\n", + " * @author Feross Aboukhadijeh \n", + " * @license MIT\n", + " */\n", + "/*!\n", + " * pad-left \n", + " *\n", + " * Copyright (c) 2014-2015, Jon Schlinkert.\n", + " * Licensed under the MIT license.\n", + " */\n", + "/*!\n", + " * repeat-string \n", + " *\n", + " * Copyright (c) 2014-2015, Jon Schlinkert.\n", + " * Licensed under the MIT License.\n", + " */\n", + "/*! Bundled license information:\n", + "\n", + "native-promise-only/lib/npo.src.js:\n", + " (*! Native Promise Only\n", + " v0.8.1 (c) Kyle Simpson\n", + " MIT License: http://getify.mit-license.org\n", + " *)\n", + "\n", + "polybooljs/index.js:\n", + " (*\n", + " * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n", + " * @license MIT\n", + " * @preserve Project Home: https://github.com/voidqk/polybooljs\n", + " *)\n", + "\n", + "ieee754/index.js:\n", + " (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *)\n", + "\n", + "buffer/index.js:\n", + " (*!\n", + " * The buffer module from node.js, for the browser.\n", + " *\n", + " * @author Feross Aboukhadijeh \n", + " * @license MIT\n", + " *)\n", + "\n", + "safe-buffer/index.js:\n", + " (*! safe-buffer. MIT License. Feross Aboukhadijeh *)\n", + "\n", + "assert/build/internal/util/comparisons.js:\n", + " (*!\n", + " * The buffer module from node.js, for the browser.\n", + " *\n", + " * @author Feross Aboukhadijeh \n", + " * @license MIT\n", + " *)\n", + "\n", + "object-assign/index.js:\n", + " (*\n", + " object-assign\n", + " (c) Sindre Sorhus\n", + " @license MIT\n", + " *)\n", + "\n", + "maplibre-gl/dist/maplibre-gl.js:\n", + " (**\n", + " * MapLibre GL JS\n", + " * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt\n", + " *)\n", + "*/\n", + "\n", + "window.Plotly = Plotly;\n", + "return Plotly;\n", + "}));\n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "line": { - "color": "rgb(68, 178, 68)" - }, - "mode": "lines", - "name": "SSP1-2.6", - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 148062.18922200002, - 147102.415056, - 146976.96279599998, - 146524.66550399998, - 147043.904652, - 146143.606308, - 148142.617728, - 149702.822628, - 150276.854352, - 148570.932126, - 152380.32627599998, - 152712.944664, - 152312.515128, - 148517.53405800002, - 147314.22478199998, - 148178.337276, - 148843.78957199998, - 149092.96289400003, - 149826.239928, - 153365.964348, - 153003.45412799998, - 149579.079516, - 149956.521144, - 151221.63894, - 149100.730758, - 151438.08438, - 153242.81469600002, - 153298.89060600003, - 152657.453274, - 152019.117714, - 151278.36394799995, - 152009.988786, - 149707.461924, - 151620.930414, - 151037.38898400002, - 146895.262332, - 147810.40552800003, - 149883.125298, - 150227.950716, - 150655.54710599998, - 149420.331204, - 147856.192572, - 145306.62513, - 145367.891082, - 145216.28222999998, - 148108.85929799997, - 147443.430864, - 147330.60772799997, - 149808.674034, - 145859.81994599997, - 147976.94621999998, - 145126.08276, - 144719.95572, - 141964.961274, - 143044.77369, - 142883.216424, - 143080.992312, - 147690.68888999996, - 145628.628252, - 147692.82295199996, - 149066.57640000002, - 150230.228478, - 147980.761074, - 145147.638666, - 147311.906586, - 147958.954314, - 145033.976724, - 143402.04331799998, - 145990.665588, - 142133.643288, - 134918.83200599998, - 134235.480174, - 140816.999418, - 147027.07635599998, - 146654.052168, - 145435.521006, - 146877.869154, - 145050.21206999998, - 144731.370444, - 141724.534614, - 145899.60894, - 143976.319932, - 141739.61046, - 144664.565964, - 146723.368476, - 149603.46855000002, - 148039.089684, - 143761.020564, - 146592.88978199998, - 139543.949004, - 142531.33558200003, - 146502.84789, - 141115.965762, - 145083.021138, - 142777.015836, - 144259.27959, - 141038.54964, - 146814.99109199998, - 145015.866396, - 146750.945286, - 145934.907006, - 144648.22143600002, - 142263.018828, - 148327.24975200003, - 141542.53164, - 141405.821886, - 144946.83414, - 149756.623602, - 144799.4973, - 144112.16022, - 141902.834538, - 141855.05803199997, - 140182.77750599998, - 141751.745406, - 142778.3172, - 146483.477646, - 146179.97889600002, - 146288.779662, - 144774.576192, - 142594.633266, - 146547.224526, - 144166.290732, - 142014.28645199997, - 145439.56623599998, - 141350.659482, - 147110.68061999997, - 147484.11684, - 147189.830682, - 147346.157292, - 145432.77658800004, - 145782.72189600003, - 145235.816292, - 146528.373882, - 147533.64053399998, - 149136.678828, - 149111.19930600002, - 145664.994972, - 146655.63886200002, - 148206.7218, - 149023.177458, - 146707.944096, - 142505.19494400002, - 144617.01726600004, - 144390.36249000003, - 146675.41662600002, - 142511.041422, - 141859.565394, - 140209.149882, - 138428.09408399998, - 144202.06667399997, - 146396.191494 - ], - "yaxis": "y" - }, - { - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Upper Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 152124.06565918165, - 155516.71770895887, - 154041.59528998844, - 154864.95874864308, - 154404.2952403789, - 151599.33044181508, - 157003.72148194697, - 158210.845036704, - 159277.79820825977, - 162218.38920523686, - 160000.8980914006, - 160883.03722056013, - 160239.9445647999, - 157190.75764267746, - 159910.39329110258, - 157102.43573111025, - 158025.26666943345, - 159911.31462465075, - 155432.39588171136, - 158878.9746228234, - 160215.11602500785, - 158276.49176579018, - 155675.486835823, - 159809.91749377034, - 157616.05667228156, - 158134.19751841226, - 158261.57231183007, - 164349.8395362114, - 160354.97996819598, - 158951.14367971008, - 158315.76162749494, - 157125.29047342914, - 158090.99407655917, - 158866.0528911987, - 158627.26750862214, - 156231.56388697078, - 157958.65142142784, - 156433.92989854547, - 157391.6440823639, - 158402.8500519552, - 154384.46745132055, - 156982.2068879361, - 154022.2988497069, - 154767.02568472543, - 155991.51517049444, - 156534.28568653768, - 155930.57738768615, - 155278.43238273627, - 156641.81173592116, - 155395.95757850376, - 154940.97130905243, - 157591.37751778716, - 156183.31078689854, - 152965.28764107972, - 151651.45984710066, - 150055.3845474129, - 151401.99032241097, - 153808.7486470091, - 153696.86776837867, - 156251.16147677682, - 156218.00603268456, - 159539.315628091, - 156843.7572456524, - 156544.3305983021, - 154356.00822493897, - 154960.8610034535, - 155194.81108949517, - 152765.51833115233, - 152388.54052590224, - 157002.9876853882, - 149524.63167945363, - 151411.86393464805, - 152802.30385083915, - 154310.65940167863, - 156820.4203231182, - 153915.26013012993, - 152613.56174479407, - 152036.9674773275, - 154430.9698382195, - 153164.40008497605, - 155610.91187333362, - 152700.0069900784, - 151174.67987792546, - 152777.94381088897, - 156752.8860422004, - 155893.06542593412, - 155568.76173497603, - 154031.26116843484, - 157080.97076576645, - 155289.12263846875, - 155390.85059318427, - 156066.81834518287, - 154975.7792572111, - 153682.38315189825, - 148492.53778584464, - 153191.51652978576, - 148280.0408865868, - 153390.49576831388, - 153400.40639747275, - 156785.49888452064, - 154132.69791132715, - 155155.5392140101, - 149139.3832013746, - 152399.47330540398, - 149390.059542362, - 147956.63334185205, - 155477.9127874966, - 156174.21563676148, - 156698.84479119102, - 154763.8987799056, - 154674.15300621555, - 148708.14754520298, - 149189.47289575668, - 155303.17486361729, - 155704.03143257793, - 152625.23470813327, - 154900.54157415268, - 153188.81491756806, - 151741.86147574324, - 150726.04050319683, - 152160.27327453962, - 153987.55711671666, - 158846.60957682226, - 154947.0366274262, - 151017.79724727385, - 157335.971355009, - 154838.60802740048, - 155194.13485320855, - 156072.12407692033, - 158063.92309134448, - 154203.8955592242, - 154201.8120390318, - 157393.489751206, - 155130.3667592543, - 157163.6669203606, - 157209.08060027313, - 152335.65372872129, - 154451.81167627894, - 155503.32382697496, - 156708.19770804342, - 154822.93917309784, - 152442.31324311538, - 151834.10069558435, - 159129.3826672058, - 155524.42190248144, - 155777.67166609628, - 152287.79279803386, - 153320.93642686112, - 146884.5563411829, - 152136.22089090713, - 150953.5823118061 - ], - "yaxis": "y" - }, - { - "fill": "tonexty", - "fillcolor": "rgba(68, 178, 68, 0.3)", - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Lower Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 144000.31278481838, - 138688.11240304113, - 139912.3303020115, - 138184.37225935687, - 139683.51406362109, - 140687.8821741849, - 139281.51397405306, - 141194.80021929598, - 141275.91049574022, - 134923.47504676314, - 144759.75446059936, - 144542.8521074399, - 144385.0856912001, - 139844.31047332258, - 134718.05627289737, - 139254.23882088976, - 139662.3124745665, - 138274.6111633493, - 144220.08397428863, - 147852.9540731766, - 145791.7922309921, - 140881.6672662098, - 144237.555452177, - 142633.36038622967, - 140585.40484371842, - 144741.97124158771, - 148224.05708016997, - 142247.94167578866, - 144959.926579804, - 145087.0917482899, - 144240.96626850497, - 146894.68709857087, - 141323.92977144083, - 144375.8079368013, - 143447.5104593779, - 137558.96077702925, - 137662.15963457222, - 143332.32069745453, - 143064.2573496361, - 142908.24416004476, - 144456.19495667942, - 138730.1782560639, - 136590.9514102931, - 135968.75647927454, - 134441.04928950552, - 139683.43290946225, - 138956.28434031384, - 139382.78307326368, - 142975.53633207883, - 136323.6823134962, - 141012.92113094754, - 132660.78800221282, - 133256.60065310146, - 130964.63490692028, - 134438.08753289934, - 135711.04830058714, - 134759.994301589, - 141572.6291329908, - 137560.38873562132, - 139134.4844272231, - 141915.14676731548, - 140921.14132790902, - 139117.7649023476, - 133750.94673369793, - 140267.80494706103, - 140957.0476245465, - 134873.14235850485, - 134038.56830484763, - 139592.79065009777, - 127264.2988906118, - 120313.03233254633, - 117059.09641335196, - 128831.69498516085, - 139743.49331032133, - 136487.6840128818, - 136955.78188187006, - 141142.17656320595, - 138063.45666267246, - 135031.7710497805, - 130284.66914302396, - 136188.3060066664, - 135252.63287392163, - 132304.54104207453, - 136551.18811711104, - 136693.8509097996, - 143313.87167406591, - 140509.417633024, - 133490.77995956517, - 136104.8087982335, - 123798.77536953124, - 129671.82057081578, - 136938.87743481714, - 127256.15226678891, - 136483.65912410177, - 137061.49388615537, - 135327.04265021422, - 133797.05839341323, - 140239.4864156861, - 136631.32639452725, - 136716.39168747936, - 137737.11610067284, - 134140.90365798995, - 135386.6544546254, - 144255.02619859608, - 133695.003737638, - 134855.01043014793, - 134415.75549250338, - 143339.03156723853, - 132900.14980880896, - 133460.42166009438, - 129131.51606978444, - 135001.96851879696, - 131176.08211624328, - 128200.3159483827, - 129852.60296742205, - 140341.72058386676, - 137459.41621784735, - 139388.7444064319, - 137807.29090825678, - 134463.22602880315, - 140934.1757774604, - 134345.02434728332, - 125181.96332717768, - 135932.09584457378, - 131683.52171672613, - 136885.38988499093, - 140129.62565259953, - 139185.52651079145, - 138620.19050707965, - 132801.6300846556, - 137361.54823277585, - 136269.8205449682, - 135663.25801279402, - 139936.91430874565, - 141109.6907356394, - 141013.31801172692, - 138994.3362152787, - 138859.4660477211, - 140910.11977302504, - 141338.15720795657, - 138592.94901890215, - 132568.07664488466, - 137399.93383641573, - 129651.34231279427, - 137826.4113495186, - 129244.41117790373, - 131431.33798996615, - 127097.36333713887, - 129971.63182681704, - 136267.9124570928, - 141838.8006761939 - ], - "yaxis": "y" - }, - { - "line": { - "color": "rgb(131, 119, 180)" - }, - "mode": "lines", - "name": "SSP3-7.0", - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 147933.80649000002, - 147139.866702, - 146440.684494, - 146013.43009799998, - 146332.44526200002, - 145170.219288, - 148047.16288200003, - 150413.36559, - 149960.27714999998, - 149051.84843399998, - 152115.542472, - 152433.37079999998, - 151755.36519, - 148207.23309599998, - 147066.11344200003, - 147897.515202, - 149238.384072, - 148190.205504, - 149761.993302, - 153420.67659600003, - 152036.390166, - 150186.65236799998, - 150170.49402599997, - 151275.16874399997, - 149015.51811, - 151279.48514399998, - 152935.870866, - 153667.514976, - 152758.568604, - 152145.10190399998, - 150963.76788, - 151944.311202, - 150493.808742, - 151242.87791999997, - 151138.41020399999, - 147414.96198, - 147535.33096800002, - 150865.66363799997, - 150209.19743999996, - 150637.20184199995, - 149224.337082, - 147986.26217399997, - 145245.004596, - 144915.38479799998, - 145601.16684599998, - 148233.017148, - 147533.745138, - 147309.27051600002, - 149679.917052, - 146380.655538, - 147733.56801, - 144556.14163799997, - 143992.30559399998, - 142146.78446999998, - 143631.406458, - 142587.01617599998, - 142777.74430800002, - 147428.28406199996, - 145872.615318, - 147049.318146, - 149151.34000199998, - 150181.756758, - 148795.401702, - 145973.17548599996, - 147192.230088, - 144676.08454799998, - 143649.027696, - 142361.479788, - 145034.03932200003, - 145101.022788, - 142921.76672999997, - 142784.757684, - 145840.14354599998, - 144959.37934800002, - 146713.828188, - 144661.49844599998, - 145525.09783200003, - 147525.81558600004, - 148532.55523799997, - 145538.960322, - 144968.86791600002, - 143224.457766, - 144449.658138, - 144968.121816, - 139727.95248000004, - 142004.65326, - 143845.837608, - 144096.26220000003, - 143282.45336400002, - 142356.999738, - 144427.474272, - 140140.415706, - 143956.326672, - 146224.501572, - 143734.63762199998, - 145155.410058, - 141890.03467199998, - 144592.28508, - 144786.115452, - 145873.12553400002, - 147669.262392, - 148404.85986600004, - 145669.49307599998, - 144788.02642200002, - 142997.2797, - 146450.287614, - 149725.03913999998, - 144143.194764, - 144121.73507400003, - 144004.440882, - 142126.13362200002, - 144106.799238, - 142317.45758400002, - 140475.26351400002, - 139529.892666, - 138052.63435200002, - 145581.292092, - 142412.90033399998, - 140518.27162800002, - 137264.601858, - 136632.699294, - 146264.244456, - 147529.72102199998, - 142735.92379799997, - 140032.418658, - 142333.14726599999, - 141521.716734, - 144327.6864, - 136382.229858, - 142424.866788, - 138441.20888999998, - 138929.94458399998, - 142378.943634, - 141284.92927199998, - 141788.05989, - 144405.524148, - 140436.81096, - 139191.805698, - 133748.74501200003, - 135197.39298, - 134066.86203000002, - 130468.21101000001, - 136683.803814, - 136873.54599, - 133153.797708, - 139067.34587999998, - 141024.370686, - 134274.53232, - 136092.60583199997, - 140047.31808, - 138284.091378 - ], - "yaxis": "y" - }, - { - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Upper Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 152683.0186518149, - 155031.19293123882, - 153235.72203811916, - 154833.23250921848, - 154706.62360146572, - 151801.39266941696, - 157009.873859908, - 159016.28885338356, - 158888.8823340635, - 160850.7053484808, - 160435.74848612302, - 160635.07679474814, - 160601.85409303883, - 157149.41246941133, - 159528.81093131664, - 157236.78156028577, - 159626.09584881083, - 160235.98890173883, - 156205.29050203503, - 159197.92476594346, - 160502.02264464603, - 158162.14591954896, - 156258.9028980074, - 160001.44030321177, - 157749.0336288133, - 158264.56586883543, - 158104.31872543914, - 164524.92993751983, - 160465.47134576697, - 158983.33007979507, - 158495.1294278072, - 157511.02234174867, - 158628.9757774383, - 158924.3361340458, - 158784.9632373834, - 156465.41453776215, - 157904.02892321628, - 157456.1528179534, - 157304.16182927365, - 159021.72718268694, - 154366.06295102206, - 155639.92041209544, - 154070.22310580115, - 155016.2821928282, - 156217.30183686197, - 156791.39829019, - 156072.721387289, - 154956.97124209473, - 156693.93253549465, - 156473.87502852894, - 154995.486873814, - 157501.1019076964, - 156132.98470967708, - 153114.6091109631, - 151697.97346759107, - 149989.9645385349, - 151164.25709769365, - 154478.47367389183, - 153225.9367901196, - 155814.52336995033, - 156228.72343012074, - 159754.32613829075, - 157504.5172489467, - 157652.6989543202, - 154566.25984773744, - 149753.72805868558, - 149387.87670779883, - 152744.07160264044, - 154126.18883937254, - 155936.4790397267, - 155031.6114235611, - 154117.0545615184, - 154651.98729771888, - 152054.31860052142, - 154096.97467775812, - 156884.11497868947, - 151905.5205350836, - 158183.02407751651, - 157169.05735536123, - 156813.4138998211, - 153979.76153942532, - 155487.20670126672, - 154155.9300280782, - 154550.29487933186, - 152651.98525575508, - 149508.18326045095, - 151742.0994092569, - 151861.84117524754, - 149203.2828653181, - 151070.1869922296, - 148923.2237019469, - 149418.0349139926, - 150820.1378389098, - 152403.31836173288, - 150920.79597985494, - 152608.12696511584, - 155571.66093616022, - 152326.44057080845, - 150117.21244649604, - 153710.58874816957, - 152359.16569295622, - 154261.9084888927, - 155340.27761569008, - 154883.11752107914, - 152222.86367973266, - 154147.01696125703, - 156862.92166382764, - 155649.32448361514, - 154351.86641605935, - 154089.93627858732, - 154019.93343324182, - 153084.82275533554, - 150394.28495860522, - 148829.85615372792, - 147723.18695567263, - 149945.44843276424, - 156745.55985444598, - 150479.93607709146, - 147673.33411990447, - 147758.492952102, - 146975.86219470756, - 151999.67321928218, - 151279.1550086734, - 152385.36777096606, - 151169.21572353953, - 155537.3232168692, - 151347.16488497093, - 152525.99560503673, - 151027.14312719635, - 155261.4644976532, - 149281.5178056135, - 147561.64928212677, - 150633.34341992266, - 150122.35714084643, - 152676.2446399891, - 153144.97301902616, - 149095.71130764144, - 148473.5086037877, - 146440.6326670329, - 148241.50782547507, - 146070.9173210399, - 151697.67753498285, - 149206.54104183175, - 146631.21110351072, - 146056.6484952679, - 148384.94832048292, - 150961.3469149875, - 152134.19212265473, - 149296.49022281953, - 150182.5682521331, - 150949.4520159362 - ], - "yaxis": "y" - }, - { - "fill": "tonexty", - "fillcolor": "rgba(131, 119, 180, 0.3)", - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Lower Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 143184.59432818514, - 139248.54047276117, - 139645.64694988081, - 137193.6276867815, - 137958.26692253433, - 138539.04590658302, - 139084.45190409207, - 141810.44232661644, - 141031.67196593646, - 137252.99151951916, - 143795.33645787698, - 144231.6648052518, - 142908.8762869612, - 139265.05372258864, - 134603.41595268343, - 138558.24884371425, - 138850.67229518914, - 136144.4221062612, - 143318.69610196495, - 147643.4284260566, - 143570.75768735397, - 142211.158816451, - 144082.08515399255, - 142548.89718478816, - 140282.0025911867, - 144294.40441916452, - 147767.4230065609, - 142810.10001448018, - 145051.66586223303, - 145306.8737282049, - 143432.4063321928, - 146377.60006225135, - 142358.6417065617, - 143561.41970595415, - 143491.85717061657, - 138364.50942223784, - 137166.63301278377, - 144275.17445804653, - 143114.23305072627, - 142252.67650131296, - 144082.61121297796, - 140332.6039359045, - 136419.78608619887, - 134814.48740317178, - 134985.031855138, - 139674.63600581003, - 138994.768888711, - 139661.5697899053, - 142665.90156850536, - 136287.43604747104, - 140471.64914618598, - 131611.18136830354, - 131851.62647832287, - 131178.95982903687, - 135564.83944840895, - 135184.06781346505, - 134391.2315183064, - 140378.0944501081, - 138519.2938458804, - 138284.11292204968, - 142073.95657387923, - 140609.18737770926, - 140086.2861550533, - 134293.65201767973, - 139818.20032826258, - 139598.4410373144, - 137910.17868420118, - 131978.88797335955, - 135941.8898046275, - 134265.5665362733, - 130811.92203643886, - 131452.46080648163, - 137028.29979428108, - 137864.4400954786, - 139330.6816982419, - 132438.8819133105, - 139144.67512891645, - 136868.60709448357, - 139896.0531206387, - 134264.50674417889, - 135957.9742925747, - 130961.7088307333, - 134743.3862479218, - 135385.94875266813, - 126803.919704245, - 134501.12325954903, - 135949.57580674312, - 136330.68322475252, - 137361.62386268194, - 133643.81248377042, - 139931.72484205308, - 130862.79649800739, - 137092.51550509018, - 140045.68478226714, - 136548.47926414502, - 137702.69315088418, - 128208.40840783974, - 136858.12958919155, - 139455.01845750396, - 138035.66231983047, - 142979.3590910438, - 142547.8112431074, - 135998.7085363099, - 134692.9353229209, - 133771.69572026737, - 138753.55826674297, - 142587.15661617232, - 132637.0650443849, - 133891.6037319407, - 133918.94548541267, - 130232.33381075821, - 135128.77572066447, - 134240.63020939482, - 132120.67087427212, - 131336.59837632737, - 126159.82027123579, - 134417.024329554, - 134345.8645909085, - 133363.20913609557, - 126770.71076389801, - 126289.53639329242, - 140528.8156927178, - 143780.28703532656, - 133086.4798250339, - 128895.62159246049, - 129128.97131513077, - 131696.26858302904, - 136129.37719496328, - 121737.31658880366, - 129588.26907834681, - 127600.89997438647, - 130298.23988587319, - 134124.54384807733, - 132447.50140315352, - 130899.87514001089, - 135666.07527697383, - 131777.91061235857, - 129910.10279221235, - 121056.85735696714, - 122153.27813452492, - 122062.80673896013, - 109238.74448501719, - 124161.06658616828, - 127115.8808764893, - 120250.9469207321, - 129749.74343951706, - 131087.39445701253, - 116414.87251734527, - 122888.7214411804, - 129912.0679078669, - 125618.73074006382 - ], - "yaxis": "y" - }, - { - "line": { - "color": "rgb(31, 119, 180)" - }, - "mode": "lines", - "name": "SSP5-8.5", - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 148141.06401, - 147482.473344, - 146654.578482, - 146581.44998999996, - 147394.31470199997, - 145634.474094, - 148420.000806, - 150831.469236, - 150113.551752, - 149000.020968, - 152409.02895599997, - 152440.34738999998, - 152139.930708, - 149273.36817600002, - 147059.212746, - 149235.50329800003, - 149486.340276, - 149290.33762199996, - 150058.59321599998, - 153467.92600799998, - 152656.951068, - 150542.033046, - 150921.72312, - 151475.86447200002, - 149103.570552, - 151434.67063799998, - 152855.52270599996, - 153367.568646, - 152643.706908, - 151943.532828, - 151010.622792, - 151993.87112999998, - 150350.41849799998, - 151382.83723200002, - 151205.331588, - 147446.31226800004, - 147460.14207, - 150827.742, - 150235.79133, - 150678.17145599998, - 149300.018538, - 148459.469184, - 145629.020052, - 146067.96040799998, - 145831.631664, - 148324.09807200002, - 148111.225572, - 147560.19315, - 149908.101354, - 146483.93316000002, - 148134.01225799997, - 145555.58810999998, - 144780.53950200003, - 142893.584754, - 144230.32217400003, - 143217.60848999998, - 143005.450104, - 147819.63902399997, - 146619.45428400004, - 147869.29780799994, - 149495.89452, - 150465.69585000002, - 148940.486946, - 146698.22485199998, - 147607.30023000002, - 149630.69835, - 145317.92611200002, - 148259.55913200002, - 145246.73871600002, - 148150.459884, - 147086.074176, - 146739.436518, - 148203.80469, - 151220.054574, - 151060.70808, - 148534.79450400002, - 146072.666664, - 144568.54651200003, - 146154.746112, - 148663.83983999997, - 148701.83776199998, - 146329.06533, - 146300.64671399997, - 144687.29802000002, - 143559.378702, - 150230.43652799996, - 149284.70856, - 150435.06968999997, - 148753.84364399998, - 144554.168622, - 142008.41729999997, - 145146.276876, - 148533.879504, - 146240.011008, - 144400.73564400003, - 145231.56869400002, - 143525.42064, - 145161.128466, - 146162.82017999998, - 143898.752508, - 144097.01739, - 146859.104028, - 146575.115436, - 146554.22758200002, - 147299.8581, - 146380.883832, - 145171.35314999998, - 145032.39096000002, - 147307.058466, - 145323.615132, - 148449.216846, - 148080.73198799998, - 145997.87339399994, - 141088.715856, - 141402.35860200002, - 143121.52953600002, - 144676.265358, - 138701.493216, - 144542.918244, - 146769.10206, - 143002.45485, - 142486.094994, - 137905.26063, - 136795.67706000002, - 142649.48060400004, - 144771.70217999996, - 144077.932524, - 141297.695244, - 144819.46918800002, - 141167.37463200002, - 141784.658274, - 133884.287886, - 134985.647022, - 138350.95406999998, - 139046.87727, - 142035.084804, - 138667.63293, - 141531.582828, - 139268.781078, - 133964.07229199997, - 136738.501368, - 142521.471918, - 137886.129246, - 135223.38597, - 134551.15736999997, - 135508.78461, - 135444.211266, - 138843.026196, - 137340.265026, - 134328.681054, - 135499.533762 - ], - "yaxis": "y" - }, - { - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Upper Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 152964.69080618574, - 155434.05819323118, - 153362.4655468315, - 155278.29394285628, - 154169.56266721012, - 151800.24373030887, - 157365.37342170326, - 158638.18151989728, - 158465.60424737638, - 160482.88931012034, - 160139.72641579335, - 160456.73562201168, - 160547.01652631757, - 157709.356774879, - 158813.65372251897, - 157900.42693509575, - 159309.09656291013, - 159819.4307346741, - 156510.0375729916, - 159192.86277682165, - 161061.75217296305, - 157901.36882058397, - 157452.15569133652, - 159841.62989533495, - 157267.82240644615, - 158316.3591067559, - 158007.51861740017, - 164015.37619677407, - 160299.77277438415, - 158926.98320732728, - 158158.7197504304, - 157573.63206099608, - 158029.01267861953, - 158788.5447710038, - 158616.64682315238, - 156120.16319133283, - 157853.986249985, - 157389.81463137557, - 157410.8599253304, - 158756.17553666033, - 154469.10563946483, - 155754.617554531, - 153712.97795318565, - 155536.09167808358, - 156387.30977266832, - 156512.0086494658, - 156360.48865510352, - 155071.66848296634, - 156673.84248579203, - 156162.93538848712, - 155487.69217619437, - 157338.33232008264, - 156058.69313010277, - 153620.06042215953, - 152000.1173741464, - 150270.3334784402, - 151183.2991161116, - 154555.50957236314, - 153776.944524225, - 156383.48055555587, - 156347.9820492125, - 159903.5531148799, - 157666.23542102956, - 157695.41547954944, - 154553.71105016588, - 154991.35146816837, - 153462.21353527668, - 153939.683956334, - 154814.46890486954, - 158248.3220619044, - 153251.19489424658, - 153202.02657506522, - 158405.07455480003, - 157331.3747302021, - 157763.67407489114, - 157546.1021210046, - 156600.38259696643, - 153913.23761595777, - 153035.40212704244, - 156084.44384975004, - 156635.19834313105, - 155684.2668749254, - 159413.04314512774, - 155768.2806041726, - 156240.8987364633, - 157022.50585179005, - 155745.13855275724, - 158078.32100660526, - 156672.6418131723, - 154724.199007938, - 155676.96949285635, - 155541.33391629648, - 156136.27119944792, - 156644.79165162597, - 156971.39836115815, - 155903.16401738883, - 157165.1341643265, - 156007.70913241472, - 155828.43538246868, - 153448.49688193228, - 150103.4020055333, - 151184.87545457235, - 153730.54248003443, - 157753.67565296873, - 156838.7761939697, - 154127.94798284408, - 152648.40895265384, - 154119.6354522076, - 152864.3628190721, - 154570.38269244911, - 153140.84800647563, - 154148.59488362793, - 151072.68788857598, - 149660.36688247343, - 149348.5269940646, - 151373.21986494816, - 154197.16368460038, - 150912.03312947875, - 153069.5227213093, - 157138.73898637047, - 153770.7136159295, - 153347.63315081797, - 146603.08518365398, - 156563.31467591051, - 155414.95011231906, - 154500.91845506887, - 149821.94412143994, - 149224.53832047601, - 153603.07192230324, - 152362.10760724515, - 155004.07743345716, - 144750.88651151292, - 142427.2736403567, - 149548.6020737329, - 148224.67643120876, - 153013.72824535397, - 147717.36546208645, - 154478.59805362095, - 157858.52887912854, - 149736.31763377177, - 148902.8288390516, - 151812.8744412546, - 152833.1490723556, - 146123.2021036256, - 146400.7519036488, - 147764.4637602293, - 152133.441117511, - 153002.69253635706, - 146549.22871060533, - 148453.74942423007, - 150706.24121610718 - ], - "yaxis": "y" - }, - { - "fill": "tonexty", - "fillcolor": "rgba(31, 119, 180, 0.3)", - "line": { - "width": 0 - }, - "marker": { - "color": "#444" - }, - "mode": "lines", - "name": "Lower Bound", - "showlegend": false, - "type": "scatter", - "x": [ - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967, - 1968, - 1969, - 1970, - 1971, - 1972, - 1973, - 1974, - 1975, - 1976, - 1977, - 1978, - 1979, - 1980, - 1981, - 1982, - 1983, - 1984, - 1985, - 1986, - 1987, - 1988, - 1989, - 1990, - 1991, - 1992, - 1993, - 1994, - 1995, - 1996, - 1997, - 1998, - 1999, - 2000, - 2001, - 2002, - 2003, - 2004, - 2005, - 2006, - 2007, - 2008, - 2009, - 2010, - 2011, - 2012, - 2013, - 2014, - 2015, - 2016, - 2017, - 2018, - 2019, - 2020, - 2021, - 2022, - 2023, - 2024, - 2025, - 2026, - 2027, - 2028, - 2029, - 2030, - 2031, - 2032, - 2033, - 2034, - 2035, - 2036, - 2037, - 2038, - 2039, - 2040, - 2041, - 2042, - 2043, - 2044, - 2045, - 2046, - 2047, - 2048, - 2049, - 2050, - 2051, - 2052, - 2053, - 2054, - 2055, - 2056, - 2057, - 2058, - 2059, - 2060, - 2061, - 2062, - 2063, - 2064, - 2065, - 2066, - 2067, - 2068, - 2069, - 2070, - 2071, - 2072, - 2073, - 2074, - 2075, - 2076, - 2077, - 2078, - 2079, - 2080, - 2081, - 2082, - 2083, - 2084, - 2085, - 2086, - 2087, - 2088, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097, - 2098, - 2099, - 2100 - ], - "xaxis": "x", - "y": [ - 143317.43721381426, - 139530.88849476882, - 139946.69141716853, - 137884.60603714365, - 140619.06673678983, - 139468.70445769114, - 139474.62819029673, - 143024.75695210273, - 141761.49925662362, - 137517.15262587965, - 144678.33149620658, - 144423.95915798828, - 143732.84488968243, - 140837.37957712103, - 135304.77176948104, - 140570.5796609043, - 139663.58398908988, - 138761.24450932583, - 143607.14885900836, - 147742.9892391783, - 144252.14996303694, - 143182.69727141602, - 144391.2905486635, - 143110.09904866508, - 140939.31869755383, - 144552.98216924406, - 147703.52679459975, - 142719.76109522593, - 144987.64104161583, - 144960.0824486727, - 143862.5258335696, - 146414.1101990039, - 142671.82431738044, - 143977.12969299624, - 143794.01635284763, - 138772.46134466724, - 137066.297890015, - 144265.66936862443, - 143060.7227346696, - 142600.16737533963, - 144130.93143653517, - 141164.32081346898, - 137545.06215081437, - 136599.8291379164, - 135275.95355533165, - 140136.18749453424, - 139861.96248889648, - 140048.71781703367, - 143142.360222208, - 136804.9309315129, - 140780.33233980558, - 133772.84389991732, - 133502.3858738973, - 132167.1090858405, - 136460.52697385367, - 136164.88350155976, - 134827.60109188838, - 141083.7684756368, - 139461.96404377508, - 139355.11506044402, - 142643.8069907875, - 141027.83858512013, - 140214.73847097042, - 135701.03422445053, - 140660.88940983417, - 144270.0452318316, - 137173.63868872335, - 142579.43430766606, - 135679.0085271305, - 138052.59770609564, - 140920.9534577534, - 140276.8464609348, - 138002.53482519995, - 145108.7344177979, - 144357.74208510888, - 139523.48688699544, - 135544.95073103355, - 135223.8554080423, - 139274.09009695755, - 141243.2358302499, - 140768.4771808689, - 136973.86378507462, - 133188.2502828722, - 133606.31543582742, - 130877.85866753667, - 143438.36720420988, - 142824.27856724276, - 142791.8183733947, - 140835.04547482767, - 134384.138236062, - 128339.8651071436, - 134751.2198357035, - 140931.4878085521, - 135835.23036437403, - 131830.0729268419, - 134559.9733706112, - 129885.70711567347, - 134314.54779958527, - 136497.20497753128, - 134349.00813406773, - 138090.63277446668, - 142533.33260142765, - 139419.68839196555, - 135354.77951103132, - 137760.94000603032, - 138633.8196811559, - 137694.29734734612, - 135945.14646779242, - 141749.75411292788, - 136076.8475715509, - 143757.58568552436, - 142012.86909237204, - 140923.0588994239, - 132517.06482952656, - 133456.19020993545, - 134869.83920705187, - 135155.36703139963, - 126490.95330252126, - 136016.3137666907, - 136399.46513362954, - 132234.1960840705, - 131624.55683718206, - 129207.43607634604, - 117028.03944408952, - 129884.01109568102, - 135042.48590493106, - 138333.92092656007, - 133370.852167524, - 136035.8664536968, - 129972.64165675489, - 128565.2391145428, - 123017.6892604871, - 127544.0204036433, - 127153.30606626703, - 129869.07810879123, - 131056.44136264604, - 129617.90039791352, - 128584.56760237907, - 120679.03327687144, - 118191.82695022815, - 124574.1738969484, - 133230.0693947454, - 122939.1094196444, - 124323.56983637442, - 122701.56283635114, - 123253.1054597707, - 118754.98141448898, - 124683.35985564294, - 128131.3013413947, - 120203.61268376988, - 120292.82630789283 - ], - "yaxis": "y" - } - ], - "layout": { - "font": { - "size": 12 - }, - "height": 250, - "legend": { - "x": 1, - "xanchor": "left", - "y": 0.57, - "yanchor": "top" - }, - "margin": { - "b": 10, - "l": 10, - "r": 10, - "t": 15 - }, - "plot_bgcolor": "#f5f5f5", - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "width": 800, - "xaxis": { - "anchor": "y", - "autorange": true, - "domain": [ - 0, - 1 - ], - "range": [ - 1950, - 2100 - ], - "type": "linear" - }, - "yaxis": { - "anchor": "x", - "autorange": true, - "domain": [ - 0, - 1 - ], - "range": [ - 106167.28973765593, - 167596.38468488108 - ], - "tickformat": ".0f", - "title": { - "text": "Annual hydropower
availability (GWh/yr)" - }, - "type": "linear" - } - } - }, - "image/png": "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", "text/html": [ - "
" + " }) }; " ] }, "metadata": {}, "output_type": "display_data" } ], + "source": [ + "if len(df_basin_yearly_gwh_div)>0:\n", + " fig = make_subplots(rows=1, cols=1, shared_xaxes=True, vertical_spacing=0.01)\n", + " \n", + " ###SSP126\n", + " fig.add_trace(go.Scatter(name='SSP1-2.6', x=df_basin_yearly_gwh_div_ssp_mean.index, \n", + " y=df_basin_yearly_gwh_div_ssp_mean['ssp126'],\n", + " mode='lines', line=dict(color='rgb(68, 178, 68)'),), row=1, col=1)\n", + " \n", + " fig.add_trace(go.Scatter(name='Upper Bound', x=df_basin_yearly_gwh_div_ssp_upper.index, \n", + " y=df_basin_yearly_gwh_div_ssp_upper['ssp126'],\n", + " mode='lines',marker=dict(color=\"#444\"),line=dict(width=0),showlegend=False), row=1, col=1)\n", + " \n", + " fig.add_trace(go.Scatter(name='Lower Bound', x=df_basin_yearly_gwh_div_ssp_lower.index, \n", + " y=df_basin_yearly_gwh_div_ssp_lower['ssp126'], marker=dict(color=\"#444\"), \n", + " line=dict(width=0), mode='lines', fillcolor='rgba(68, 178, 68, 0.3)',fill='tonexty',showlegend=False), row=1, col=1)\n", + " \n", + " # ###SSP370 \n", + " fig.add_trace(go.Scatter(name='SSP3-7.0', x=df_basin_yearly_gwh_div_ssp_mean.index, \n", + " y=df_basin_yearly_gwh_div_ssp_mean['ssp370'],\n", + " mode='lines', line=dict(color='rgb(131, 119, 180)'),), row=1, col=1)\n", + " \n", + " fig.add_trace(go.Scatter(name='Upper Bound', x=df_basin_yearly_gwh_div_ssp_upper.index, \n", + " y=df_basin_yearly_gwh_div_ssp_upper['ssp370'],\n", + " mode='lines',marker=dict(color=\"#444\"),line=dict(width=0),showlegend=False), row=1, col=1)\n", + " \n", + " fig.add_trace(go.Scatter(name='Lower Bound', x=df_basin_yearly_gwh_div_ssp_lower.index, \n", + " y=df_basin_yearly_gwh_div_ssp_lower['ssp370'],marker=dict(color=\"#444\"), \n", + " line=dict(width=0), mode='lines', fillcolor='rgba(131, 119, 180, 0.3)',fill='tonexty',showlegend=False), row=1, col=1)\n", + " \n", + " # ###SSP585 \n", + " fig.add_trace(go.Scatter(name='SSP5-8.5', x=df_basin_yearly_gwh_div_ssp_mean.index, \n", + " y=df_basin_yearly_gwh_div_ssp_mean['ssp585'],\n", + " mode='lines', line=dict(color='rgb(31, 119, 180)'),), row=1, col=1)\n", + " \n", + " fig.add_trace(go.Scatter(name='Upper Bound', x=df_basin_yearly_gwh_div_ssp_upper.index, \n", + " y=df_basin_yearly_gwh_div_ssp_upper['ssp585'],\n", + " mode='lines',marker=dict(color=\"#444\"),line=dict(width=0),showlegend=False), row=1, col=1)\n", + " \n", + " fig.add_trace(go.Scatter(name='Lower Bound', x=df_basin_yearly_gwh_div_ssp_lower.index, \n", + " y=df_basin_yearly_gwh_div_ssp_lower['ssp585'],marker=dict(color=\"#444\"), \n", + " line=dict(width=0), mode='lines', fillcolor='rgba(31, 119, 180, 0.3)',fill='tonexty', showlegend=False), row=1, col=1)\n", + " \n", + " \n", + " fig.update_yaxes( tickformat='.0f') #type='log', \n", + " \n", + " fig.update_layout(font = dict(size=12),width=800, height=250,\n", + " yaxis1 = dict(title=\"Annual hydropower
availability (GWh/yr)\"),\n", + " plot_bgcolor='#f5f5f5',#legend_traceorder=\"reversed\",#showlegend=False)\n", + " legend=dict(yanchor=\"top\",y=0.57,xanchor=\"left\", x=1.00), \n", + " margin=dict(l=10,r=10,b=10,t=15))\n", + " \n", + " fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "60" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(df_basin_yearly_gwh_stor)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "for storage-type sites if available" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], "source": [ "if len(df_basin_yearly_gwh_stor)>0:\n", " fig = make_subplots(rows=1, cols=1, shared_xaxes=True, vertical_spacing=0.01)\n", @@ -8219,13 +4653,6 @@ " fig.show()" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "code", "execution_count": null, @@ -8250,7 +4677,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.0" + "version": "3.11.8" } }, "nbformat": 4,